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

Disassembly:
sub esp, 0x49c
push ebx
push ebp
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x14], 0
je 0x428816
mov eax, 0x40000
jmp 0x428a80
cmp byte [edi + 0x2c], 0
je 0x428826
mov eax, 0x50000
jmp 0x428a80
mov esi, dword [edi]
lea eax, [esp + 0x3a0]
push dword [esp + 0x4b0]
neg esi
push eax
sbb esi, esi
and esi, 0xc
mov dword [esp + 0x2c], esi
call fcn.00411bf0
pop ecx
pop ecx
mov cl, byte [esp + 0x3a0]
test cl, cl
jne 0x42885e
mov eax, 0x10000
jmp 0x428a80
lea eax, [esp + 0x3a0]
cmp cl, 0x5c
jne 0x42886d
mov byte [eax], 0x2f
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x428865
lea ecx, [esp + 0x3a0]
call fcn.00429710
push dword [esp + 0x4b8]
movzx ebp, al
mov ecx, edi
push dword [esp + 0x4b8]
xor ebp, 1
shl ebp, 3
call fcn.00428f84
test eax, eax
jne 0x428a80
and dword [esp + 0x39c], eax
mov ebx, 0x433e3f
lea eax, [esp + 0x78]
push ebx
push eax
call fcn.00411bf0
lea eax, [esp + 0x3a8]
push eax
lea eax, [esp + 0x194]
push eax
call fcn.00411bf0
lea eax, [esp + 0x198]
push eax
call fcn.0040f850
add esp, 0x14
mov dword [esp + 0x58], eax
lea eax, [esp + 0x28c]
push ebx
push eax
call fcn.00411bf0
pop ecx
xor eax, eax
mov dword [esp + 0x394], 1
pop ecx
mov word [esp + 0x6a], ax
xor edx, edx
mov eax, 0xb17
mov dword [esp + 0x184], edx
push 0x14
mov word [esp + 0x44], ax
pop eax
mov word [esp + 0x42], ax
mov eax, dword [edi + 0x68]
push 8
mov dword [esp + 0x4c], eax
pop eax
push 9
mov dword [esp + 0x68], edx
mov dword [esp + 0x39c], edx
mov dword [esp + 0x50], edx
mov word [esp + 0x48], ax
pop ebx
cmp dword [edi], edx
je 0x42894f
mov eax, ebx
mov word [esp + 0x44], ax
mov word [esp + 0x6c], ax
lea ecx, [edi + 0x70]
mov word [esp + 0x46], bp
test ebp, ebp
jne 0x42896e
mov eax, dword [ecx]
test eax, eax
js 0x42896e
add eax, esi
mov dword [esp + 0x50], eax
jmp 0x428972
mov dword [esp + 0x50], edx
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
xor eax, eax
mov word [esp + 0x68], ax
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x10]
add eax, dword [edi + 0x18]
mov edx, dword [edi + 0x5c]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x180], eax
mov al, byte [edi + 0x58]
mov byte [esp + 0x15], al
mov eax, edx
mov dword [esp + 0x60], ebx
mov ebx, dword [edi + 0x58]
mov ecx, ebx
shrd ecx, eax, 8
mov eax, edx
mov dword [esp + 0x5c], 0x11
mov byte [esp + 0x16], cl
mov ecx, ebx
shrd ecx, eax, 0x10
mov al, byte [edi + 0x50]
shrd ebx, edx, 0x18
mov edx, dword [edi + 0x54]
mov byte [esp + 0x19], al
mov eax, edx
mov byte [esp + 0x17], cl
mov byte [esp + 0x18], bl
mov ebx, dword [edi + 0x50]
mov ecx, ebx
shrd ecx, eax, 8
mov eax, edx
mov dword [esp + 0x10], 0xd5455
mov byte [esp + 0x1a], cl
mov ecx, ebx
shrd ecx, eax, 0x10
mov al, byte [edi + 0x60]
shrd ebx, edx, 0x18
mov edx, dword [edi + 0x64]
mov byte [esp + 0x1d], al
mov eax, edx
mov byte [esp + 0x1b], cl
mov byte [esp + 0x1c], bl
mov ebx, dword [edi + 0x60]
mov ecx, ebx
shrd ecx, eax, 8
mov eax, edx
mov byte [esp + 0x14], 7
mov byte [esp + 0x1e], cl
mov ecx, ebx
shrd ecx, eax, 0x10
push 9
lea eax, [esp + 0x14]
mov byte [esp + 0x23], cl
push eax
shrd ebx, edx, 0x18
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x2c], bl
call fcn.0040b930
mov eax, dword [esp + 0x18c]
lea ecx, [esp + 0x4c]
add esp, 0xc
mov byte [eax + 2], 5
push edi
call fcn.00429fff
pop ecx
test eax, eax
je 0x428a8d
mov ecx, edi
call fcn.00428dfe
mov eax, 0x400
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret 0x10
mov eax, dword [esp + 0x5c]
add eax, 0x1e
add eax, dword [esp + 0x58]
add dword [edi + 0x18], eax
cmp dword [edi + 0x14], 0
je 0x428aad
mov ecx, edi
call fcn.00428dfe
mov eax, dword [edi + 0x14]
jmp 0x428a80
mov dword [edi + 0x30], 0x12345678
mov dword [edi + 0x34], 0x23456789
mov dword [edi + 0x38], 0x34567890
mov ebx, dword [edi]
test ebx, ebx
je 0x428adb
mov dl, byte [ebx]
test dl, dl
je 0x428adb
lea ecx, [edi + 0x30]
call fcn.0042986d
add ebx, 1
jne 0x428ac8
cmp byte [0x4397cc], 0
jne 0x428afd
call fcn.0040a053
call eax
mov esi, eax
call fcn.0040a05b
call eax
xor esi, eax
push esi
call fcn.00411bd0
pop ecx
xor ebx, ebx
call fcn.00411baf
sar eax, 7
mov byte [esp + ebx + 0x28], al
inc ebx
cmp ebx, 0xc
jl 0x428aff
mov eax, dword [esp + 0x48]
shr eax, 8
xor ebx, ebx
mov byte [esp + 0x33], al
mov dl, byte [esp + ebx + 0x28]
lea ecx, [edi + 0x30]
call fcn.0042983b
mov byte [esp + ebx + 0x28], al
inc ebx
cmp ebx, 0xc
jl 0x428b1e
cmp dword [edi], 0
mov esi, dword [esp + 0x24]
je 0x428b51
push 0xc
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.0042933a
add esp, 0xc
add dword [edi + 0x18], 0xc
xor ebx, ebx
cmp dword [edi], ebx
setne al
mov byte [edi + 0x2d], al
cmp ebp, 8
jne 0x428b6e
lea eax, [esp + 0x40]
mov ecx, edi
push eax
call fcn.00428d25
jmp 0x428b79
test ebp, ebp
jne 0x428b7b
mov ecx, edi
call fcn.00428cda
mov ebx, eax
mov ecx, edi
mov byte [edi + 0x2d], 0
call fcn.00428dfe
mov ecx, dword [edi + 0x90]
add dword [edi + 0x18], ecx
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x428a80
test ebx, ebx
jne 0x428a7b
mov eax, dword [edi + 0x78]
add ecx, esi
cmp dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x70]
sete dl
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
cmp byte [edi + 0x1c], bl
je 0x428c24
cmp dword [edi], ebx
jne 0x428c24
mov ax, word [esp + 0x44]
mov word [esp + 0x46], bp
test al, 1
jne 0x428be1
mov ecx, 0xfff7
and ax, cx
mov word [esp + 0x44], ax
mov word [esp + 0x6c], ax
mov ecx, edi
mov eax, dword [esp + 0x74]
sub eax, dword [edi + 0x10]
push eax
call fcn.00429217
test al, al
je 0x428c1a
push edi
lea ecx, [esp + 0x44]
call fcn.00429fff
pop ecx
test eax, eax
jne 0x428a7b
push dword [edi + 0x18]
mov ecx, edi
call fcn.00429217
test al, al
jne 0x428c5c
mov eax, 0x2000000
jmp 0x428a80
cmp word [esp + 0x46], bp
jne 0x428cd0
test ebp, ebp
jne 0x428c3b
test dl, dl
je 0x428cd0
push edi
lea ecx, [esp + 0x44]
call fcn.00429ecf
pop ecx
test eax, eax
jne 0x428a7b
mov ax, word [esp + 0x6c]
add dword [edi + 0x18], 0x10
mov word [esp + 0x44], ax
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x428a80
push dword [esp + 0x60]
call fcn.0040adbd
pop ecx
push dword [esp + 0x60]
mov esi, eax
push dword [esp + 0x184]
push esi
call fcn.0040b930
add esp, 0xc
mov dword [esp + 0x180], esi
mov ebx, 0x360
push ebx
call fcn.0040ab06
pop ecx
mov esi, eax
lea eax, [esp + 0x40]
push ebx
push eax
push esi
call fcn.0040b930
mov ecx, dword [edi + 0x44]
add esp, 0xc
test ecx, ecx
jne 0x428cb9
mov dword [edi + 0x44], esi
jmp 0x428cc9
mov ecx, eax
mov eax, dword [ecx + 0x35c]
test eax, eax
jne 0x428cb7
mov dword [ecx + 0x35c], esi
xor eax, eax
jmp 0x428a80
mov eax, 0x4000000
jmp 0x428a80