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

Disassembly:
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00425d50
xor ebx, ebx
mov dword [esp + 0x10], eax
cmp eax, ebx
jle 0x4254a6
movsx eax, word [esi + 0x14]
movsx ecx, word [esi + 0x10]
sub eax, ecx
mov cx, word [esi + 0x12]
movsx edi, word [esi + 0x16]
movsx edx, word [esi + 0x12]
inc eax
sub edi, edx
mov dword [esp + 0x40], eax
mov ax, word [esi + 0x10]
mov word [esp + 0x2c], ax
mov eax, dword [esi + 0x18]
add eax, 0x10
mov word [esp + 0x2e], cx
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esi + 0x2a4]
mov dx, word [eax]
sub edi, ebp
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 + 0x2e]
mov word [esp + 0x18], dx
add eax, ecx
push 0x6b1210
mov word [esp + 0x1e], ax
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x38]
inc edi
push eax
push ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], edx
call fcn.004724f0
movsx eax, word [eax + 2]
mov ecx, dword [esi + 0x1f8]
sub eax, ebp
mov ebp, dword [esi + 0x2e8]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x1fc]
add esp, 0xc
sar ebp, 2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
sub eax, ecx
and ebp, 3
inc eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + ebp*4 + 0x54]
mov edx, 1
mov dword [esp + 0x34], edx
mov dword [esi + 0x1f8], eax
mov eax, dword [esp + ebp*4 + 0x34]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + ebp*4 + 0x60]
mov dword [esp + 0x88], edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov edx, dword [esp + ebp*4 + 0x6c]
dec eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x78], ebx
mov dword [esp + 0x20], ebx
mov dword [esi + 0xbc], edx
mov dword [esi + 0x1fc], ecx
mov dword [esp + ebp*4 + 0x34], eax
mov edx, eax
mov dword [esp + 0x2c], edx
js 0x425488
cmp edi, ebx
jle 0x425488
cmp dword [esp + 0x10], ebx
jl 0x425488
mov ecx, esi
call fcn.00425840
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x24], ebx
jl 0x425413
test edi, edi
jle 0x425413
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
js 0x425413
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x4250e7
mov eax, dword [esp + 0x94]
test eax, eax
je 0x425413
push ebx
mov ecx, esi
call fcn.0043a000
mov edi, eax
shl edi, 5
call fcn.00412fb0
add edi, eax
lea ecx, [esi + 0x1f0]
push edi
call fcn.00414800
test eax, eax
je 0x425112
xor ebp, ebp
jmp 0x4253d4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + ebp*4 + 0x78]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jg 0x425133
mov eax, dword [esp + 0x10]
inc eax
xor ebp, ebp
mov dword [esp + 0x10], eax
jmp 0x4253d4
movsx eax, word [edi]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov eax, dword [0x5c48e4]
shl edx, 4
mov ecx, dword [edx + eax + 0x30]
movsx eax, word [esi + 0x1e0]
mov edx, dword [ecx]
push eax
mov dword [esp + 0x38], ecx
call dword [edx + 0x10]
mov ebp, eax
test ebp, ebp
jg 0x425191
xor eax, eax
mov ecx, dword [esp + 0x34]
mov al, byte [esi + 0x2eb]
push eax
mov edx, dword [ecx]
movsx eax, byte [esi + 0x1e2]
push eax
movsx eax, word [esi + 0x1e0]
push eax
lea eax, [esp + 0x50]
push eax
call dword [edx + 0x18]
movsx ebp, word [eax + 6]
movsx ecx, word [eax + 2]
sub ebp, ecx
inc ebp
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x4252ec
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x20
jl 0x4251c2
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x24
jl 0x425230
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe6
jl 0x4251e8
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x425230
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x34
jl 0x42520a
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x38
jl 0x425230
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x42523c
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xea
jg 0x42523c
cmp ebx, dword [esi + 0x3a0]
je 0x4252ec
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x20
jl 0x425262
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x24
jl 0x4253d0
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe6
jl 0x42528c
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x4253d0
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x34
jl 0x4252b2
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x38
jl 0x4253d0
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe8
jl 0x4252dc
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xea
jle 0x4253d0
mov eax, dword [esp + 0x18]
sub eax, ebp
mov dword [esp + 0x18], eax
jns 0x4253d0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
push ebp
push edx
push eax
push 0
lea ecx, [esp + 0x5c]
call fcn.004b4a60
mov ecx, dword [eax]
mov dword [esi + 0x3a4], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x94]
test eax, eax
mov dword [esi + 0x3a8], edx
jne 0x425324
mov dword [esi + 0x3a0], ebx
mov eax, dword [esi + 0x18]
push 0
push eax
mov edx, dword [0x5c48e4]
movsx eax, word [edi]
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*4]
shl ecx, 4
add ecx, edx
call fcn.00412570
mov dl, byte [edi + 2]
shr edx, 1
test dl, 1
jne 0x4253c3
lea eax, [edi + 0x10]
push 0
push eax
call fcn.004c3950
mov cl, byte [edi + 2]
add esp, 8
movsx eax, word [edi]
or cl, 2
mov byte [edi + 2], cl
mov edx, dword [0x5c48e4]
lea ecx, [eax + eax*2]
lea ecx, [eax + ecx*4]
shl ecx, 4
add ecx, edx
call fcn.00411670
call fcn.00411690
call fcn.00413020
mov edx, dword [0x56c310]
sub edx, ebx
lea ebx, [eax + edx + 1]
call fcn.00413020
mov ecx, eax
mov eax, ebx
cdq
idiv ecx
mov ebx, dword [esp + 0x24]
push 1
mov ecx, esi
push edx
push ebx
call fcn.0043a000
push eax
call fcn.00413ec0
mov edx, dword [esi + 8]
add esp, 0xc
and dh, 0xfe
or dh, 2
mov dword [esi + 8], edx
mov eax, dword [esp + 0x94]
test eax, eax
je 0x42544c
jmp 0x4253d4
sub dword [esp + 0x14], ebp
mov eax, dword [esi + 0x1f0]
push 1
and eax, 0x10000
mov ecx, esi
neg eax
sbb eax, eax
and eax, 2
dec eax
add eax, ebx
push eax
call fcn.00427340
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebx, eax
add ecx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
test ebx, ebx
mov dword [esp + 0x1c], ecx
jge 0x4250b9
mov eax, dword [esp + ebp*4 + 0x84]
mov ebx, dword [esi + 0x1f8]
mov edx, dword [esi + 0x1fc]
add ebx, eax
add edx, eax
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esi + 0x1f8], ebx
mov dword [esi + 0x1fc], edx
mov dword [esp + 0x2c], eax
mov dword [esp + ebp*4 + 0x34], eax
js 0x425488
xor ebx, ebx
jmp 0x425092
push edi
lea ecx, [esi + 0x368]
call fcn.00423ed0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x1f8], ecx
mov dword [esi + 0x1fc], edx
mov dword [esi + 0xbc], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x80
ret 4
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x1f8], ecx
mov dword [esi + 0x1fc], edx
mov dword [esi + 0xbc], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x80
ret 4