Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _Unit124::sub_00687198
- 00687198 push ebp
- 00687199 mov ebp,esp
- 0068719B add esp,0FFFFFF94
- 0068719E push ebx
- 0068719F push esi
- 006871A0 push edi
- 006871A1 xor ebx,ebx
- 006871A3 mov dword ptr [ebp-6C],ebx
- 006871A6 mov dword ptr [ebp-68],ebx
- 006871A9 mov dword ptr [ebp-14],ebx
- 006871AC mov esi,ecx
- 006871AE mov dword ptr [ebp-8],edx
- 006871B1 mov dword ptr [ebp-4],eax
- 006871B4 xor eax,eax
- 006871B6 push ebp
- 006871B7 push 6874B1
- 006871BC push dword ptr fs:[eax]
- 006871BF mov dword ptr fs:[eax],esp
- 006871C2 mov eax,esi
- 006871C4 call @LStrClr
- 006871C9 mov eax,dword ptr [ebp-8]
- 006871CC call @LStrLen
- 006871D1 and eax,80000007
- >006871D6 jns 006871DD
- 006871D8 dec eax
- 006871D9 or eax,0FFFFFFF8
- 006871DC inc eax
- 006871DD test eax,eax
- >006871DF jne 0068748E
- 006871E5 cmp dword ptr [ebp-8],0
- >006871E9 je 0068748E
- 006871EF xor eax,eax
- 006871F1 mov dword ptr [ebp-0C],eax
- 006871F4 xor ecx,ecx
- 006871F6 mov dl,1
- 006871F8 mov eax,[0066E474]; TDCP_blowfish
- 006871FD call TDCP_blockcipher.Create; TDCP_blowfish.Create
- 00687202 mov dword ptr [ebp-10],eax
- 00687205 xor eax,eax
- 00687207 push ebp
- 00687208 push 687468
- 0068720D push dword ptr fs:[eax]
- 00687210 mov dword ptr fs:[eax],esp
- 00687213 lea ecx,[ebp-68]
- 00687216 mov dl,1
- 00687218 mov eax,1A
- 0068721D call 006511EC
- 00687222 lea eax,[ebp-68]
- 00687225 mov edx,6874C8; '\\Mra\\Update\\ver.txt'
- 0068722A call @LStrCat
- 0068722F mov ecx,dword ptr [ebp-68]
- 00687232 mov dl,1
- 00687234 mov eax,[0064CC54]; TDrvFileStream
- 00687239 call TDrvFileStream.Create; TDrvFileStream.Create
- 0068723E mov dword ptr [ebp-0C],eax
- 00687241 lea edx,[ebp-64]
- 00687244 mov ecx,38
- 00687249 mov eax,dword ptr [ebp-0C]
- 0068724C mov ebx,dword ptr [eax]
- 0068724E call dword ptr [ebx+0C]; TDrvFileStream.Read
- 00687251 lea eax,[ebp-14]
- 00687254 call @LStrClr
- 00687259 mov ebx,38
- 0068725E lea edi,[ebp-64]
- 00687261 lea eax,[ebp-6C]
- 00687264 mov dl,byte ptr [edi]
- 00687266 call @LStrFromChar
- 0068726B mov edx,dword ptr [ebp-6C]
- 0068726E lea eax,[ebp-14]
- 00687271 call @LStrCat
- 00687276 inc edi
- 00687277 dec ebx
- <00687278 jne 00687261
- 0068727A push 0
- 0068727C mov eax,dword ptr [ebp-14]
- 0068727F call @LStrLen
- 00687284 shl eax,3
- 00687287 push eax
- 00687288 lea eax,[ebp-14]
- 0068728B call 00504E7C
- 00687290 mov edx,eax
- 00687292 mov eax,dword ptr [ebp-10]
- 00687295 pop ecx
- 00687296 mov ebx,dword ptr [eax]
- 00687298 call dword ptr [ebx+40]; TDCP_blowfish.sub_0066B9D0
- 0068729B xor eax,eax
- 0068729D push ebp
- 0068729E push 687447
- 006872A3 push dword ptr fs:[eax]
- 006872A6 mov dword ptr fs:[eax],esp
- 006872A9 mov eax,esi
- 006872AB mov edx,dword ptr [ebp-8]
- 006872AE call @LStrAsg
- 006872B3 mov eax,dword ptr [ebp-8]
- 006872B6 call @LStrLen
- 006872BB test eax,eax
- >006872BD jns 006872C2
- 006872BF add eax,7
- 006872C2 sar eax,3
- 006872C5 test eax,eax
- >006872C7 jle 00687365
- 006872CD mov dword ptr [ebp-2C],eax
- 006872D0 mov ebx,1
- 006872D5 mov eax,ebx
- 006872D7 shl eax,3
- 006872DA mov edx,dword ptr [ebp-8]
- 006872DD lea eax,[edx+eax-8]
- 006872E1 mov edx,dword ptr [eax]
- 006872E3 mov dword ptr [ebp-20],edx
- 006872E6 mov edx,dword ptr [eax+4]
- 006872E9 mov dword ptr [ebp-1C],edx
- 006872EC lea eax,[ebp-20]
- 006872EF add eax,4
- 006872F2 mov eax,dword ptr [eax]
- 006872F4 call 00651B14
- 006872F9 lea edx,[ebp-20]
- 006872FC add edx,4
- 006872FF mov dword ptr [edx],eax
- 00687301 lea eax,[ebp-20]
- 00687304 mov eax,dword ptr [eax]
- 00687306 call 00651B14
- 0068730B lea edx,[ebp-20]
- 0068730E mov dword ptr [edx],eax
- 00687310 lea ecx,[ebp-28]
- 00687313 lea edx,[ebp-20]
- 00687316 mov eax,dword ptr [ebp-10]
- 00687319 mov edi,dword ptr [eax]
- 0068731B call dword ptr [edi+74]; TDCP_blowfish.sub_0066EE84
- 0068731E lea eax,[ebp-28]
- 00687321 mov edi,dword ptr [eax]
- 00687323 lea eax,[ebp-28]
- 00687326 add eax,4
- 00687329 mov eax,dword ptr [eax]
- 0068732B call 00651B14
- 00687330 lea edx,[ebp-28]
- 00687333 mov dword ptr [edx],eax
- 00687335 mov eax,edi
- 00687337 call 00651B14
- 0068733C lea edx,[ebp-28]
- 0068733F add edx,4
- 00687342 mov dword ptr [edx],eax
- 00687344 mov eax,ebx
- 00687346 shl eax,3
- 00687349 mov edx,dword ptr [ebp-8]
- 0068734C lea eax,[edx+eax-8]
- 00687350 mov edx,dword ptr [ebp-28]
- 00687353 mov dword ptr [eax],edx
- 00687355 mov edx,dword ptr [ebp-24]
- 00687358 mov dword ptr [eax+4],edx
- 0068735B inc ebx
- 0068735C dec dword ptr [ebp-2C]
- <0068735F jne 006872D5
- 00687365 mov eax,esi
- 00687367 call 00504E7C
- 0068736C mov ebx,dword ptr [eax]
- 0068736E mov eax,dword ptr [esi]
- 00687370 call @LStrLen
- 00687375 add ebx,8
- 00687378 cmp eax,ebx
- >0068737A jge 00687395
- 0068737C mov edx,1
- 00687381 mov eax,dword ptr [ebp-4]
- 00687384 call 006618A4
- 00687389 mov eax,esi
- 0068738B call @LStrClr
- >00687390 jmp 0068743D
- 00687395 mov eax,esi
- 00687397 mov ecx,8
- 0068739C mov edx,1
- 006873A1 call @LStrDelete
- 006873A6 mov eax,dword ptr [esi]
- 006873A8 call @LStrLen
- 006873AD test eax,eax
- >006873AF jns 006873B4
- 006873B1 add eax,7
- 006873B4 sar eax,3
- 006873B7 test eax,eax
- >006873B9 jle 0068742B
- 006873BB mov dword ptr [ebp-2C],eax
- 006873BE mov ebx,1
- 006873C3 mov eax,esi
- 006873C5 call 00504E7C
- 006873CA mov edx,ebx
- 006873CC shl edx,3
- 006873CF lea eax,[eax+edx-8]
- 006873D3 mov edi,dword ptr [eax]
- 006873D5 mov eax,esi
- 006873D7 call 00504E7C
- 006873DC mov edx,ebx
- 006873DE shl edx,3
- 006873E1 sub edx,7
- 006873E4 lea eax,[eax+edx+3]
- 006873E8 push dword ptr [eax]
- 006873EA mov eax,esi
- 006873EC call 00504E7C
- 006873F1 mov edx,ebx
- 006873F3 shl edx,3
- 006873F6 lea eax,[eax+edx-8]
- 006873FA pop edx
- 006873FB mov dword ptr [eax],edx
- 006873FD mov eax,esi
- 006873FF call 00504E7C
- 00687404 mov edx,ebx
- 00687406 shl edx,3
- 00687409 sub edx,7
- 0068740C lea eax,[eax+edx+3]
- 00687410 mov dword ptr [eax],edi
- 00687412 inc ebx
- 00687413 dec dword ptr [ebp-2C]
- <00687416 jne 006873C3
- >00687418 jmp 0068742B
- 0068741A mov eax,esi
- 0068741C mov ecx,1
- 00687421 mov edx,1
- 00687426 call @LStrDelete
- 0068742B mov eax,dword ptr [esi]
- 0068742D call @LStrLen
- 00687432 test eax,eax
- >00687434 jle 0068743D
- 00687436 mov eax,dword ptr [esi]
- 00687438 cmp byte ptr [eax],0
- <0068743B je 0068741A
- 0068743D xor eax,eax
- 0068743F pop edx
- 00687440 pop ecx
- 00687441 pop ecx
- 00687442 mov dword ptr fs:[eax],edx
- >00687445 jmp 0068745E
- <00687447 jmp @HandleAnyException
- 0068744C mov edx,1
- 00687451 mov eax,dword ptr [ebp-4]
- 00687454 call 006618A4
- 00687459 call @DoneExcept
- 0068745E xor eax,eax
- 00687460 pop edx
- 00687461 pop ecx
- 00687462 pop ecx
- 00687463 mov dword ptr fs:[eax],edx
- >00687466 jmp 0068747E
- <00687468 jmp @HandleAnyException
- 0068746D xor edx,edx
- 0068746F mov eax,6874E4; 'Cannot read MRA key file'
- 00687474 call 00650D0C
- 00687479 call @DoneExcept
- 0068747E lea eax,[ebp-10]
- 00687481 call 00651A50
- 00687486 lea eax,[ebp-0C]
- 00687489 call 00651A50
- 0068748E xor eax,eax
- 00687490 pop edx
- 00687491 pop ecx
- 00687492 pop ecx
- 00687493 mov dword ptr fs:[eax],edx
- 00687496 push 6874B8
- 0068749B lea eax,[ebp-6C]
- 0068749E mov edx,2
- 006874A3 call @LStrArrayClr
- 006874A8 lea eax,[ebp-14]
- 006874AB call @LStrClr
- 006874B0 ret
- <006874B1 jmp @HandleFinally
- <006874B6 jmp 0068749B
- 006874B8 pop edi
- 006874B9 pop esi
- 006874BA pop ebx
- 006874BB mov esp,ebp
- 006874BD pop ebp
- 006874BE ret
Add Comment
Please, Sign In to add comment