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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [ebp + 8]
test eax, eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x40], edi
je 0x4ee398
add eax, 0xfffffff4
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x44]
mov esi, dword [edi + 0x48]
lea ebx, [edi + 0x38]
add esi, eax
cmp eax, esi
ja 0x4ee3a5
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee3af
cmp esi, eax
jb 0x4ee3af
mov edx, dword [ebx + 0x10]
add edx, dword [ebx + 0xc]
cmp esi, edx
jae 0x4ee3b9
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee3c3
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebx + 0xc]
fld dword [ecx + 0x10]
mov esi, dword [ebx + 0x10]
fstp dword [esp + 0x24]
add esi, eax
cmp eax, esi
ja 0x4ee3ca
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, 0xffffffff
add edx, eax
cmp esi, edx
ja 0x4ee3d4
cmp esi, eax
jb 0x4ee3d4
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x4ee3de
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee3e8
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + esi*4]
mov eax, dword [ebx + 0xc]
fld dword [edx + 8]
mov esi, dword [ebx + 0x10]
fst dword [esp + 0x14]
add esi, eax
cmp eax, esi
ja 0x4ee3ef
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee3ff
cmp esi, eax
jb 0x4ee3ff
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee40f
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee41f
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebx + 0xc]
fld dword [ecx + 0xc]
mov esi, dword [ebx + 0x10]
fst dword [esp + 0x18]
add esi, eax
cmp eax, esi
ja 0x4ee426
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, 0xffffffff
add edx, eax
cmp esi, edx
ja 0x4ee43c
cmp esi, eax
jb 0x4ee43c
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x4ee452
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee468
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + esi*4]
mov eax, dword [ebx + 0xc]
fld dword [edx + 0x14]
mov esi, dword [ebx + 0x10]
fst dword [esp + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee46f
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee48d
cmp esi, eax
jb 0x4ee48d
mov edx, dword [ebx + 0x10]
add edx, dword [ebx + 0xc]
cmp esi, edx
jae 0x4ee4ab
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee4c9
mov eax, dword [ebx + 4]
mov eax, dword [eax + esi*4]
fld dword [eax]
mov esi, dword [ebx + 0x10]
fadd dword [ebp + 0x10]
fst dword [ebp + 0x10]
fld dword [eax + 4]
mov eax, dword [ebx + 0xc]
fadd dword [ebp + 0x14]
add esi, eax
cmp eax, esi
fstp dword [ebp + 0x14]
ja 0x4ee4d0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee4f5
cmp esi, eax
jb 0x4ee4f5
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee51a
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee53f
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0x34]
and eax, dword [0x5a6364]
mov ecx, dword [0x5a6374]
shr eax, cl
sub eax, 0
jne 0x43fe81
fstp st(2)
push ecx
fstp st(2)
fstp st(1)
fstp dword [esp]
call fcn.0043f520
fstp dword [ebp + 0x10]
fld dword [ebp + 0x14]
fstp dword [esp]
call fcn.0043f520
fstp dword [ebp + 0x14]
add esp, 4
fld dword [esp + 0x10]
mov dword [esp + 0x20], 0
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fxch st(2)
fldz
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jnp 0x440340
fld st(0)
fucomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x44
jnp 0x44029a
fxch st(1)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x44029e
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee546
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, 0xffffffff
add edx, eax
cmp esi, edx
ja 0x4ee556
cmp esi, eax
jb 0x4ee556
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x4ee566
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee576
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 0x34]
mov edx, dword [0x5a6360]
mov ecx, dword [0x5a6370]
and eax, edx
shr eax, cl
cmp eax, 1
je 0x44035e
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee57d
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee593
cmp esi, eax
jb 0x4ee593
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x4ee5a9
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee5bf
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + 0x34]
mov ecx, dword [0x5a6370]
mov esi, dword [ebx + 0x10]
and eax, edx
shr eax, cl
cmp eax, 2
mov eax, dword [ebx + 0xc]
je 0x43fa41
add esi, eax
fstp st(0)
cmp eax, esi
ja 0x4ee66a
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee67a
cmp esi, eax
jb 0x4ee67a
mov eax, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
cmp esi, eax
jae 0x4ee68a
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee69a
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + 0x34]
mov ecx, dword [0x5a6370]
and eax, edx
shr eax, cl
cmp eax, 3
je 0x440509
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x28]
add esi, 0xc
mov ecx, esi
call eax
cmp eax, 3
je 0x4401af
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
cmp eax, 2
jne 0x43fc3c
fld1
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0046c8e0
add esp, 8
test al, al
je 0x43fc3c
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee6c6
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee6d0
cmp esi, eax
jb 0x4ee6d0
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee6da
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee6e4
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x28], ecx
add ecx, 0xc
mov dword [esp + 0x2c], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx + 0xc]
mov esi, eax
xor eax, eax
add ecx, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, dword [edx + 8]
call eax
lea ebx, [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x5c], esi
jne 0x43ffbf
mov edx, dword [esp + 0x2c]
fld dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x30]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
push edx
push eax
lea eax, [esp + 0x78]
call fcn.00441810
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
add esi, eax
cmp eax, esi
ja 0x4ee5c6
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee5d6
cmp esi, eax
jb 0x4ee5d6
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee5e6
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee5f6
mov eax, dword [ebx + 4]
mov esi, dword [eax + esi*4]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
add eax, ecx
add esi, 0x18
cmp ecx, eax
ja 0x4ee5fd
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add eax, 0xffffffff
add edx, ecx
cmp eax, edx
mov dword [esp + 0x40], eax
ja 0x4ee615
cmp eax, ecx
jb 0x4ee615
mov ecx, dword [ebx + 0x10]
add ecx, dword [ebx + 0xc]
cmp eax, ecx
jae 0x4ee629
mov ecx, dword [ebx + 8]
cmp ecx, eax
jbe 0x4ee641
mov edx, dword [ebx + 4]
fld dword [0x566848]
mov eax, dword [edx + eax*4]
fnstcw word [esp + 0x10]
mov ecx, dword [eax + 0x2c]
fmul st(1), st(0)
movzx eax, word [esp + 0x10]
fxch st(1)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], ecx
mov byte [esp + 0x37], 0xff
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov cl, byte [esp + 0x40]
fldcw word [esp + 0x10]
fld dword [esi]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
movzx edx, byte [esp + 0x40]
mov byte [esp + 0x36], dl
fldcw word [esp + 0x10]
fld dword [esi + 8]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
mov byte [esp + 0x34], al
fldcw word [esp + 0x10]
fmul dword [esi + 4]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
cmp cl, 0xff
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
movzx edx, byte [esp + 0x40]
mov byte [esp + 0x35], dl
fldcw word [esp + 0x10]
jne 0x43fe99
mov dword [esp + 0x38], 0x101
mov eax, dword [edi + 0x4c]
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 0xc]
call eax
mov ebx, eax
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x4c]
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0xc]
mov eax, dword [edx + 8]
call eax
lea esi, [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x5c], ebx
jne 0x43fd76
mov edx, dword [esp + 0x28]
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
sub esp, 0x14
fstp dword [esp + 0x10]
lea ecx, [esp + 0x70]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
call fcn.00440910
add esp, 0x30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
cmp eax, 2
jne 0x4400cf
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee7b0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee7ba
cmp esi, eax
jb 0x4ee7ba
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee7c4
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee7ce
fld dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
fmul dword [0x566848]
mov edx, dword [ecx + 0x2c]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], edx
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
cmp al, 0xff
fldcw word [esp + 0x10]
je 0x4ee7d5
movzx eax, al
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x34], ecx
add ecx, 0xc
call eax
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx + 0xc]
mov ebx, eax
xor eax, eax
add ecx, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, dword [edx + 8]
call eax
lea esi, [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x5c], ebx
jne 0x43fea5
mov edx, dword [esp + 0x2c]
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push edx
push eax
push ecx
lea eax, [esp + 0x7c]
call fcn.00442740
add esp, 0x2c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x43fbe1
cmp dword [esi + 0x18], 0
je 0x4404e2
mov ecx, dword [esi + 0x14]
lea eax, [esi + 0x10]
mov esi, dword [ecx]
lea ecx, [edi + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], ecx
nop
cmp eax, ecx
mov edi, dword [ecx + 4]
jne 0x4ee648
cmp esi, edi
je 0x43fc33
cmp esi, dword [eax + 4]
je 0x4ee656
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x58]
xor edx, edx
test eax, eax
setl dl
sub edx, 1
and edx, eax
mov eax, dword [esi + 0x10]
cmp ecx, eax
mov dword [esp + 0x60], edx
jl 0x440288
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
test eax, eax
jl 0x440351
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x14]
cmp ebx, eax
jl 0x4402a9
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push edx
sub esp, 0x14
fstp dword [esp + 0x10]
lea edx, [esp + 0x80]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
call fcn.00440910
mov ecx, dword [esp + 0x40]
add esp, 0x30
cmp esi, dword [ecx + 4]
je 0x4ee660
mov esi, dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
jmp 0x43fdb0
sub eax, 1
fstp st(0)
jne 0x43f7b3
mov dword [esp + 0x20], 0xf
jmp 0x43f7b3
movzx eax, cl
mov dword [esp + 0x38], eax
jmp 0x43fb9f
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x43fd1c
cmp dword [esi + 0x18], 0
je 0x4ee7e2
mov edx, dword [esi + 0x14]
lea eax, [esi + 0x10]
mov esi, dword [edx]
lea ecx, [edi + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ecx
mov edi, edi
cmp eax, ecx
mov edi, dword [ecx + 4]
jne 0x4ee7fc
cmp esi, edi
je 0x43fc33
cmp esi, dword [eax + 4]
je 0x4ee80a
mov eax, dword [esi + 8]
xor ecx, ecx
test eax, eax
setl cl
sub ecx, 1
and ecx, eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jl 0x43ffb6
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
xor edx, edx
test eax, eax
setl dl
mov dword [esp + 0x6c], ebx
sub edx, 1
and edx, eax
mov eax, dword [esi + 0x14]
cmp ebx, eax
mov dword [esp + 0x64], edx
jge 0x43ffb0
mov eax, dword [esp + 0x2c]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push eax
push ecx
push edx
lea eax, [esp + 0x8c]
call fcn.00442740
mov eax, dword [esp + 0x54]
add esp, 0x2c
cmp esi, dword [eax + 4]
je 0x4ee814
mov esi, dword [esi]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
jmp 0x43fee0
mov dword [esp + 0x6c], eax
jmp 0x43ff40
mov dword [esp + 0x68], ecx
jmp 0x43ff22
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x43f9ec
cmp dword [ebx + 0x18], 0
je 0x4ee6eb
mov ecx, dword [ebx + 0x14]
lea eax, [ebx + 0x10]
mov ebx, dword [ecx]
lea ecx, [edi + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], ecx
jmp 0x440000
cmp eax, ecx
mov edi, dword [ecx + 4]
jne 0x4ee705
cmp ebx, edi
je 0x43fc33
cmp ebx, dword [eax + 4]
je 0x4ee713
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x58]
xor edx, edx
test eax, eax
setl dl
sub edx, 1
and edx, eax
mov eax, dword [ebx + 0x10]
cmp ecx, eax
mov dword [esp + 0x60], edx
jl 0x440291
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0xc]
xor ecx, ecx
test eax, eax
setl cl
mov dword [esp + 0x6c], esi
sub ecx, 1
and ecx, eax
mov eax, dword [ebx + 0x14]
cmp esi, eax
mov dword [esp + 0x64], ecx
jge 0x4401a6
mov edx, dword [esp + 0x2c]
fld dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x30]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
push edx
push eax
lea eax, [esp + 0x88]
call fcn.00441810
mov ecx, dword [esp + 0x38]
add esp, 0x28
cmp ebx, dword [ecx + 4]
je 0x4ee71d
mov ebx, dword [ebx]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
jmp 0x440000
fld1
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0046c8e0
add esp, 8
test al, al
je 0x43fc4e
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
cmp eax, 1
je 0x4ee727
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
mov esi, dword [ebx + 0x10]
cmp eax, 4
mov eax, dword [ebx + 0xc]
jne 0x4402b2
add esi, eax
cmp eax, esi
ja 0x4ee788
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee792
cmp esi, eax
jb 0x4ee792
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], esi
call fcn.00443be0
fld dword [esp + 0x24]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [edi + 0x4c]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
push edx
push eax
lea eax, [edi - 0xc]
call fcn.0044fc40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x6c], eax
jmp 0x440064
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add esi, eax
cmp eax, esi
ja 0x4ee6a1
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee6ab
cmp esi, eax
jb 0x4ee6ab
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 0x10]
cmp esi, edx
jae 0x4ee6b5
mov eax, dword [ebx + 8]
cmp eax, esi
jbe 0x4ee6bf
fld dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
fmul dword [0x566848]
mov ecx, dword [ecx + 0x2c]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp dword [esp + 0x40]
mov al, byte [esp + 0x40]
cmp al, 0xff
fldcw word [esp + 0x10]
je 0x4404d5
movzx edx, al
mov dword [esp + 0x2c], edx
fld dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [edi + 0x4c]
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push edx
push eax
push ecx
lea eax, [edi - 0xc]
call fcn.0044cfd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x68], ecx
jmp 0x43fdf2
mov dword [esp + 0x68], ecx
jmp 0x440042
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x6c], ebx
jmp 0x43fe10
add esi, eax
cmp eax, esi
ja 0x4ee79c
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
add esi, 0xffffffff
add ecx, eax
cmp esi, ecx
ja 0x4ee7a6
cmp esi, eax
jb 0x4ee7a6
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], esi
call fcn.00443be0
fld dword [esp + 0x24]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [edi + 0x4c]
sub esp, 0x14
fstp dword [esp + 0x10]
add edi, 0xfffffff4
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
push edx
push eax
push edi
call fcn.00452450
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x64], 0
jmp 0x43fe01
mov ecx, dword [ebx + 0x10]
fstp st(0)
add ecx, dword [ebx + 0xc]
mov esi, ebx
push ecx
lea edi, [esp + 0x64]
call fcn.00472780
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
xor edi, edi
lea esi, [esp + 0x50]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
call fcn.00469760
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea eax, [esp + 0x44]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
call fcn.00443be0
add eax, 0x18
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x10]
add eax, dword [ebx + 0xc]
mov esi, ebx
push eax
lea edi, [esp + 0x64]
call fcn.00472780
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
xor edi, edi
lea esi, [esp + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
call fcn.00469760
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], ecx
call fcn.00443be0
fld dword [esp + 0x10]
mov edx, dword [eax + 0x2c]
fld dword [0x566848]
mov esi, dword [esp + 0x2c]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fmul st(1), st(0)
or eax, 0xc00
fxch st(1)
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edx
fldcw word [esp + 0x34]
mov word [esp + 0x4a], di
fistp dword [esp + 0x34]
mov bl, byte [esp + 0x34]
fldcw word [esp + 0x10]
fld dword [esi]
fmul st(1)
call fcn.004c3ae0
fld dword [esi + 8]
fmul st(1)
mov word [esp + 0x44], ax
call fcn.004c3ae0
fmul dword [esi + 4]
mov word [esp + 0x48], ax
call fcn.004c3ae0
cmp bl, 0xff
mov word [esp + 0x46], ax
je 0x4404fc
movzx eax, bl
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x28]
fld dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x4c]
sub esp, 0x14
fstp dword [esp + 0x10]
add eax, 0xfffffff4
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push ecx
mov ecx, dword [eax + 0x58]
push edx
push ecx
push eax
call fcn.004609d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x2c], 0x101
jmp 0x440237
mov eax, esi
call fcn.00460af0
test eax, eax
je 0x43fd9c
push esi
call fcn.00430b40
jmp 0x43fd9c
mov dword [esp + 0x4c], 0x101
jmp 0x44047b
mov eax, ebx
call fcn.004726a0
add eax, 0x18
mov esi, ebx
mov dword [esp + 0x34], eax
call fcn.00444140
fld dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
fld dword [0x566848]
push eax
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fmul st(1), st(0)
or eax, 0xc00
fxch st(1)
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp dword [esp + 0x44]
movzx ecx, byte [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x3c]
fldcw word [esp + 0x18]
fld dword [ecx + 0xc]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x48], eax
fldcw word [esp + 0x48]
fistp dword [esp + 0x48]
movzx edx, byte [esp + 0x48]
push edx
fldcw word [esp + 0x1c]
fld dword [ecx + 8]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x4c], eax
fldcw word [esp + 0x4c]
fistp dword [esp + 0x4c]
movzx eax, byte [esp + 0x4c]
push eax
fldcw word [esp + 0x20]
fld dword [ecx + 4]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x50], eax
fldcw word [esp + 0x50]
fistp dword [esp + 0x50]
movzx edx, byte [esp + 0x50]
push edx
fldcw word [esp + 0x24]
fmul dword [ecx]
fnstcw word [esp + 0x24]
lea ecx, [esp + 0x40]
movzx eax, word [esp + 0x24]
or eax, 0xc00
mov dword [esp + 0x54], eax
fldcw word [esp + 0x54]
fistp dword [esp + 0x54]
movzx eax, byte [esp + 0x54]
push eax
fldcw word [esp + 0x28]
call fcn.00488bc0
mov ecx, dword [esp + 0x24]
push eax
push ecx
sub esp, 0x14
fld dword [esp + 0x44]
fstp dword [esp + 0x10]
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x3c]
mov ecx, dword [edi + 0x4c]
push edx
push eax
push ecx
add edi, 0xfffffff4
push edi
call fcn.00418190
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [esp + 0x1c], 0
jmp 0x43f574
call fcn.004a9ee6
jmp 0x43f587
call fcn.004a9ee6
jmp 0x43f5a2
call fcn.004a9ee6
jmp 0x43f5b0
sub esi, eax
jmp 0x43f5bb
call fcn.004a9ee6
jmp 0x43f5d8
call fcn.004a9ee6
jmp 0x43f5f3
call fcn.004a9ee6
jmp 0x43f601
sub esi, eax
jmp 0x43f60c
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
jmp 0x43f629
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
jmp 0x43f644
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
jmp 0x43f652
sub esi, eax
jmp 0x43f65d
fstp st(0)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
fld dword [esp + 0x18]
jmp 0x43f67a
fstp st(0)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
fld dword [esp + 0x18]
jmp 0x43f695
fstp st(0)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x14]
fld dword [esp + 0x18]
jmp 0x43f6a3
sub esi, eax
jmp 0x43f6ae
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fxch st(2)
jmp 0x43f6cb
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fxch st(2)
jmp 0x43f6e6
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fxch st(2)
jmp 0x43f6f4
sub esi, eax
jmp 0x43f6ff
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebp + 0x10]
fld dword [esp + 0x14]
fxch st(3)
fxch st(1)
jmp 0x43f726
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebp + 0x10]
fld dword [esp + 0x14]
fxch st(3)
fxch st(1)
jmp 0x43f741
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [ebp + 0x10]
fld dword [esp + 0x14]
fxch st(3)
fxch st(1)
jmp 0x43f74f
sub esi, eax
jmp 0x43f75a
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43f7f6
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43f811
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43f81f
sub esi, eax
jmp 0x43f82a
fstp st(0)
call fcn.004a9ee6
mov edx, dword [0x5a6360]
fld dword [esp + 0x10]
jmp 0x43f85c
fstp st(0)
call fcn.004a9ee6
mov edx, dword [0x5a6360]
fld dword [esp + 0x10]
jmp 0x43f877
fstp st(0)
call fcn.004a9ee6
mov edx, dword [0x5a6360]
fld dword [esp + 0x10]
jmp 0x43f885
sub esi, eax
jmp 0x43f890
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43fa4b
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43fa66
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
jmp 0x43fa74
sub esi, eax
jmp 0x43fa7f
fstp st(0)
mov dword [esp + 0x40], eax
call fcn.004a9ee6
fld dword [esp + 0x10]
mov eax, dword [esp + 0x40]
jmp 0x43fa98
fstp st(0)
call fcn.004a9ee6
fld dword [esp + 0x10]
mov eax, dword [esp + 0x40]
jmp 0x43fab7
fstp st(0)
mov dword [esp + 0x40], eax
call fcn.004a9ee6
fld dword [esp + 0x10]
mov eax, dword [esp + 0x40]
jmp 0x43fac5
sub eax, ecx
jmp 0x43fad0
call fcn.004a9ee6
mov eax, dword [esp + 0x10]
jmp 0x43fdbb
call fcn.004a9ee6
jmp 0x43fdcc
call fcn.004a9ee6
jmp 0x43fe72
call fcn.004a9ee6
mov edx, dword [0x5a6360]
jmp 0x43f8be
call fcn.004a9ee6
mov edx, dword [0x5a6360]
jmp 0x43f8d9
call fcn.004a9ee6
mov edx, dword [0x5a6360]
jmp 0x43f8e7
sub esi, eax
jmp 0x43f8f2
call fcn.004a9ee6
jmp 0x4401bf
call fcn.004a9ee6
jmp 0x4401da
call fcn.004a9ee6
jmp 0x4401e8
sub esi, eax
jmp 0x4401f3
call fcn.004a9ee6
jmp 0x43f96a
call fcn.004a9ee6
jmp 0x43f985
call fcn.004a9ee6
jmp 0x43f993
sub esi, eax
jmp 0x43f99e
mov eax, ebx
call fcn.0040de30
test al, al
jne 0x43ffe5
push ebx
call fcn.00430b40
jmp 0x43ffe5
call fcn.004a9ee6
mov eax, dword [esp + 0x10]
jmp 0x44000b
call fcn.004a9ee6
jmp 0x44001c
call fcn.004a9ee6
jmp 0x4400c0
mov esi, dword [esp + 0x1c]
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
push edi
mov byte [esp + 0x14], al
call fcn.005084c9
fld dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi + 0x4c]
push edx
sub esp, 0x14
fstp dword [esp + 0x10]
add edi, 0xfffffff4
fld dword [esp + 0x38]
fstp dword [esp + 0xc]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [ebp + 0x14]
fstp dword [esp + 4]
fld dword [ebp + 0x10]
fstp dword [esp]
push eax
push esi
push ecx
push edi
call fcn.00539fb7
jmp 0x43fc33
call fcn.004a9ee6
jmp 0x440123
call fcn.004a9ee6
jmp 0x44013e
call fcn.004a9ee6
jmp 0x4402bc
call fcn.004a9ee6
jmp 0x4402d7
call fcn.004a9ee6
jmp 0x43fc5e
call fcn.004a9ee6
jmp 0x43fc79
call fcn.004a9ee6
jmp 0x43fc87
sub esi, eax
jmp 0x43fc92
mov dword [esp + 0x10], 0x101
jmp 0x43fcda
mov eax, esi
call fcn.0040de30
test al, al
jne 0x43fecb
push esi
call fcn.00430b40
jmp 0x43fecb
call fcn.004a9ee6
mov eax, dword [esp + 0x28]
jmp 0x43feeb
call fcn.004a9ee6
jmp 0x43fefc
call fcn.004a9ee6
jmp 0x43ffa1