Function at 0x402490
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x480
mov eax, dword [0x4c9890]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0xc]
push 0x4a314c
push eax
mov dword [ebp - 0x47c], ecx
call fcn.00487587
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4024e6
push str._GetMD5__Fail_to_open_file
call fcn.00413860
add esp, 4
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00487c50
mov esp, ebp
pop ebp
ret 0xc
push str.Cryptdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x470], eax
test eax, eax
jne 0x40251a
push str._GetMD5__Fail_to_LoadLibrary
call fcn.00413860
add esp, 4
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00487c50
mov esp, ebp
pop ebp
ret 0xc
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MD5Init
push eax
call edi
push str.MD5Update
push dword [ebp - 0x470]
mov dword [ebp - 0x474], eax
call edi
push str.MD5Final
push dword [ebp - 0x470]
mov dword [ebp - 0x478], eax
call edi
mov ecx, eax
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x480], ecx
test eax, eax
je 0x402723
cmp dword [ebp - 0x478], 0
je 0x402723
test ecx, ecx
je 0x402723
lea ecx, [ebp - 0x46c]
push ecx
call eax
push ebx
push 0x400
lea eax, [ebp - 0x404]
push 1
push eax
mov dword [ebp - 0x470], 0
call fcn.00487977
mov edi, eax
add esp, 0x10
cmp edi, 0x400
jne 0x402677
push ebx
call fcn.0048778e
add esp, 4
test eax, eax
jne 0x402677
add dword [esi + 0x3a0], 0x400
mov edi, dword [esi + 0x378]
adc dword [esi + 0x3a4], eax
test edi, edi
je 0x402639
push eax
push 0x64
push dword [esi + 0x3a4]
push dword [esi + 0x3a0]
call fcn.00488150
push dword [esi + 0x38c]
push dword [esi + 0x388]
push edx
push eax
call fcn.004880a0
mov ecx, eax
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x474], edx
cdq
cmp ecx, eax
jne 0x40261f
cmp dword [ebp - 0x474], edx
je 0x402639
push dword [esi + 0x37c]
mov dword [ebp - 0x470], ecx
push 0
push 0
push 0x47b
call edi
add esp, 0x10
push 0x400
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x46c]
push eax
call dword [ebp - 0x478]
push ebx
push 0x400
lea eax, [ebp - 0x404]
push 1
push eax
call fcn.00487977
mov edi, eax
add esp, 0x10
cmp edi, 0x400
je 0x4025b2
test edi, edi
je 0x4026ae
mov eax, dword [esi + 0x378]
test eax, eax
je 0x402699
push dword [esi + 0x37c]
push 0
push 0
push 0x47b
call eax
add esp, 0x10
push edi
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x46c]
push eax
call dword [ebp - 0x478]
lea eax, [ebp - 0x46c]
push eax
call dword [ebp - 0x480]
push ebx
call fcn.00487717
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x47c]
add esp, 4
xor edi, edi
dec esi
cmp esi, 2
jb 0x4026fd
movzx eax, byte [ebp + edi - 0x414]
push eax
push 0x4a3310
push esi
lea eax, [esi + 1]
push eax
push ebx
call fcn.00486606
inc edi
add esp, 0x14
add ebx, 4
sub esi, 2
cmp edi, 0x10
jl 0x4026d0
push dword [ebp - 0x47c]
push str._GetMd5__MD5:__s
call fcn.00413860
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00487c50
mov esp, ebp
pop ebp
ret 0xc
push str._GetMD5__Fail_to_GetProcAddress
call fcn.00413860
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00487c50
mov esp, ebp
pop ebp
ret 0xc