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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe4
mov eax, dword [0x4b09fc]
xor eax, esp
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x3b
lea edx, [esp + 0xb5]
push 0
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], ecx
mov byte [esp + 0xbc], 0
call fcn.004783d0
mov edi, dword [ebx + 8]
add esp, 0xc
push 0xf
push 0x49b5a4
push ebx
mov dword [esp + 0x34], 0
mov byte [esp + 0x47], 0
mov dword [esp + 0x3c], 8
call fcn.004478d0
mov ecx, dword [edi - 0x10]
mov dword [esp + 0x74], eax
add esp, 0xc
lea eax, [esp + 0x68]
mov dword [esp + 0x70], 4
call fcn.00435db0
mov edx, dword [eax]
mov ecx, dword [ebx + 8]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [ebx + 8], 0x10
mov ecx, dword [ebx + 8]
mov eax, dword [ecx - 8]
cmp eax, 3
je 0x42c80f
cmp eax, 4
jne 0x42c864
mov eax, dword [ecx - 0x10]
add eax, 0x10
lea edi, [esp + 0x80]
call fcn.00447b20
test eax, eax
je 0x42c864
fld qword [esp + 0x80]
mov dword [esp + 0xa8], 3
fstp qword [esp + 0xa0]
mov eax, dword [ebx + 8]
mov ecx, dword [eax - 8]
sub eax, 0x10
cmp ecx, 3
je 0x42c850
cmp ecx, 4
jne 0x42c8f5
mov eax, dword [eax]
add eax, 0x10
lea edi, [esp + 0x78]
call fcn.00447b20
test eax, eax
je 0x42c8f5
fld qword [esp + 0x78]
mov dword [esp + 0x48], 3
fstp qword [esp + 0x40]
lea eax, [esp + 0x40]
fld qword [eax]
fadd qword [0x49deb8]
fstp qword [esp + 0x58]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
add dword [ebx + 8], 0xfffffff0
push 7
push 0x49af84
mov dword [esi], 0
mov edi, dword [ebx + 8]
push ebx
call fcn.004478d0
mov ecx, dword [edi - 0x10]
mov dword [esp + 0x9c], eax
add esp, 0xc
lea eax, [esp + 0x90]
mov dword [esp + 0x98], 4
call fcn.00435db0
mov edx, dword [eax]
mov ecx, dword [ebx + 8]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [ebx + 8], 0x10
mov eax, dword [ebx + 8]
add eax, 0xfffffff0
cmp eax, 0x4990e8
je 0x42c902
cmp dword [eax + 8], 0
jne 0x42c902
push 0x49b6bc
push ebx
mov dword [ebx + 8], eax
call fcn.004237c0
mov eax, dword [ebp + 0x14]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0046eb41
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x30], 0
jmp 0x42c864
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x42c94b
cmp ecx, 7
jne 0x42c920
mov ecx, dword [eax]
cmp dword [ecx + 8], 0
jne 0x42c920
add ecx, 0x18
mov dword [esp + 0x50], ecx
jmp 0x42c954
mov esi, eax
mov edi, ebx
call fcn.00437e00
test eax, eax
jne 0x42c933
mov dword [esp + 0x50], eax
jmp 0x42c954
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x48]
cmp ecx, dword [eax + 0x44]
jb 0x42c945
mov eax, ebx
call fcn.00437bd0
mov eax, dword [ebx + 8]
sub eax, 0x10
mov eax, dword [eax]
add eax, 0x10
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x28]
push eax
lea edi, [esp + 0x3f]
mov dword [esp + 0x2c], edx
call fcn.004263c0
add esp, 4
mov byte [esp + 0x23], al
test al, al
je 0x42daa2
mov esi, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
mov al, byte [esi]
test al, al
je 0x42dae0
lea edx, [esp + 0xb0]
mov byte [esp + 0xb0], al
inc esi
mov dword [esp + 0x28], esi
mov al, byte [esi]
inc edx
cmp al, 0x3b
je 0x42c9c3
test al, al
je 0x42c9c3
cmp al, 0x5b
je 0x42c9f3
mov byte [edx], al
test al, al
jne 0x42c9a3
inc edx
inc esi
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x18]
mov cl, byte [esp + 0x23]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov byte [eax], 0
movzx eax, cl
add eax, 0xffffffbe
cmp eax, 0x37
ja case.0x42c9ec.67
movzx edx, byte [eax + 0x42db7c]
jmp dword [edx*4 + 0x42db4c]
inc esi
mov dword [esp + 0x28], esi
cmp byte [esi], 0x5d
mov dword [esp + 0x24], edx
jne 0x42cacc
mov ecx, edx
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
mov byte [ecx], 0
call fcn.00420ea0
mov al, byte [esp + 0x23]
cmp al, 0x57
je 0x42ca8e
cmp al, 0x77
jne 0x42ca37
or eax, 0xffffffff
mov ecx, ebx
call fcn.004205b0
test eax, eax
jne 0x42ca8e
mov eax, dword [ebx + 8]
sub eax, 0x10
cmp eax, 0x4990e8
je 0x42ca82
cmp dword [eax + 8], 5
jne 0x42ca82
mov edi, 0x49b600
or eax, 0xffffffff
mov esi, ebx
call fcn.00420ea0
push 0xffffffffffffffff
push ebx
call fcn.00420700
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x42ca7c
mov eax, 0xfffffffe
mov ecx, ebx
call fcn.00420b00
mov dword [esp + 0x18], eax
add dword [ebx + 8], 0xfffffff0
jmp 0x42caa9
or eax, 0xffffffff
mov ecx, ebx
call fcn.00420b00
jmp 0x42caa5
push 0xffffffffffffffff
push ebx
call fcn.00420820
add esp, 8
or eax, 0xffffffff
mov ecx, ebx
call fcn.00420b00
shr eax, 1
mov dword [esp + 0x18], eax
add dword [ebx + 8], 0xfffffff0
cmp dword [esp + 0x18], 0
jne 0x42cb00
lea edx, [esp + 0xb0]
push edx
push 0x49b704
push ebx
call fcn.004237c0
add esp, 0xc
jmp 0x42cb00
lea eax, [esp + 0x28]
push eax
push esi
call fcn.00472b04
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
add esp, 8
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fldcw word [esp + 0x18]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x28]
cmp byte [edx], 0x5d
mov edi, dword [esp + 0x18]
mov cl, byte [esp + 0x23]
jne 0x42c9cf
inc dword [esp + 0x28]
jmp 0x42c9cf
mov esi, dword [esp + 0x30]
cmp esi, 4
jbe 0x42cb2c
mov esi, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp esi, eax
jle 0x42cb38
mov eax, esi
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, edi
cdq
idiv esi
test edx, edx
jne 0x42cb49
mov edx, esi
mov eax, dword [ebp + 0x14]
sub esi, edx
add edi, esi
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], edi
jne 0x42cb5c
mov eax, edi
mov edx, dword [esp + 0x3c]
lea edi, [edx + eax]
mov dword [esp + 0x24], edi
test edx, edx
je 0x42ccc6
cmp dword [esp + 0x18], 0
je 0x42cc56
mov eax, dword [esp + 0x18]
push 1
push eax
call fcn.00421050
xor esi, esi
add esp, 8
cmp dword [esp + 0x18], esi
jbe 0x42cc3a
jmp 0x42cba4
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + eax]
add eax, 4
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x23]
mov dword [esp + 0x2c], ecx
cmp al, 0x69
jne 0x42cbd4
mov edi, dword [esp + 0x1c]
fild dword [esp + 0x2c]
mov eax, dword [edi + 8]
mov dword [eax + 8], 3
fstp qword [eax]
jmp 0x42cc19
cmp al, 0x49
jne 0x42cc02
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
test ecx, ecx
jns 0x42cbf1
fadd qword [0x49dee0]
fstp qword [eax]
mov dword [eax + 8], 3
add dword [edx + 8], 0x10
mov edi, edx
jmp 0x42cc1d
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 8]
xor edx, edx
test ecx, ecx
setne dl
mov dword [eax + 8], 1
mov dword [eax], edx
add dword [edi + 8], 0x10
lea ebx, [esi + 1]
push ebx
mov eax, 0xfffffffe
call fcn.004213e0
mov esi, ebx
add esp, 4
cmp esi, dword [esp + 0x18]
jb 0x42cba0
mov esi, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
call fcn.004211d0
mov ebx, esi
jmp 0x42ccde
mov esi, dword [edi]
mov eax, dword [ebx + 8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], 4
cmp cl, 0x69
jne 0x42cc7b
fild dword [esp + 0x2c]
mov dword [eax + 8], 3
fstp qword [eax]
jmp 0x42ccad
cmp cl, 0x49
jne 0x42cc9d
mov dword [esp + 0x40], esi
fild dword [esp + 0x40]
test esi, esi
jns 0x42cc92
fadd qword [0x49dee0]
fstp qword [eax]
mov dword [eax + 8], 3
jmp 0x42ccad
xor ecx, ecx
test esi, esi
setne cl
mov dword [eax + 8], 1
mov dword [eax], ecx
add dword [ebx + 8], 0x10
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42ccde
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42ccd3
mov eax, 1
lea edx, [eax*4]
mov dword [esp + 0x14], edx
cmp dword [ebp + 0x18], 0
je 0x42ccfe
mov eax, dword [esp + 0x14]
add eax, dword [ebp + 0x14]
cmp eax, dword [esp + 0x10]
jle 0x42da78
mov dword [esp + 0x10], eax
jmp 0x42da78
mov edx, dword [esp + 0x14]
add dword [esp + 0x10], edx
jmp 0x42da78
mov ecx, dword [esp + 0x30]
cmp ecx, 4
jbe 0x42cd19
mov ecx, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42cd25
mov eax, ecx
mov esi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42cd36
mov edx, ecx
mov eax, dword [ebp + 0x14]
sub ecx, edx
add esi, ecx
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], esi
jne 0x42cd49
mov eax, esi
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + eax]
mov dword [esp + 0x24], esi
test ecx, ecx
je 0x42cde6
test edi, edi
je 0x42cdbb
mov eax, dword [esp + 0x18]
push 1
push eax
call fcn.00421050
xor edi, edi
add esp, 8
cmp dword [esp + 0x18], edi
jbe 0x42d9de
jmp 0x42cd84
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ebx, dword [esi + eax]
mov esi, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], eax
call fcn.00420ca0
lea ebx, [edi + 1]
push ebx
mov eax, 0xfffffffe
mov edi, esi
call fcn.004213e0
mov edi, ebx
add esp, 4
cmp edi, dword [esp + 0x18]
jb 0x42cd80
jmp 0x42d9de
mov ebx, dword [esi]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], 4
call fcn.00420ca0
mov eax, 0xfffffffd
lea edi, [esp + 0xb0]
call fcn.004211d0
mov ebx, esi
jmp 0x42da5b
mov eax, edi
test edi, edi
jne 0x42cdf1
mov eax, 1
add eax, eax
add eax, eax
jmp 0x42da5f
mov ecx, dword [esp + 0x30]
cmp ecx, 4
jbe 0x42ce08
mov ecx, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42ce14
mov eax, ecx
mov esi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42ce25
mov edx, ecx
mov eax, dword [ebp + 0x14]
sub ecx, edx
add esi, ecx
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], esi
jne 0x42ce38
mov eax, esi
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + eax]
test ecx, ecx
je 0x42cf0c
test edi, edi
je 0x42cebf
push 1
push edi
call fcn.00421050
xor ebx, ebx
add esp, 8
cmp dword [esp + 0x18], ebx
jbe 0x42cea6
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + ecx]
add ecx, 4
mov dword [esp + 0x14], ecx
test eax, eax
je 0x42ce7b
mov ecx, dword [esp + 0x1c]
call fcn.004209b0
jmp 0x42ce8d
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 8]
mov dword [edx + 8], 0
add dword [eax + 8], 0x10
mov edi, dword [esp + 0x1c]
inc ebx
push ebx
mov eax, 0xfffffffe
call fcn.004213e0
add esp, 4
cmp ebx, dword [esp + 0x18]
jb 0x42ce5e
mov esi, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
call fcn.004211d0
mov ebx, esi
jmp 0x42cf22
mov eax, dword [esi]
mov dword [esp + 0x14], 4
test eax, eax
je 0x42cee9
mov ecx, ebx
call fcn.004209b0
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42cf22
mov eax, dword [ebx + 8]
mov dword [eax + 8], 0
add dword [ebx + 8], 0x10
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42cf22
mov eax, edi
test edi, edi
jne 0x42cf17
mov eax, 1
lea ecx, [eax*4]
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0x18], 0
je 0x42cf34
mov eax, dword [ebp + 0x14]
add eax, dword [esp + 0x14]
jmp 0x42da68
mov ecx, dword [esp + 0x14]
add dword [esp + 0x10], ecx
jmp 0x42da78
mov esi, dword [esp + 0x30]
cmp esi, 1
jbe 0x42cf4f
mov esi, 1
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp esi, eax
jle 0x42cf5b
mov eax, esi
mov dword [edx], eax
mov eax, dword [esp + 0x10]
cdq
idiv esi
test edx, edx
jne 0x42cf6a
mov edx, esi
mov eax, dword [ebp + 0x14]
sub esi, edx
add dword [esp + 0x10], esi
cmp dword [ebp + 0x18], 0
jne 0x42cf7d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x24], eax
test edx, edx
je 0x42d157
test edi, edi
je 0x42d108
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
mov dword [esp + 0x2c], 0
call fcn.00420ea0
mov eax, dword [ebx + 8]
add eax, 0xfffffff0
cmp eax, 0x4990e8
je 0x42cfc9
cmp dword [eax + 8], 5
je 0x42d05c
lea esi, [esp + 0x2c]
or eax, 0xffffffff
mov ecx, ebx
call fcn.004205e0
mov esi, eax
test esi, esi
je 0x42d026
mov edi, dword [esp + 0x2c]
push edi
push 0
push esi
call fcn.004783d0
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp edi, eax
jl 0x42cff7
mov edi, eax
mov edx, dword [esp + 0x24]
push edi
push edx
push esi
call fcn.0047b7a0
mov edx, dword [esp + 0x24]
add esp, 0xc
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
mov dword [esp + 0x14], edx
call fcn.004211d0
jmp 0x42da5b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add dword [ebx + 8], 0xfffffff0
push eax
push ecx
mov esi, ebx
call fcn.00420bb0
mov edx, dword [esp + 0x20]
add esp, 8
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov dword [esp + 0x14], edx
call fcn.004211d0
jmp 0x42da5b
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x18]
push 1
push eax
call fcn.00421050
mov ebx, dword [esp + 0x20]
add esp, 8
xor esi, esi
test ebx, ebx
jle 0x42d0ec
jmp 0x42d080
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov al, byte [edx + ecx]
inc ecx
cmp byte [esp + 0x23], 0x62
mov dword [esp + 0x14], ecx
jne 0x42d0b8
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 8]
movsx eax, al
mov dword [esp + 0x40], eax
mov dword [ecx + 8], 3
fild dword [esp + 0x40]
fstp qword [ecx]
add dword [edi + 8], 0x10
jmp 0x42d0d9
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 8]
movzx eax, al
mov dword [esp + 0x40], eax
mov dword [ecx + 8], 3
fild dword [esp + 0x40]
mov edi, edx
fstp qword [ecx]
add dword [edx + 8], 0x10
inc esi
push esi
mov eax, 0xfffffffe
call fcn.004213e0
add esp, 4
cmp esi, ebx
jl 0x42d080
mov ebx, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42da5b
mov al, byte [eax]
cmp cl, 0x62
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], 1
mov dword [ecx + 8], 3
jne 0x42d12e
movsx edx, al
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
jmp 0x42d139
movzx eax, al
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fstp qword [ecx]
add dword [ebx + 8], 0x10
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42da5b
mov dword [esp + 0x14], edi
test edi, edi
jne 0x42da5b
mov dword [esp + 0x14], 1
jmp 0x42da5b
mov esi, dword [esp + 0x30]
cmp esi, 2
jbe 0x42d17e
mov esi, 2
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp esi, eax
jle 0x42d18a
mov eax, esi
mov dword [edx], eax
mov eax, dword [esp + 0x10]
cdq
idiv esi
test edx, edx
jne 0x42d199
mov edx, esi
mov eax, dword [ebp + 0x14]
sub esi, edx
add dword [esp + 0x10], esi
cmp dword [ebp + 0x18], 0
jne 0x42d1ac
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x24], eax
test edx, edx
je 0x42d3b1
test edi, edi
je 0x42d376
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
call fcn.00420ea0
mov eax, dword [ebx + 8]
add eax, 0xfffffff0
cmp eax, 0x4990e8
je 0x42d1f0
cmp dword [eax + 8], 5
je 0x42d2c8
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
push ecx
push esi
call fcn.00472b1b
push 0xfde9
lea edx, [esp + 0x98]
push edx
push esi
mov edi, eax
call fcn.00433020
add dword [ebx + 8], 0xfffffff0
add esp, 0x14
mov dword [esp + 0x40], eax
mov esi, ebx
test eax, eax
je 0x42d296
mov ecx, dword [esp + 0x8c]
push ecx
push eax
call fcn.00420bb0
mov edi, dword [ebx + 8]
add esp, 8
cmp dword [edi - 8], 4
jne 0x42d266
mov edx, dword [edi - 0x10]
test byte [edx + 7], 0x10
je 0x42d25f
mov esi, dword [esp + 0x1c]
mov ebx, 0x49aea4
call fcn.00420ca0
mov eax, esi
call fcn.00447260
mov ebx, esi
mov eax, dword [edi - 0x10]
mov byte [eax + 7], 8
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00470886
mov edx, dword [esp + 0x1c]
lea eax, [edx + edx]
mov dword [esp + 0x18], eax
add esp, 4
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42cf22
push 0
push 0x498564
call fcn.00420bb0
mov edx, dword [esp + 0x20]
lea eax, [edx + edx]
mov dword [esp + 0x1c], eax
add esp, 8
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42cf22
mov ecx, dword [esp + 0x18]
push 1
push ecx
mov dword [ebx + 8], eax
call fcn.00421050
mov ebx, dword [esp + 0x20]
add esp, 8
xor esi, esi
test ebx, ebx
je 0x42d35a
jmp 0x42d2f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
movzx eax, word [edx + ecx]
add ecx, 2
cmp byte [esp + 0x23], 0x77
mov dword [esp + 0x14], ecx
jne 0x42d329
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 8]
cwde
mov dword [esp + 0x40], eax
mov dword [ecx + 8], 3
fild dword [esp + 0x40]
fstp qword [ecx]
add dword [edi + 8], 0x10
jmp 0x42d347
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 8]
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
mov dword [ecx + 8], 3
mov edi, edx
fstp qword [ecx]
add dword [edx + 8], 0x10
inc esi
push esi
mov eax, 0xfffffffe
call fcn.004213e0
add esp, 4
cmp esi, ebx
jb 0x42d2f0
mov ebx, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42cf22
movzx eax, word [eax]
cmp cl, 0x77
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], 2
mov dword [ecx + 8], 3
jne 0x42d3a2
movsx edx, ax
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
fstp qword [ecx]
jmp 0x42cef3
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fstp qword [ecx]
jmp 0x42cef3
mov eax, edi
test edi, edi
jne 0x42d3bc
mov eax, 1
lea ecx, [eax + eax]
jmp 0x42cf1e
mov esi, dword [esp + 0x30]
cmp esi, 8
jbe 0x42d3d2
mov esi, 8
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp esi, eax
jle 0x42d3de
mov eax, esi
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, edi
cdq
idiv esi
test edx, edx
jne 0x42d3ef
mov edx, esi
mov eax, dword [ebp + 0x14]
sub esi, edx
add edi, esi
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], edi
jne 0x42d402
mov eax, edi
mov edx, dword [esp + 0x3c]
lea edi, [edx + eax]
mov dword [esp + 0x24], edi
test edx, edx
je 0x42d5bd
cmp dword [esp + 0x18], 0
je 0x42d4b9
mov edx, dword [esp + 0x18]
push 1
push edx
call fcn.00421050
mov eax, dword [esp + 0x20]
add esp, 8
xor esi, esi
test eax, eax
je 0x42d49d
add eax, eax
add eax, eax
add eax, eax
mov ebx, edi
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add ebx, 8
cmp byte [esp + 0x23], 0x6c
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
jne 0x42d476
mov edi, dword [esp + 0x1c]
fild qword [esp + 0x68]
mov eax, dword [edi + 8]
mov dword [eax + 8], 3
fstp qword [eax]
add dword [edi + 8], 0x10
jmp 0x42d488
push ecx
push eax
mov eax, dword [esp + 0x24]
call fcn.00434050
mov edi, dword [esp + 0x24]
add esp, 8
inc esi
push esi
mov eax, 0xfffffffe
call fcn.004213e0
add esp, 4
cmp esi, dword [esp + 0x18]
jb 0x42d445
mov esi, dword [esp + 0x1c]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
call fcn.004211d0
mov ebx, esi
jmp 0x42d5d5
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x14], 8
cmp cl, 0x6c
jne 0x42d4dc
fild qword [esp + 0x68]
jmp 0x42d598
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
call fcn.00420ea0
push 0x49a760
push 0x49a768
or eax, 0xffffffff
mov ecx, ebx
call fcn.00423be0
add esp, 8
test eax, eax
je 0x42d555
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebx + 8]
cmp dword [eax - 8], 7
jne 0x42d536
mov eax, dword [eax - 0x10]
add eax, 0x18
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0xfffffffd
call fcn.004211d0
jmp 0x42d5d5
xor eax, eax
mov dword [eax], ecx
mov dword [eax + 4], edx
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42d5d5
mov ecx, dword [esp + 0x68]
add dword [ebx + 8], 0xfffffff0
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x6c]
mov edx, ecx
and ecx, 0x7fffffff
and edx, 0x80000000
mov dword [esp + 0x7c], ecx
fild qword [esp + 0x78]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], 0
fild qword [esp + 0x80]
fchs
faddp st(1)
mov eax, dword [ebx + 8]
fstp qword [eax]
mov dword [eax + 8], 3
add dword [ebx + 8], 0x10
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
jmp 0x42d5d5
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42d5ca
mov eax, 1
lea edx, [eax*8]
mov dword [esp + 0x14], edx
cmp dword [ebp + 0x18], 0
je 0x42ccfe
mov eax, dword [esp + 0x14]
jmp 0x42da65
mov ecx, dword [esp + 0x30]
cmp ecx, 4
jbe 0x42d5f6
mov ecx, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42d602
mov eax, ecx
mov esi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42d613
mov edx, ecx
mov eax, dword [ebp + 0x14]
sub ecx, edx
add esi, ecx
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], esi
jne 0x42d626
mov eax, esi
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + eax]
test ecx, ecx
je 0x42cf0c
test edi, edi
je 0x42d698
push 1
push edi
call fcn.00421050
xor eax, eax
add esp, 8
cmp dword [esp + 0x18], eax
jbe 0x42cea6
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + ecx]
mov edi, dword [esp + 0x1c]
add ecx, 4
mov dword [esp + 0x64], edx
fld dword [esp + 0x64]
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 8]
lea ebx, [eax + 1]
fstp qword [ecx]
mov dword [ecx + 8], 3
add dword [edi + 8], 0x10
push ebx
mov eax, 0xfffffffe
call fcn.004213e0
mov eax, ebx
add esp, 4
cmp eax, dword [esp + 0x18]
jb 0x42d650
jmp 0x42cea6
mov eax, dword [esi]
mov dword [esp + 0x64], eax
fld dword [esp + 0x64]
mov eax, dword [ebx + 8]
fstp qword [eax]
mov dword [esp + 0x14], 4
mov dword [eax + 8], 3
jmp 0x42cef3
mov ecx, dword [esp + 0x30]
cmp ecx, 8
jbe 0x42d6c9
mov ecx, 8
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42d6d5
mov eax, ecx
mov esi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42d6e6
mov edx, ecx
mov eax, dword [ebp + 0x14]
sub ecx, edx
add esi, ecx
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], esi
jne 0x42d6f9
mov eax, esi
mov ecx, dword [esp + 0x3c]
lea esi, [ecx + eax]
test ecx, ecx
je 0x42d794
test edi, edi
je 0x42d776
push 1
push edi
call fcn.00421050
mov ecx, dword [esp + 0x20]
add esp, 8
xor eax, eax
test ecx, ecx
je 0x42d49d
lea edx, [ecx*8]
mov dword [esp + 0x14], edx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x5c], edx
fld qword [esp + 0x58]
lea ebx, [eax + 1]
fstp qword [ecx]
mov dword [ecx + 8], 3
add dword [edi + 8], 0x10
push ebx
mov eax, 0xfffffffe
add esi, 8
call fcn.004213e0
mov eax, ebx
add esp, 4
cmp eax, dword [esp + 0x18]
jb 0x42d730
jmp 0x42d49d
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
fld qword [esp + 0x58]
mov dword [esp + 0x14], 8
jmp 0x42d598
test edi, edi
mov eax, edi
jmp 0x42d5c3
mov dword [esp + 0x2c], 1
cmp dword [ebp + 0x18], 0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], 0
mov dword [esp + 0x14], eax
je 0x42d7c2
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x10], ecx
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
call fcn.00420ea0
mov eax, dword [ebx + 8]
sub eax, 0x10
cmp eax, 0x4990e8
je 0x42d7e8
cmp dword [eax + 8], 5
je 0x42d7fc
mov edx, dword [0x498e68]
push edx
or edi, 0xffffffff
mov esi, ebx
call fcn.004236b0
add esp, 4
cmp dword [esp + 0x18], 0
je 0x42d838
push 1
or eax, 0xffffffff
mov edi, ebx
call fcn.00421010
mov eax, dword [ebx + 8]
sub eax, 0x10
add esp, 4
cmp eax, 0x4990e8
je 0x42d825
cmp dword [eax + 8], 5
je 0x42d838
mov eax, dword [0x498e68]
push eax
or edi, 0xffffffff
mov esi, ebx
call fcn.004236b0
add esp, 4
mov esi, dword [esp + 0x2c]
push esi
push 0
push 0
lea ecx, [esp + 0x60]
push ecx
push ebx
call fcn.0042c720
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x44]
add esp, 0x14
cmp eax, ecx
jge 0x42d85d
mov ecx, eax
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42d869
mov eax, ecx
mov edi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x42d87a
mov edx, ecx
mov eax, dword [esp + 0x3c]
sub ecx, edx
add edi, ecx
mov dword [esp + 0x40], edi
test eax, eax
je 0x42d88e
add eax, edi
jmp 0x42d890
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x42d8f4
xor edi, edi
test ecx, ecx
je 0x42d8ee
push 0
push ebx
call fcn.00423e60
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
lea edx, [esp + 0x68]
push edx
push ebx
call fcn.0042c720
lea esi, [edi + 1]
add esp, 0x1c
mov dword [esp + 0x10], eax
push esi
mov eax, 0xfffffffd
mov edi, ebx
call fcn.004213e0
mov edi, esi
add esp, 4
cmp edi, dword [esp + 0x18]
jb 0x42d8aa
add dword [ebx + 8], 0xfffffff0
jmp 0x42d90a
push esi
push 0
push eax
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.0042c720
add esp, 0x14
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x40]
add dword [esp + 0x10], ecx
lea edi, [esp + 0xb0]
mov eax, 0xfffffffd
mov esi, ebx
call fcn.004211d0
cmp dword [ebp + 0x18], 0
je 0x42da78
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jle 0x42da78
mov dword [esp + 0x10], eax
jmp 0x42da78
mov ecx, dword [esp + 0x30]
cmp ecx, 4
jbe 0x42d954
mov ecx, 4
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
cmp ecx, eax
jle 0x42d960
mov eax, ecx
mov esi, dword [esp + 0x10]
mov dword [edx], eax
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42d971
mov edx, ecx
sub ecx, edx
add esi, ecx
cmp dword [ebp + 0x18], 0
mov dword [esp + 0x10], esi
je 0x42d982
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x3c]
add esi, eax
test eax, eax
je 0x42da48
test edi, edi
je 0x42d9f7
push 1
push edi
call fcn.00421050
xor ebx, ebx
add esp, 8
cmp dword [esp + 0x18], ebx
jbe 0x42d9de
jmp 0x42d9b0
mov eax, dword [esp + 0x14]
mov edx, dword [esi + eax]
mov edi, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, edi
call fcn.00420e00
inc ebx
push ebx
mov eax, 0xfffffffe
call fcn.004213e0
add esp, 4
cmp ebx, dword [esp + 0x18]
jb 0x42d9b0
mov esi, dword [esp + 0x1c]
mov eax, 0xfffffffd
lea edi, [esp + 0xb0]
call fcn.004211d0
mov ebx, esi
jmp 0x42da5b
mov edx, dword [esi]
lea edi, [esp + 0xb0]
mov eax, 0xfffffffe
mov esi, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], 4
call fcn.00420ea0
push 0
push 1
push 0xffffffffffffffff
push ebx
call fcn.004258b0
add esp, 0x10
cmp eax, dword [esp + 0x2c]
je 0x42da42
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.00420e00
mov eax, 0xfffffffc
call fcn.004211d0
add dword [ebx + 8], 0xfffffff0
jmp 0x42da5b
mov eax, edi
test edi, edi
jne 0x42da53
mov eax, 1
add eax, eax
add eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
cmp dword [ebp + 0x18], 0
je 0x42da74
add eax, dword [ebp + 0x14]
cmp eax, dword [esp + 0x10]
jle 0x42da78
mov dword [esp + 0x10], eax
jmp 0x42da78
add dword [esp + 0x10], eax
mov ecx, dword [esp + 0x28]
cmp byte [ecx], 0x3b
jne 0x42daa2
inc dword [esp + 0x28]
lea edx, [esp + 0x28]
push edx
lea edi, [esp + 0x3f]
call fcn.004263c0
add esp, 4
mov byte [esp + 0x23], al
test al, al
jne 0x42c979
add dword [ebx + 8], 0xfffffff0
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jl 0x42dab6
mov ecx, eax
mov esi, dword [esp + 0x10]
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x42dac5
mov edx, ecx
mov eax, ecx
sub eax, edx
add eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0046eb41
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
push eax
push 0x49b6d0
push ebx
call fcn.004237c0
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0046eb41
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0xb4]
push eax
movzx ecx, cl
push ecx
dec edx
push edx
push 0x49b678
push ebx
call fcn.004237c0
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0046eb41
mov esp, ebp
pop ebp
ret