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

Disassembly:
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00425d50
test eax, eax
mov dword [esp + 0x10], eax
jle 0x425cd7
movsx eax, word [esi + 0x14]
movsx ecx, word [esi + 0x10]
sub eax, ecx
mov cx, word [esi + 0x12]
movsx ebx, word [esi + 0x16]
movsx edx, word [esi + 0x12]
inc eax
sub ebx, edx
mov dword [esp + 0x30], eax
mov ax, word [esi + 0x10]
mov word [esp + 0x28], ax
mov eax, dword [esi + 0x18]
add eax, 0x10
mov word [esp + 0x2a], cx
mov ecx, dword [esp + 0x28]
mov edi, dword [esi + 0x2a4]
mov dx, word [eax]
sub ebx, edi
mov word [esp + 0x34], dx
mov ax, word [eax + 2]
mov word [esp + 0x36], ax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x36]
add edx, ecx
mov ecx, dword [esp + 0x2a]
mov word [esp + 0x18], dx
add eax, ecx
push 0x6b1210
mov word [esp + 0x1e], ax
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
inc ebx
push eax
push ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], edx
call fcn.004724f0
movsx eax, word [eax + 2]
mov ebp, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x1f8]
sub eax, edi
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x1fc]
sar ebp, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
sub eax, ecx
and ebp, 3
xor edi, edi
inc eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + ebp*4 + 0x48]
mov edx, 1
mov dword [esi + 0x1f8], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + ebp*4 + 0x34]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + ebp*4 + 0x54]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov edx, dword [esp + ebp*4 + 0x60]
dec eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x6c], edi
mov dword [esp + 0x24], edi
mov dword [esi + 0xbc], edx
mov dword [esi + 0x1fc], ecx
mov dword [esp + ebp*4 + 0x34], eax
mov edx, eax
mov dword [esp + 0x28], edx
js 0x425cb9
jmp 0x425a06
xor edi, edi
cmp ebx, edi
jle 0x425cb9
cmp dword [esp + 0x10], edi
jl 0x425cb9
mov ecx, esi
call fcn.00425840
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x425c86
jmp 0x425a31
mov eax, dword [esp + 0x14]
test ebx, ebx
jle 0x425c86
mov ecx, dword [esp + 0x10]
dec ecx
mov dword [esp + 0x10], ecx
js 0x425c86
mov ecx, dword [esp + 0x18]
test ecx, ecx
jl 0x425c86
push eax
mov ecx, esi
call fcn.0043a000
mov edi, eax
shl edi, 5
call fcn.00412fb0
add edi, eax
lea ecx, [esi + 0x1f0]
push edi
mov dword [esp + 0x38], edi
call fcn.00414800
test eax, eax
je 0x425a83
xor edi, edi
jmp 0x425c4c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + ebp*4 + 0x6c]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jg 0x425aa4
mov eax, dword [esp + 0x10]
inc eax
xor edi, edi
mov dword [esp + 0x10], eax
jmp 0x425c4c
movsx eax, word [edi]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [0x5c48e4]
shl edx, 4
mov ebx, dword [edx + eax + 0x30]
movsx eax, word [esi + 0x1e0]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov edi, eax
test edi, edi
jg 0x425afe
movsx ecx, byte [esi + 0x1e2]
xor eax, eax
mov edx, dword [ebx]
mov al, byte [esi + 0x2eb]
push eax
push ecx
movsx eax, word [esi + 0x1e0]
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, ebx
call dword [edx + 0x18]
movsx edi, word [eax + 6]
movsx edx, word [eax + 2]
sub edi, edx
inc edi
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x20
jl 0x425b20
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x24
jl 0x425b8e
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe6
jl 0x425b46
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x425b8e
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x34
jl 0x425b68
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x38
jl 0x425b8e
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x425ba0
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xea
jg 0x425ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3a0]
cmp eax, ecx
je 0x425ce1
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x20
jl 0x425bc2
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x24
jl 0x425c40
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe6
jl 0x425be8
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x425c40
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x34
jl 0x425c0a
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x38
jl 0x425c40
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x425c30
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xea
jle 0x425c40
mov eax, dword [esp + 0x18]
sub eax, edi
mov dword [esp + 0x18], eax
js 0x425ce1
mov eax, dword [esp + 0x1c]
sub eax, edi
mov dword [esp + 0x1c], eax
mov ebx, eax
mov ecx, dword [esi + 0x1f0]
mov edx, dword [esp + 0x14]
and ecx, 0x10000
push 1
neg ecx
sbb ecx, ecx
and ecx, 2
dec ecx
add ecx, edx
push ecx
mov ecx, esi
call fcn.00427340
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
add edx, edi
test eax, eax
mov dword [esp + 0x20], edx
jge 0x425a2d
mov eax, dword [esp + ebp*4 + 0x78]
mov edi, dword [esi + 0x1f8]
mov edx, dword [esi + 0x1fc]
add edi, eax
add edx, eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esi + 0x1f8], edi
mov dword [esi + 0x1fc], edx
mov dword [esp + 0x28], eax
mov dword [esp + ebp*4 + 0x34], eax
jns 0x425a04
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x1f8], edx
mov dword [esi + 0x1fc], eax
mov dword [esi + 0xbc], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x74
ret
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push edi
push edx
push eax
push 0
lea ecx, [esp + 0x50]
call fcn.004b4a60
mov ecx, dword [eax]
mov dword [esi + 0x3a4], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x1f8], ecx
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x3a8], edx
mov edx, dword [esp + 0x54]
mov dword [esi + 0x3a0], eax
mov eax, dword [esp + 0x60]
push ecx
lea ecx, [esi + 0x368]
mov dword [esi + 0x1fc], edx
mov dword [esi + 0xbc], eax
call fcn.00423ed0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x74
ret