Function at 0x4025a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x23c
mov eax, dword [esp + 0x258]
mov dword [esp + 0x18], 0
test eax, eax
je 0x4025bf
mov dword [eax], 0
push esi
mov esi, dword [esp + 0x244]
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x402a75
cmp dword [esi], 0x474e5353
jne 0x402a75
mov eax, dword [esp + 0x254]
cmp eax, 0x100
ja 0x402a75
test dword [esi + 0x60], 0x80000000
jne 0x40260e
mov eax, 6
pop esi
add esp, 0x23c
ret 0x1c
mov ecx, dword [esi + 8]
push ebx
push ebp
lea ebp, [esi + 0x2c4]
push edi
test ecx, 0x40000000
lea edi, [ebp + 0x2c]
je 0x4027e2
push 5
push edi
call fcn.00403790
mov esi, dword [esp + 0x260]
mov ebx, dword [esp + 0x25c]
lea eax, [edi + 6]
push esi
push eax
mov byte [edi + 5], 0
mov byte [edi + 8], bl
call fcn.00401f00
mov ecx, dword [esp + 0x270]
and bl, 0xf
add esp, 0x10
add ecx, 0x2a
or ebx, 0xf
mov dword [ebp + 4], ecx
mov dword [ebp + 8], ebx
mov dword [ebp], 0
mov eax, 9
test esi, esi
jbe 0x402690
mov ecx, dword [esp + 0x25c]
mov dl, byte [ecx]
inc ecx
mov byte [eax + edi], dl
mov dword [esp + 0x25c], ecx
dec esi
jmp 0x402693
mov byte [eax + edi], al
inc eax
cmp eax, 0x19
jb 0x402675
mov eax, edi
mov ebx, dword [esp + 0x250]
mov byte [edi + 0x19], 1
mov byte [esp + 0x13], 2
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
lea ecx, [ebx + 0x48]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x7c]
push eax
push ecx
mov dword [esp + 0x2c], edx
call fcn.00401ea0
lea edx, [esp + 0x20]
lea eax, [esp + 0x84]
push edx
push eax
call fcn.00404bf0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, edi
mov dword [ecx], edx
mov dx, word [esp + 0x30]
mov dword [ecx + 4], eax
lea eax, [edi + 0x10]
mov word [ecx + 8], dx
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x28]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x30], edx
lea edx, [esp + 0x90]
mov ax, word [eax + 8]
push edx
mov word [esp + 0x38], ax
call fcn.00404bf0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
lea eax, [edi + 0xa]
add esp, 0x18
add edi, 0x1a
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov ecx, 0x20
mov dword [esp + 0x14], ecx
mov dword [eax + 0xc], edx
lea eax, [edi - 0x10]
mov dword [esp + 0x2c], eax
test esi, esi
ja 0x402766
test cl, 0x3f
je 0x4027da
xor eax, eax
test esi, esi
jbe 0x402787
mov ecx, dword [esp + 0x25c]
mov dl, byte [ecx]
inc ecx
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax + edi], dl
dec esi
jmp 0x40278e
mov dl, cl
add dl, al
mov byte [eax + edi], dl
inc eax
cmp eax, 0xf
jb 0x402768
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0x13]
push ecx
push edi
mov byte [ecx + 0x1f], al
inc al
mov byte [esp + 0x1b], al
call fcn.00402560
lea eax, [esp + 0x84]
push edi
push eax
call fcn.00404bf0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov eax, 0x10
add esp, 0x10
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ecx
jmp 0x40275d
add ecx, 0xfffffffa
mov dword [ebp], ecx
jmp 0x402815
mov ecx, dword [esp + 0x254]
mov esi, dword [esp + 0x25c]
mov dword [ebp + 8], ecx
mov ecx, dword [esp + 0x258]
mov dword [ebp], ecx
mov edx, ecx
shr ecx, 2
mov dword [ebp + 4], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [esp + 0x250]
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x402864
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
add ecx, 0x2c
add edx, 0x20
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
lea edi, [ebx + 0x1a4]
push edx
push eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x44], edi
call fcn.0040a1d0
add esp, 0xc
test eax, eax
jne 0x402a68
mov eax, dword [edi]
add eax, 0x20
mov dword [esp + 0x28], eax
jmp 0x402899
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
lea eax, [esp + 0x28]
add ecx, 0x20
push eax
lea edi, [ebx + 0x1a4]
push ecx
add edx, 0x2c
push edi
push edx
push ebp
add ebx, 0x58
push 0x220008
push ebx
call fcn.004039e0
test eax, eax
jne 0x402a68
mov eax, dword [esp + 0x28]
mov ebx, dword [edi]
lea ecx, [ebx + 0x20]
cmp eax, ecx
jb 0x402a18
mov dl, byte [edi + 0x1e]
push edx
call fcn.00402370
lea esi, [edi + 0x20]
cmp eax, 0xfffffffe
mov dword [esp + 0x14], esi
jne 0x402957
mov ecx, dword [esp + 0x250]
test dword [ecx + 8], 0x40000000
je 0x402a68
cmp ebx, 0x20
jb 0x402a18
test bl, 0xf
jne 0x402a18
lea eax, [ebx - 0x10]
cmp eax, 0x10
jb 0x402916
lea edi, [eax + esi]
shr eax, 4
mov esi, eax
lea edx, [esp + 0x7c]
push edi
push edx
call fcn.00404bf0
lea ebx, [edi - 0x10]
push ebx
push edi
call fcn.00402560
add esp, 0x10
dec esi
mov edi, ebx
jne 0x4028f5
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x7c]
push esi
push eax
call fcn.00404bf0
mov ecx, dword [esp + 0x1c]
add esp, 8
lea eax, [ecx + 8]
mov cl, byte [ecx + 8]
test cl, 0x80
je 0x40293d
push ecx
xor ebx, ebx
call fcn.00402370
jmp 0x40294a
push eax
call fcn.00401ef0
add esp, 4
mov ebx, eax
xor eax, eax
mov ecx, dword [esp + 0x14]
add ecx, 0xa
mov dword [esp + 0x14], ecx
mov esi, ecx
cmp eax, 0xffffffff
jne 0x402a2a
mov ecx, 0x47
xor eax, eax
lea edi, [esp + 0x130]
lea edx, [esp + 0x18]
mov dword [esp + 0x12c], 0
push edx
rep stosd dword es:[edi], eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov al, byte [esp + 0x18]
mov cl, byte [esp + 0x1a]
mov dl, byte [esp + 0x1e]
add al, 0x30
mov byte [esp + 0x74], al
mov al, byte [esp + 0x20]
dec cl
dec dl
mov byte [esp + 0x75], cl
mov cl, byte [esp + 0x22]
mov byte [esp + 0x77], al
mov byte [esp + 0x76], dl
mov dl, byte [esp + 0x24]
lea eax, [esp + 0x28]
mov byte [esp + 0x78], cl
push eax
mov eax, dword [esp + 0x254]
lea ecx, [esp + 0x130]
mov byte [esp + 0x7d], dl
push 0x120
push ecx
lea edx, [esp + 0x54]
push 0x34
push edx
add eax, 0x58
push 0x220008
push eax
call fcn.004039e0
test eax, eax
jne 0x402a68
mov ecx, dword [esp + 0x14a]
push ecx
call fcn.00402370
test eax, eax
jne 0x402a68
jmp 0x40280e
pop edi
pop ebp
pop ebx
mov eax, 0x28
pop esi
add esp, 0x23c
ret 0x1c
test eax, eax
jne 0x402a68
mov ecx, dword [esp + 0x260]
test ecx, ecx
jbe 0x402a68
cmp ecx, ebx
jbe 0x402a46
mov dword [esp + 0x260], ebx
mov ecx, ebx
mov edx, dword [esp + 0x268]
test edx, edx
je 0x402a53
mov dword [edx], ecx
mov edi, dword [esp + 0x264]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x23c
ret 0x1c
mov eax, 0xc
pop esi
add esp, 0x23c
ret 0x1c