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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5edd7f
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x24], esi
movsd xmm0, qword [0x5ff780]
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x2d]
push ecx
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x33]
push edx
movsd qword [esp + 0x108], xmm0
call fcn.00468bd0
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x20]
lea edx, [esp + 0x32]
push edx
call fcn.00468c70
cmp byte [esp + 0x2b], 0
jne 0x43e54d
cmp byte [esp + 0x29], 0
jne 0x43e54d
cmp byte [esp + 0x2a], 0
jne 0x43e54d
cmp byte [esp + 0x28], 0
je 0x43f2ad
cmp byte [ebp + 0xc], 0
je 0x43e55a
mov ecx, esi
call fcn.0043d940
lea eax, [esp + 0x134]
push eax
mov ecx, esi
call fcn.00425240
test byte [esp + 0x154], 1
je 0x43f2ad
cmp byte [esp + 0x2b], 0
jne 0x43e589
cmp byte [esp + 0x29], 0
je 0x43ebff
fld qword [esp + 0x10c]
sub esp, 8
fstp qword [esp]
push 1
mov ecx, esi
call fcn.0043d850
cmp dword [esi + 0x24], 0
je 0x43f2ad
movsd xmm0, qword [esp + 0x14c]
movsd xmm1, qword [esp + 0x13c]
movsd qword [esp + 0x2c], xmm0
subsd xmm0, xmm1
movsd qword [esp + 0x4c], xmm0
xorps xmm0, xmm0
lea ecx, [esp + 0x114]
movsd qword [esp + 0x114], xmm0
movsd qword [esp + 0x11c], xmm0
movsd qword [esp + 0xe4], xmm0
movsd xmm0, qword [0x5fb270]
push ecx
lea ecx, [esp + 0x180]
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0xf0], xmm0
call fcn.004ae170
push 0x88
mov dword [esp + 0x204], 0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x200], 1
test eax, eax
je 0x43e65b
lea edx, [esp + 0xe4]
push edx
lea ecx, [esp + 0x180]
push ecx
mov ecx, eax
call fcn.004ac6b0
mov edi, eax
mov dword [esp + 0x40], eax
jmp 0x43e661
xor edi, edi
mov dword [esp + 0x40], edi
movsd xmm1, qword [esp + 0x4c]
mov edx, dword [edi]
mov eax, dword [edx + 0x30]
sub esp, 0x10
movapd xmm0, xmm1
addsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x44]
subsd xmm0, xmm1
mov ecx, edi
mov byte [esp + 0x210], 0
movsd qword [esp], xmm0
call eax
movsd xmm1, qword [0x5fb9d0]
movsd xmm0, qword [esp + 0x4c]
mulsd xmm0, qword [0x5fb9c8]
comisd xmm1, xmm0
movsd qword [esp + 0x2c], xmm1
jbe 0x43e6c2
movsd qword [esp + 0x2c], xmm0
push 0xa0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x200], 2
test eax, eax
je 0x43e6fc
fld qword [esp + 0x2c]
push 0
sub esp, 8
fstp qword [esp]
push 0
push 0
push edi
push esi
mov ecx, eax
call fcn.0044a850
mov esi, eax
jmp 0x43e6fe
xor esi, esi
mov eax, dword [esi + 0x18]
cmp eax, 2
mov byte [esp + 0x200], 0
jle 0x43ebb8
cmp dword [esi + 0x1c], 0
je 0x43ebb8
movsd xmm0, qword [esp + 0x10c]
imul eax, eax, 0x58
mov ecx, dword [esi]
movsd qword [esp + 0xa4], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0xac], xmm0
mov edi, dword [ecx + 0x54]
mov ebx, dword [eax + ecx - 4]
cmp edi, ebx
jg 0x43e7b3
lea ebx, [ebx]
push edi
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
call fcn.00447b50
fld qword [0x5fa920]
movq xmm0, qword [eax]
movq qword [esp + 0x74], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0x84], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x8c], xmm0
mov edx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
push 0
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, esi
mov dword [esp + 0xa0], edx
call fcn.00447780
inc edi
cmp edi, ebx
jle 0x43e750
cmp dword [esi + 0x1c], 0
mov dword [esp + 0x44], 0
jle 0x43ebb8
mov dword [esp + 0x34], 0
lea ecx, [ecx]
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x34]
cmp dword [edx + eax + 0xc], 0
je 0x43eba1
mov ecx, edx
mov edx, eax
lea eax, [ecx + edx]
mov edx, dword [eax]
mov eax, dword [eax + 4]
imul edx, edx, 0x58
mov ecx, dword [esi]
imul eax, eax, 0x58
mov edi, dword [edx + ecx + 0x54]
mov ebx, dword [eax + ecx + 0x54]
cmp edi, ebx
je 0x43eba1
push edi
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call fcn.00447b50
movq xmm0, qword [eax]
movq qword [esp + 0x74], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x7c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x84], xmm0
mov edx, dword [eax + 0x18]
push ebx
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
mov dword [esp + 0x94], edx
call fcn.00447b50
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
cmp dword [ecx + edx + 8], 0
lea eax, [ecx + edx]
jne 0x43eb4c
push edi
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.00447b50
movq xmm0, qword [eax]
movq qword [esp + 0x74], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x7c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x84], xmm0
mov ecx, dword [eax + 0x18]
push ebx
lea edx, [esp + 0x164]
mov dword [esp + 0x90], ecx
push edx
mov ecx, esi
call fcn.00447b50
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 0x1c]
movq qword [esp + 0x58], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edi, dword [esp + 0x60]
movq qword [esp + 0x68], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0xc4], xmm0
movsd qword [esp + 0xbc], xmm0
movsd qword [esp + 0xb4], xmm0
movsd xmm0, qword [ecx + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x1c]
subsd xmm0, qword [eax + 0x10]
add ecx, 0x10
add eax, 0x10
movsd qword [esp + 0xb4], xmm0
movsd xmm0, qword [ecx + 8]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xbc], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xb4]
movsd qword [esp + 0xc4], xmm0
call fcn.004a88b0
fld qword [ebp + 0x10]
fcompi st(1)
fstp st(0)
jbe 0x43e96b
mov ecx, dword [esp + 0x7c]
push edi
call fcn.0043ce60
jmp 0x43eba1
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [ecx + edx]
add ecx, edx
imul eax, eax, 0x58
mov edx, dword [esi]
movq xmm0, qword [eax + edx]
add eax, edx
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
mov eax, dword [ecx + 4]
imul eax, eax, 0x58
movq xmm0, qword [eax + edx]
add eax, edx
movq qword [esp + 0xd4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0xdc], xmm0
xorps xmm0, xmm0
lea ecx, [esp + 0xd4]
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0xd4], xmm0
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
push ecx
lea edx, [esp + 0x98]
push edx
mov ecx, edi
call eax
fld qword [0x5ff790]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x98]
sub esp, 8
fstp qword [esp]
push edi
call eax
mov ebx, eax
test ebx, ebx
je 0x43eba1
cmp byte [ebx + 4], 0
jne 0x43ea34
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
jmp 0x43eb9f
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x2c], eax
mov byte [esp + 0x200], 3
test eax, eax
je 0x43ea66
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
push ebx
push ecx
push edx
mov ecx, eax
call fcn.00445ee0
mov dword [esp + 0x2c], eax
jmp 0x43ea6c
xor eax, eax
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 8]
push eax
mov byte [esp + 0x204], 0
mov dword [eax + 8], 0x27
call fcn.0042eff0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 4
test eax, eax
je 0x43eaaf
mov ecx, dword [esp + 0x2c]
push edi
push ecx
mov ecx, eax
call fcn.00437320
mov ebx, eax
jmp 0x43eab1
xor ebx, ebx
mov edx, dword [esp + 0x24]
mov dword [ebx + 8], 0x16
test byte [edx + 8], 1
mov byte [esp + 0x200], 0
jne 0x43ead1
mov dword [ebx + 8], 0x17
push 1
push ebx
mov ecx, edx
call fcn.004250e0
mov eax, dword [edi]
mov edx, dword [eax + 0x38]
mov ecx, edi
call edx
mov edi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0xa4]
push ecx
mov ecx, edi
call edx
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 5
test eax, eax
je 0x43eb20
mov ecx, dword [esp + 0x2c]
push edi
push ecx
mov ecx, eax
call fcn.00437320
jmp 0x43eb22
xor eax, eax
mov dword [eax + 8], 0x16
test byte [ebx + 8], 1
mov byte [esp + 0x200], 0
jne 0x43eb3e
mov dword [eax + 8], 0x17
mov ecx, dword [esp + 0x24]
push 1
push eax
call fcn.004250e0
jmp 0x43eba1
mov eax, dword [eax + 0x10]
test byte [eax + 8], 1
mov ecx, dword [eax + 0x20]
movq xmm0, qword [ecx + 0x78]
movq qword [esp + 0xb4], xmm0
movq xmm0, qword [ecx + 0x80]
jne 0x43eb76
xorpd xmm0, xmmword [0x5fc740]
mov edx, dword [esp + 0x24]
test byte [edx + 8], 1
jne 0x43eb88
xorpd xmm0, xmmword [0x5fc740]
comisd xmm0, xmmword [0x5fa830]
jbe 0x43eba1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xa4]
push edx
call eax
mov eax, dword [esp + 0x44]
add dword [esp + 0x34], 0x14
inc eax
cmp eax, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
jl 0x43e7d0
fld qword [esp + 0xfc]
mov ecx, dword [esp + 0x24]
sub esp, 0x10
fstp qword [esp + 8]
fldz
fstp qword [esp]
call fcn.0043d730
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
call fcn.00446960
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x200], 0xffffffff
cmp byte [esp + 0x2a], 0
jne 0x43ec11
cmp byte [esp + 0x28], 0
je 0x43f2ad
lea ecx, [esp + 0x17c]
push ecx
mov ecx, esi
call fcn.00425240
movq xmm0, qword [eax]
movq qword [esp + 0x134], xmm0
movq xmm0, qword [eax + 8]
movsd qword [esp + 0x13c], xmm0
movq xmm1, qword [eax + 0x10]
movq qword [esp + 0x144], xmm1
movq xmm1, qword [eax + 0x18]
movq qword [esp + 0x14c], xmm1
movq xmm1, qword [eax + 0x20]
movq qword [esp + 0x154], xmm1
test byte [esp + 0x154], 1
je 0x43f2ad
comisd xmm0, xmmword [0x5fa830]
ja 0x43f2ad
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x43ec97
push eax
mov ecx, esi
call fcn.00425030
mov dword [esi + 0x2c], 0
fld qword [esp + 0x104]
sub esp, 8
fstp qword [esp]
push 0
mov ecx, esi
call fcn.0043d850
cmp dword [esi + 0x24], 0
je 0x43f2ad
movsd xmm1, qword [esp + 0x134]
movsd xmm0, qword [esp + 0x144]
movsd qword [esp + 0x2c], xmm0
subsd xmm0, xmm1
lea edx, [esp + 0x74]
movsd qword [esp + 0x34], xmm1
movsd xmm1, qword [0x5fb270]
movsd qword [esp + 0x44], xmm0
xorps xmm0, xmm0
push edx
lea ecx, [esp + 0x1a8]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xc0], xmm0
call fcn.004ae170
push 0x88
mov dword [esp + 0x204], 6
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 7
test eax, eax
je 0x43ed63
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x1a8]
push edx
mov ecx, eax
call fcn.004ac6b0
mov edi, eax
mov dword [esp + 0x40], eax
jmp 0x43ed69
xor edi, edi
mov dword [esp + 0x40], edi
movsd xmm1, qword [esp + 0x44]
mov eax, dword [edi]
mov edx, dword [eax + 0x30]
sub esp, 0x10
movapd xmm0, xmm1
addsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x44]
subsd xmm0, xmm1
mov ecx, edi
mov byte [esp + 0x210], 6
movsd qword [esp], xmm0
call edx
movsd xmm1, qword [0x5fa920]
movsd xmm0, qword [esp + 0x44]
mulsd xmm0, qword [0x5fb9c8]
comisd xmm1, xmm0
movsd qword [esp + 0x2c], xmm1
jbe 0x43edca
movsd qword [esp + 0x2c], xmm0
push 0xa0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 8
test eax, eax
je 0x43ee04
fld qword [esp + 0x2c]
push 0
sub esp, 8
fstp qword [esp]
push 0
push 0
push edi
push esi
mov ecx, eax
call fcn.0044a850
mov esi, eax
jmp 0x43ee06
xor esi, esi
mov eax, dword [esi + 0x18]
cmp eax, 2
mov byte [esp + 0x200], 6
jle 0x43f275
cmp dword [esi + 0x1c], 0
je 0x43f275
xorps xmm0, xmm0
imul eax, eax, 0x58
mov ecx, dword [esi]
movsd qword [esp + 0xd4], xmm0
movsd xmm0, qword [esp + 0x104]
movsd qword [esp + 0xdc], xmm0
mov edi, dword [ecx + 0x54]
mov ebx, dword [eax + ecx - 4]
cmp edi, ebx
jg 0x43eeaf
push edi
lea eax, [esp + 0x164]
push eax
mov ecx, esi
call fcn.00447b50
fld qword [0x5fa920]
movq xmm0, qword [eax]
mov edx, dword [ebp + 8]
movq qword [esp + 0x58], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
fstp qword [esp]
movq qword [esp + 0x68], xmm0
movq xmm0, qword [eax + 0x10]
push 0
movq qword [esp + 0x74], xmm0
mov ecx, dword [eax + 0x18]
push edx
lea eax, [esp + 0x68]
mov dword [esp + 0x80], ecx
push eax
mov ecx, esi
call fcn.00447780
inc edi
cmp edi, ebx
jle 0x43ee52
cmp dword [esi + 0x1c], 0
mov dword [esp + 0x44], 0
jle 0x43f275
mov dword [esp + 0x34], 0
lea esp, [esp]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
cmp dword [edx + ecx + 0xc], 0
lea ebx, [edx + ecx]
je 0x43f25e
mov eax, ecx
mov ecx, edx
mov edx, dword [eax + ecx]
mov edi, dword [eax + ecx + 4]
imul edx, edx, 0x58
add eax, ecx
imul edi, edi, 0x58
cmp dword [eax + 8], 0
mov ecx, dword [esi]
mov edx, dword [edx + ecx + 0x54]
mov edi, dword [edi + ecx + 0x54]
jne 0x43f1fc
push edx
lea eax, [esp + 0x164]
push eax
mov ecx, esi
call fcn.00447b50
movq xmm0, qword [eax]
movq qword [esp + 0x58], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x68], xmm0
mov ecx, dword [eax + 0x18]
push edi
lea edx, [esp + 0x164]
mov dword [esp + 0x74], ecx
push edx
mov ecx, esi
call fcn.00447b50
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x1c]
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x11c], xmm0
movq xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov edi, dword [esp + 0x11c]
movq qword [esp + 0x124], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0xf4], xmm0
movsd qword [esp + 0xec], xmm0
movsd qword [esp + 0xe4], xmm0
movsd xmm0, qword [ecx + 0x10]
mov dword [esp + 0x12c], eax
mov eax, dword [edi + 0x1c]
subsd xmm0, qword [eax + 0x10]
add ecx, 0x10
add eax, 0x10
movsd qword [esp + 0xe4], xmm0
movsd xmm0, qword [ecx + 8]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xec], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xe4]
movsd qword [esp + 0xf4], xmm0
call fcn.004a88b0
fld qword [ebp + 0x10]
fcompi st(1)
fstp st(0)
jbe 0x43f018
mov ecx, dword [esp + 0x60]
push edi
call fcn.0043ce60
jmp 0x43f25e
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [ecx + edx]
add ecx, edx
imul eax, eax, 0x58
mov edx, dword [esi]
movq xmm0, qword [eax + edx]
add eax, edx
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
mov eax, dword [ecx + 4]
imul eax, eax, 0x58
movq xmm0, qword [eax + edx]
add eax, edx
movq qword [esp + 0xa4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0xac], xmm0
xorps xmm0, xmm0
lea ecx, [esp + 0xa4]
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xac], xmm0
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
push ecx
lea edx, [esp + 0x98]
push edx
mov ecx, edi
call eax
fld qword [0x5fdfa8]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x98]
sub esp, 8
fstp qword [esp]
push edi
call eax
mov ebx, eax
test ebx, ebx
je 0x43f25e
cmp byte [ebx + 4], 0
jne 0x43f0e1
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
jmp 0x43f25c
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 9
test eax, eax
je 0x43f116
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x60]
push ebx
push ecx
push edx
mov ecx, eax
call fcn.00445ee0
mov dword [esp + 0x2c], eax
jmp 0x43f11c
xor eax, eax
mov dword [esp + 0x2c], eax
mov ecx, dword [ebp + 8]
push eax
mov byte [esp + 0x204], 6
mov dword [eax + 8], 0x27
call fcn.0042eff0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 0xa
test eax, eax
je 0x43f15f
mov ecx, dword [esp + 0x2c]
push edi
push ecx
mov ecx, eax
call fcn.00437320
mov ebx, eax
jmp 0x43f161
xor ebx, ebx
mov edx, dword [esp + 0x24]
mov dword [ebx + 8], 0x16
test byte [edx + 8], 1
mov byte [esp + 0x200], 6
je 0x43f181
mov dword [ebx + 8], 0x17
push 1
push ebx
mov ecx, edx
call fcn.004250e0
mov eax, dword [edi]
mov edx, dword [eax + 0x38]
mov ecx, edi
call edx
mov edi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0xd4]
push ecx
mov ecx, edi
call edx
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x200], 0xb
test eax, eax
je 0x43f1d0
mov ecx, dword [esp + 0x2c]
push edi
push ecx
mov ecx, eax
call fcn.00437320
jmp 0x43f1d2
xor eax, eax
mov dword [eax + 8], 0x16
test byte [ebx + 8], 1
mov byte [esp + 0x200], 6
jne 0x43f1ee
mov dword [eax + 8], 0x17
mov ecx, dword [esp + 0x24]
push 1
push eax
call fcn.004250e0
jmp 0x43f25e
mov eax, dword [ebx + 0x10]
test byte [eax + 8], 1
mov ecx, dword [eax + 0x20]
movq xmm1, qword [ecx + 0x80]
movq xmm0, qword [ecx + 0x78]
movq qword [esp + 0xec], xmm1
movsd xmm1, qword [0x5fc740]
jne 0x43f22a
xorpd xmm0, xmm1
mov eax, dword [esp + 0x24]
test byte [eax + 8], 1
jne 0x43f238
xorpd xmm0, xmm1
mov edx, dword [eax + 0x20]
cmp dword [edx + 0xc], 0x36
jne 0x43f245
xorpd xmm0, xmm1
comisd xmm0, xmmword [0x5fa830]
jbe 0x43f25e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xd4]
push edx
call eax
mov eax, dword [esp + 0x44]
add dword [esp + 0x34], 0x14
inc eax
cmp eax, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
jl 0x43eed0
fld qword [esp + 0xfc]
mov ecx, dword [esp + 0x24]
sub esp, 0x10
fstp qword [esp + 8]
fldz
fstp qword [esp]
call fcn.0043d7c0
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, esi
call fcn.00446960
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10