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

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x443a30
test dword [0x87ed4c], 0xffffffff
jne 0x4446f0
call fcn.007663a0
jmp fcn.00443a00
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x244
mov ebx, ecx
pxor xmm1, xmm1
mov dword [esp + 0x234], edx
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x220], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x228], eax
mov dword [esp + 0x21c], 0xffffffff
movq qword [eax], xmm1
movq qword [eax + 8], xmm1
movq qword [eax + 0x10], xmm1
movq qword [eax + 0x18], xmm1
movq qword [eax + 0x20], xmm1
movsd xmm0, qword [0x78cb68]
mov ecx, dword [ebx + 0x34]
movsd qword [eax + 0x10], xmm0
movzx eax, byte [ebx + 0x15]
not eax
and eax, 8
shl eax, 4
add eax, 3
test ecx, ecx
je 0x44463a
mov edi, ecx
mov dword [esp + 0x230], eax
mov esi, 0xffffcfff
test ecx, ecx
je 0x4440d8
movsd xmm2, qword [0x78cb70]
movsd xmm4, qword [0x78cb88]
movsd xmm1, qword [0x78cb78]
movsd xmm3, qword [0x78cb80]
movaps xmm0, xmm4
mov dword [esp + 0x38], esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x22c], ebx
jmp 0x443b08
mov dword [esp + 0x38], 0xffffcfff
mov edi, dword [esp + 0x74]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 4]
xor edi, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x5c], edi
test eax, eax
jle 0x443c0e
mov esi, dword [esp + 0x48]
xor ebx, ebx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
inc ebx
mov ecx, dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ecx + ebx*4 - 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x234]
call fcn.00445420
test eax, eax
je 0x44461a
movzx ecx, word [eax + 0x10]
or edi, 0x11000
test cl, 1
je 0x443bc8
mov edx, dword [eax]
or edi, 0x40000
movzx ecx, word [edx + 2]
and ecx, 0x800
cmp ecx, 0x800
je 0x44409c
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x443bd9
mov ecx, dword [ecx]
mov edx, dword [esp + 0x3c]
imul ecx, edx
add edx, ecx
mov dword [esp + 0x3c], edx
jmp 0x443bd9
mov edx, edi
or edx, 0x80000
test ecx, 0x80
cmovne edi, edx
or esi, dword [eax + 0x1c]
mov ecx, dword [esp + 0x58]
or ecx, dword [eax + 0x18]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
mov dword [esp + 0x58], ecx
cmp ebx, eax
mov dword [esp + 0x5c], ebx
jl 0x443b3e
movsd xmm1, qword [0x78cb78]
movsd xmm2, qword [0x78cb70]
mov dword [esp + 0x48], esi
cmp eax, dword [esp + 0x5c]
jg 0x443c63
mov eax, dword [esp + 0x74]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x443c4a
mov eax, dword [esp + 0x5c]
mov esi, 0x64
lea ecx, [eax*4]
mov dword [esp + 0x44], ecx
mov ebx, edi
or ebx, 0x4000000
test edi, 0xc0000
cmove edi, ebx
jmp 0x443db3
mov eax, dword [esp + 0x5c]
mov esi, 0x64
lea ecx, [eax*4]
mov dword [esp + 0x44], ecx
jmp 0x443db3
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ecx, dword [esi + 8]
mov esi, dword [ebp + 0x18]
lea eax, [ebx*4]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x3c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x234]
call fcn.00445420
movsd xmm2, qword [0x78cb70]
movsd xmm1, qword [0x78cb78]
test eax, eax
je 0x443dae
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x234]
call fcn.00445420
movsd xmm2, qword [0x78cb70]
movsd xmm1, qword [0x78cb78]
mov dword [esp + 0x20], eax
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x24
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x234]
call fcn.00445420
movsd xmm2, qword [0x78cb70]
movsd xmm1, qword [0x78cb78]
test eax, eax
je 0x4440bc
cmp dword [esp + 0x20], 0
je 0x4440b2
mov esi, 0xb
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
or ecx, dword [ebx + 0x18]
or edi, 0x100000
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x48]
or ecx, dword [ebx + 0x1c]
mov dword [esp + 0x48], ecx
test eax, eax
je 0x443da6
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
or ecx, dword [eax + 0x18]
or ebx, dword [eax + 0x1c]
or edi, 0x200000
mov dword [esp + 0x58], ecx
mov dword [esp + 0x48], ebx
or edi, 0x22000
jmp 0x443db3
mov esi, 0x64
cmp dword [ebp + 0x1c], 0
je 0x444613
test edi, 0xc0000
jne 0x443e32
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x204]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x18], ebx
call fcn.00445bb0
movsd xmm2, qword [0x78cb70]
movsd xmm1, qword [0x78cb78]
test eax, eax
je 0x443e32
mov ecx, dword [esp + 0x204]
or edi, 0x1022000
mov eax, 0x2000000
test ecx, ecx
cmovne ecx, eax
or edi, ecx
xor edx, edx
jmp 0x443e37
mov edx, 1
cmp dword [esp + 0x70], 0
je 0x443f0d
test edi, edi
je 0x443f0d
mov ecx, dword [esp + 0x22c]
mov ebx, dword [esp + 0x70]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x6c], ebx
test ebx, ebx
jle 0x443ef8
mov ebx, dword [esp + 0x70]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x68]
xor edx, edx
mov ecx, dword [ecx + esi*4]
cmp ecx, 0x1f
ja 0x443eab
mov ebx, 1
shld edx, ebx, cl
shl ebx, cl
jmp 0x443eb4
xor ebx, ebx
mov edx, 1
shl edx, cl
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x60]
not ebx
not edx
and ebx, eax
and edx, esi
xor edi, edi
cmp ecx, 0x3f
mov ecx, 1
cmovl edi, ecx
test edi, edi
cmovne eax, ebx
cmovne esi, edx
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x64]
inc esi
cmp esi, dword [esp + 0x6c]
jb 0x443e91
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
or eax, ecx
jne 0x443f06
or edi, 0x800000
xor eax, eax
jmp 0x443f0f
mov eax, 1
jmp 0x443f0f
xor eax, eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [ecx + eax]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax]
cvtsi2sd xmm0, eax
imul ecx, ebx
cvtsi2sd xmm3, ecx
shr ecx, 0x1f
addsd xmm3, qword [ecx*8 + 0x78c760]
mov dword [esp + 0x50], eax
shr eax, 0x1f
cmp dword [esp + 0x40], 0
addsd xmm0, qword [eax*8 + 0x78c760]
mov eax, dword [esp + 0x54]
je 0x443f94
movaps xmm4, xmm3
addsd xmm4, xmm3
comisd xmm4, xmm0
jbe 0x443f94
mov ecx, dword [esp + 0x50]
cvtsi2sd xmm4, ebx
shr ecx, 1
shr ebx, 0x1f
addsd xmm4, qword [ebx*8 + 0x78c760]
cvtsi2sd xmm3, ecx
addsd xmm3, qword [0x78c760]
movaps xmm5, xmm3
divsd xmm5, xmm4
cvttsd2si ecx, xmm5
mov dword [esp + 0x3c], ecx
movsd xmm5, qword [0x78cb88]
comisd xmm0, xmm2
jbe 0x443fbb
movsd xmm6, qword [0x78cb88]
movaps xmm4, xmm2
mulsd xmm4, xmm2
addsd xmm5, xmm6
comisd xmm0, xmm4
ja 0x443fad
cvtsi2sd xmm4, dword [esp + 0x3c]
mulsd xmm4, xmm5
addsd xmm4, xmm3
cvtsi2sd xmm0, esi
mulsd xmm3, xmm0
divsd xmm3, xmm1
mulsd xmm0, xmm4
divsd xmm0, xmm1
test edx, edx
je 0x444010
movsd xmm5, qword [0x78cb88]
comisd xmm0, xmm2
jbe 0x444008
movsd xmm6, qword [0x78cb88]
movaps xmm4, xmm2
mulsd xmm4, xmm2
addsd xmm5, xmm6
comisd xmm0, xmm4
ja 0x443ffa
mulsd xmm5, xmm0
addsd xmm0, xmm5
cmp dword [esp + 0x70], 0
je 0x444027
test eax, eax
jne 0x444023
mulsd xmm0, qword [0x78cb80]
test edi, edi
je 0x444067
mov eax, dword [esp + 0x228]
movsd xmm4, qword [eax + 0x10]
comisd xmm4, xmm0
jbe 0x444067
and edi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
movsd qword [ebx + 0x10], xmm0
movsd qword [ebx + 0x18], xmm3
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
mov dword [ebx], edi
mov edi, dword [esp + 0x5c]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edx
mov eax, dword [esp + 0x22c]
cmp dword [eax + 0x34], 0
jne 0x44460c
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x74]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x230], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], ecx
test ecx, ecx
jne 0x443b00
jmp 0x4440d1
imul ecx, dword [esp + 0x3c], 0x19
mov dword [esp + 0x40], 1
mov dword [esp + 0x3c], ecx
jmp 0x443bd9
mov esi, 0x21
jmp 0x443d8a
mov esi, 0x21
cmp dword [esp + 0x20], 0
jne 0x443d66
jmp 0x443da6
mov ebx, dword [esp + 0x22c]
cmp dword [ebp + 0x1c], 0
je 0x4445e4
mov eax, dword [ebx + 0x18]
mov edx, dword [esp + 0x234]
mov edx, dword [edx + 4]
mov dword [esp + 0x224], eax
mov eax, dword [edx]
test eax, eax
jle 0x444114
mov esi, dword [esp + 0x224]
xor ecx, ecx
cmp esi, dword [edx + ecx*4 + 4]
je 0x4445be
inc ecx
cmp ecx, eax
jl 0x444105
xor edi, edi
xor esi, esi
mov eax, dword [esp + 0x234]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x14]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
cmp edx, eax
jae 0x44416d
mov ecx, edi
not ecx
mov dword [esp + 0x218], ecx
mov ecx, esi
not ecx
mov dword [esp + 0x214], ecx
mov dword [esp + 0x210], esi
mov dword [esp + 0x20c], edi
mov dword [esp + 0x22c], ebx
movzx ecx, word [edx + 0x10]
cmp ecx, 0x100
je 0x44418a
add edx, 0x28
cmp edx, eax
jb 0x44415a
mov eax, dword [esp + 0x230]
mov edx, dword [esp + 0x228]
or dword [edx], eax
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
and ebx, dword [esp + 0x218]
and ecx, dword [esp + 0x214]
and ebx, dword [ebp + 0x14]
and ecx, dword [ebp + 0x18]
or ebx, ecx
jne 0x444166
mov edi, dword [edx + 0xc]
mov ebx, dword [esp + 0x20c]
mov ecx, dword [esp + 0x210]
and ebx, dword [edi + 0x160]
and ecx, dword [edi + 0x164]
or ebx, ecx
je 0x444166
mov esi, dword [edi + 0x1c]
mov ecx, dword [edi + 0x14]
lea ebx, [ecx + ecx*4]
lea ecx, [esi + ebx*8]
xorps xmm3, xmm3
xorps xmm4, xmm4
xor ebx, ebx
xor edi, edi
cmp esi, ecx
jae 0x4445ad
mov dword [esp + 0x208], ecx
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
movzx eax, word [esi + 0x10]
cmp eax, 0x200
je 0x444474
mov eax, dword [esp + 0x224]
cmp eax, dword [esi + 8]
jne 0x4443be
mov edx, dword [esp + 0x234]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x22c]
mov edx, dword [eax + 0xc]
test byte [edx + 0x22], 0x10
mov dword [esp + 0x24], ecx
mov byte [esp + 0x30], 0x45
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], 1
je 0x44432c
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1f8], 0
lea edx, [esp + 0x1c0]
lea ecx, [esp + 0x1f8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
lea edx, [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x22c]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.00442600
movsd xmm4, qword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x1e8]
mov edx, dword [esp + 0x1f8]
cmp dword [edx + 0x1c], 0
je 0x44430a
mov eax, dword [edx + 0x18]
test eax, eax
je 0x44430a
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.004c69c4
movsd xmm4, qword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x1e8]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x220]
mov eax, dword [ecx]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.004e33d8
jmp 0x444376
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x14], 0
lea edx, [esp + 0x1c0]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x20]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.00443a00
movsd xmm4, qword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x1e8]
addsd xmm3, qword [esp + 0x1d0]
or ebx, dword [esp + 0x1e0]
or edi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x228]
addsd xmm4, qword [esp + 0x1d8]
movsd xmm0, qword [eax + 0x10]
comisd xmm3, xmm0
jae 0x444461
add esi, 0x28
cmp esi, dword [esp + 0x208]
jb 0x4441fc
mov eax, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
mov ecx, dword [esp + 0x228]
movsd xmm0, qword [ecx + 0x10]
cmp dword [ebp + 0x1c], 0
je 0x444432
movsd xmm2, qword [0x78cb88]
movsd xmm1, qword [0x78cb70]
comisd xmm4, xmm1
jbe 0x44442a
movsd xmm1, qword [0x78cb70]
movsd xmm5, qword [0x78cb88]
addsd xmm2, xmm5
movsd xmm6, qword [0x78cb70]
mulsd xmm1, xmm6
comisd xmm4, xmm1
ja 0x44440c
mulsd xmm2, xmm4
addsd xmm3, xmm2
comisd xmm0, xmm3
jbe 0x444166
mov ecx, dword [esp + 0x228]
movsd qword [ecx + 0x10], xmm3
movsd qword [ecx + 0x18], xmm4
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], edi
mov dword [ecx], 0x10000000
mov dword [ecx + 8], edx
jmp 0x444166
mov eax, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
jmp 0x4443e8
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x22c]
mov ecx, dword [eax + 0xc]
test byte [ecx + 0x22], 0x10
je 0x444562
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1bc], 0
lea ecx, [esp + 0x1c0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x220]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.00442600
movsd xmm4, qword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x1e8]
mov edx, dword [esp + 0x1bc]
cmp dword [edx + 0x1c], 0
je 0x44453d
mov eax, dword [edx + 0x18]
test eax, eax
je 0x44453d
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.004c69c4
movsd xmm4, qword [esp + 0x1f0]
movsd xmm3, qword [esp + 0x1e8]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x220]
mov eax, dword [ecx]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.004e33d8
jmp 0x444376
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x22c]
movsd qword [esp + 0x1e8], xmm3
movsd qword [esp + 0x1f0], xmm4
call fcn.00443a00
jmp 0x444376
mov ecx, dword [esp + 0x228]
movsd xmm0, qword [ecx + 0x10]
jmp 0x4443e8
xor esi, esi
cmp ecx, 0x1f
ja 0x4445d6
mov eax, 1
shld esi, eax, cl
mov edi, eax
shl edi, cl
jmp 0x444118
xor edi, edi
mov esi, 1
shl esi, cl
jmp 0x444118
mov eax, dword [esp + 0x220]
mov edx, dword [eax]
test dword [edx + 0xc], 0x1000000
je 0x4440e2
mov eax, dword [esp + 0x228]
or dword [eax], 0x2000000
jmp 0x4440e2
mov ebx, eax
jmp 0x4440d8
xor edx, edx
jmp 0x443e37
movsd xmm1, qword [0x78cb78]
movsd xmm2, qword [0x78cb70]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], esi
jmp 0x443c0e
movaps xmmword [esp + 0x180], xmm1
movaps xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x1a0], xmm1
movd dword [esp + 0x1b0], xmm1
mov ecx, 1
mov dword [esp + 0x184], ecx
lea esi, [esp + 0x21c]
lea edi, [esp + 0x1b4]
mov dword [esp + 0x188], esi
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x18c], edi
movzx edi, byte [ebx + 0x16]
mov dword [esp + 0x1b8], ecx
mov byte [esp + 0x198], 5
mov dword [esp + 0x190], esi
mov esi, dword [esi + 0x14]
test edi, edi
jne 0x4446ae
mov dword [esp + 0x1a0], esi
test esi, esi
je 0x4446b9
mov esi, dword [esi + 0xc]
mov esi, dword [esi]
jmp 0x4446be
mov esi, 0xf4240
mov dword [esp + 0x1b4], esi
lea ecx, [esp + 0x180]
mov esi, 0xfff0ffff
xor edi, edi
mov dword [esp + 0x230], 3
jmp 0x443ab8
push ebp
mov ebp, esp
and esp, 0xfffffff8
push edi
push esi
push ebx
sub esp, 0x23c
mov ebx, ecx
mov dword [esp + 0x238], edx
mov dword [esp + 0x228], eax
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x224], 0xffffffff
mov esi, 0x28
xor eax, eax
mov edx, dword [ebp + 0x20]
mov dword [edx + esi - 4], eax
mov dword [edx + esi - 8], eax
mov dword [edx + esi - 0xc], eax
mov dword [edx + esi - 0x10], eax
mov dword [edx + esi - 0x14], eax
sub esi, 0x14
jne 0x444722
mov eax, dword [ebp + 0x20]
mov dword [eax + 0x10], 0xa2879f2e
mov dword [eax + 0x14], 0x547d42ae
movzx esi, byte [ebx + 0x15]
not esi
and esi, 8
shl esi, 4
add esi, 3
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x445354
mov ecx, eax
mov dword [esp + 0x234], esi
mov edx, 0xffffcfff
test eax, eax
je 0x444e10
fld qword [0x78cb98]
fstp st(0)
fld1
fld qword [0x78cba0]
fld qword [0x78cba8]
fstp st(0)
mov dword [esp + 0x44], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x88], edi
mov dword [esp + 0x230], ebx
fxch st(1)
jmp 0x4447c9
mov dword [esp + 0x44], 0xffffcfff
mov edi, dword [esp + 0x84]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x6c], edi
test eax, eax
jle 0x4448df
xor ebx, ebx
fstp dword [esp + 0x40]
mov esi, dword [esp + 0x54]
fstp st(0)
inc ebx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x238]
mov edx, dword [esp + 0x88]
mov ecx, dword [ecx + ebx*4 - 4]
call fcn.00445420
test eax, eax
je 0x445337
or edi, 0x11000
movzx ecx, word [eax + 0x10]
test cl, 1
je 0x44489b
mov edx, dword [eax]
or edi, 0x40000
movzx ecx, word [edx + 2]
and ecx, 0x800
cmp ecx, 0x800
je 0x444dd0
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x4448ad
mov ecx, dword [ecx]
mov edx, dword [esp + 0x48]
imul ecx, edx
add edx, ecx
mov dword [esp + 0x48], edx
jmp 0x4448ad
mov edx, edi
or edx, 0x80000
test ecx, 0x80
je 0x4448ad
mov edi, edx
mov ecx, dword [esp + 0x68]
or ecx, dword [eax + 0x18]
mov dword [esp + 0x68], ecx
or esi, dword [eax + 0x1c]
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 4]
cmp ebx, eax
jl 0x444808
mov dword [esp + 0x54], esi
fld qword [0x78cba0]
fld dword [esp + 0x40]
cmp eax, dword [esp + 0x6c]
jg 0x44493c
mov eax, dword [esp + 0x84]
movzx ecx, byte [eax + 0x18]
test ecx, ecx
je 0x444923
mov esi, 0x64
mov eax, dword [esp + 0x6c]
lea ecx, [eax*4]
mov dword [esp + 0x50], ecx
mov ebx, edi
or ebx, 0x4000000
test edi, 0xc0000
jne 0x444aa5
mov edi, ebx
jmp 0x444aa5
mov esi, 0x64
mov eax, dword [esp + 0x6c]
lea ecx, [eax*4]
mov dword [esp + 0x50], ecx
jmp 0x444aa5
mov ebx, dword [esp + 0x6c]
lea eax, [ebx*4]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x84]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x24], ecx
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x3c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x238]
mov edx, dword [esp + 0x88]
fstp st(1)
fstp dword [esp + 0x40]
call fcn.00445420
fld dword [esp + 0x40]
fld qword [0x78cba0]
test eax, eax
je 0x444a9e
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x18
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x238]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x24]
fstp st(0)
fstp dword [esp + 0x40]
call fcn.00445420
fld dword [esp + 0x40]
fld qword [0x78cba0]
mov dword [esp + 0x20], eax
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0x24
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x238]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x24]
fstp st(0)
fstp dword [esp + 0x40]
call fcn.00445420
fld dword [esp + 0x40]
fld qword [0x78cba0]
test eax, eax
je 0x444df0
cmp dword [esp + 0x20], 0
je 0x444de6
mov esi, 0xb
or edi, 0x100000
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
or ecx, dword [ebx + 0x18]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x54]
or ecx, dword [ebx + 0x1c]
mov dword [esp + 0x54], ecx
test eax, eax
je 0x444a94
or edi, 0x200000
mov ecx, dword [esp + 0x68]
or ecx, dword [eax + 0x18]
mov dword [esp + 0x68], ecx
mov ebx, dword [esp + 0x54]
or ebx, dword [eax + 0x1c]
mov dword [esp + 0x54], ebx
or edi, 0x22000
fxch st(1)
jmp 0x444aa5
mov esi, 0x64
fxch st(1)
cmp dword [ebp + 0x1c], 0
je 0x445330
test edi, 0xc0000
jne 0x444b2f
mov ebx, dword [esp + 0x88]
mov dword [esp + 0xc], ebx
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
lea ebx, [esp + 0x20c]
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x238]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x84]
fstp st(1)
fstp dword [esp + 0x40]
call fcn.00445bb0
fld dword [esp + 0x40]
fld qword [0x78cba0]
test eax, eax
fxch st(1)
je 0x444b2f
or edi, 0x1022000
mov eax, 0x2000000
cmp dword [esp + 0x20c], 0
jne 0x444b29
mov eax, 0
or edi, eax
xor edx, edx
jmp 0x444b34
mov edx, 1
cmp dword [esp + 0x80], 0
je 0x444c14
test edi, edi
je 0x444c14
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x7c], ebx
test ebx, ebx
jle 0x444bff
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, dword [edx + edi*4]
cmp esi, 0x1f
ja 0x444bb3
mov ecx, esi
xor edx, edx
mov ebx, 1
shld edx, ebx, cl
shl ebx, cl
jmp 0x444bbe
xor ebx, ebx
mov ecx, esi
mov edx, 1
shl edx, cl
mov dword [esp + 0x74], edi
not ebx
not edx
and ebx, eax
mov edi, dword [esp + 0x70]
and edx, edi
xor ecx, ecx
cmp esi, 0x3f
setl cl
test ecx, ecx
je 0x444bdc
mov eax, ebx
je 0x444be0
mov edi, edx
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x74]
inc edi
cmp edi, dword [esp + 0x7c]
jb 0x444b97
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
or eax, ecx
jne 0x444c0d
or edi, 0x800000
xor ecx, ecx
jmp 0x444c16
mov ecx, 1
jmp 0x444c16
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov ebx, dword [ecx + eax]
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x48]
imul ecx, ebx
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
shr ecx, 0x1f
fadd qword [ecx*8 + 0x78c770]
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
fild dword [eax]
shr ebx, 0x1f
fadd qword [ebx*8 + 0x78c770]
cmp dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x64]
je 0x444ca3
fld st(1)
fadd st(2)
fcomp st(1)
fnstsw ax
sahf
jbe 0x444ca3
fstp st(1)
mov ebx, dword [esp + 0x60]
shr ebx, 1
mov dword [esp + 0x38], ebx
fild dword [esp + 0x38]
fadd qword [0x78c770]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
shr eax, 0x1f
fadd qword [eax*8 + 0x78c770]
fdivr st(1)
call fcn.00766870
mov dword [esp + 0x48], eax
fxch st(1)
fld st(2)
fld st(0)
fxch st(2)
fcom qword [0x78cb98]
fnstsw ax
sahf
jbe 0x44540f
fld qword [0x78cb98]
fld st(0)
fxch st(3)
fadd st(6)
fxch st(1)
fmul st(3)
fcom st(2)
fnstsw ax
sahf
fxch st(1)
fxch st(3)
jp 0x444cd5
jb 0x444cc0
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fmulp st(1)
fadd st(2)
mov dword [esp + 0x38], esi
fild dword [esp + 0x38]
fmul st(3), st(0)
fxch st(3)
fdiv st(5)
fxch st(1)
fmulp st(3)
fxch st(2)
fdiv st(4)
test edx, edx
je 0x444d35
fcom qword [0x78cb98]
fnstsw ax
sahf
jbe 0x444d31
fld qword [0x78cb98]
fld st(0)
fxch st(3)
fadd st(5)
fxch st(1)
fmul st(3)
fcom st(2)
fnstsw ax
sahf
fxch st(1)
fxch st(3)
jp 0x444d2d
jb 0x444d18
fstp st(1)
fstp st(0)
fmul st(1), st(0)
fadd st(1)
fstp st(1)
cmp dword [esp + 0x80], 0
je 0x444d4f
test ecx, ecx
jne 0x444d4b
fmul qword [0x78cba8]
test edi, edi
je 0x444d8e
mov ecx, dword [ebp + 0x20]
fld qword [ecx + 0x10]
fcomp st(1)
fnstsw ax
sahf
jbe 0x444d8e
mov ebx, dword [ebp + 0x20]
fst qword [ebx + 0x10]
fxch st(1)
fst qword [ebx + 0x18]
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x20], eax
mov ecx, dword [esp + 0x54]
mov dword [ebx + 0x24], ecx
and edi, dword [esp + 0x44]
mov dword [ebx], edi
mov edi, dword [esp + 0x6c]
mov dword [ebx + 4], edi
mov edx, dword [esp + 0x80]
mov dword [ebx + 8], edx
fxch st(1)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x230]
cmp dword [eax + 0x34], 0
jne 0x445325
mov eax, dword [esp + 0x34]
mov dword [esp + 0x234], eax
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ecx
test ecx, ecx
jne 0x4447c1
jmp 0x444e05
imul ecx, dword [esp + 0x48], 0x19
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], 1
jmp 0x4448ad
mov esi, 0x21
jmp 0x444a78
mov esi, 0x21
cmp dword [esp + 0x20], 0
jne 0x444a54
jmp 0x444a94
fstp st(1)
fstp st(0)
mov ebx, dword [esp + 0x230]
cmp dword [ebp + 0x1c], 0
je 0x445301
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x22c], eax
mov edx, dword [esp + 0x238]
mov edx, dword [edx + 4]
mov eax, dword [edx]
test eax, eax
jle 0x444e4c
xor ecx, ecx
mov esi, dword [esp + 0x22c]
cmp esi, dword [edx + ecx*4 + 4]
je 0x4452db
inc ecx
cmp ecx, eax
jl 0x444e3d
xor esi, esi
xor eax, eax
mov edx, dword [esp + 0x238]
mov ecx, dword [edx + 0x1c]
mov edi, dword [edx + 0x14]
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
cmp ecx, edx
jae 0x444eac
mov edi, esi
not edi
mov dword [esp + 0x220], edi
mov edi, eax
not edi
mov dword [esp + 0x21c], edi
fldz
fld1
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], esi
mov dword [esp + 0x230], ebx
movzx eax, word [ecx + 0x10]
cmp eax, 0x100
je 0x444ec5
add ecx, 0x28
cmp ecx, edx
jb 0x444e96
fstp st(0)
fstp st(0)
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0x234]
or dword [edx], eax
add esp, 0x23c
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [ecx + 0x20]
mov eax, dword [ecx + 0x24]
and ebx, dword [esp + 0x220]
and eax, dword [esp + 0x21c]
and ebx, dword [ebp + 0x14]
and eax, dword [ebp + 0x18]
or ebx, eax
jne 0x444ea1
mov edi, dword [ecx + 0xc]
mov ebx, dword [esp + 0x218]
and ebx, dword [edi + 0x160]
mov eax, dword [esp + 0x214]
and eax, dword [edi + 0x164]
or ebx, eax
je 0x444ea1
mov esi, dword [edi + 0x1c]
mov eax, dword [edi + 0x14]
lea ebx, [eax + eax*4]
lea eax, [esi + ebx*8]
fld st(1)
fld st(2)
xor ebx, ebx
xor edi, edi
cmp esi, eax
jae 0x4452c6
mov dword [esp + 0x210], eax
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], ecx
fxch st(2)
fstp dword [esp + 0x1fc]
fxch st(2)
fstp dword [esp + 0x200]
movzx eax, word [esi + 0x10]
cmp eax, 0x200
je 0x4451a7
mov eax, dword [esp + 0x22c]
cmp eax, dword [esi + 8]
jne 0x4450e8
mov edx, dword [esp + 0x238]
mov eax, dword [edx]
mov dword [esp + 0x20], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x30], 0x45
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], 1
mov eax, dword [esp + 0x230]
mov edx, dword [eax + 0xc]
test byte [edx + 0x22], 0x10
je 0x44505f
xor edx, edx
mov dword [esp + 0x1f8], edx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x1f8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x228]
lea edx, [esp + 0x20]
mov ecx, dword [esp + 0x230]
fxch st(1)
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.00442600
fld qword [esp + 0x1f0]
fld qword [esp + 0x1e8]
mov edx, dword [esp + 0x1f8]
cmp dword [edx + 0x1c], 0
je 0x445041
mov eax, dword [edx + 0x18]
test eax, eax
je 0x445041
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.004c69c4
fld qword [esp + 0x1f0]
fld qword [esp + 0x1e8]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx]
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.004e33d8
jmp 0x4450a7
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
lea edx, [esp + 0x1c0]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x228]
lea edx, [esp + 0x20]
mov ecx, dword [esp + 0x230]
fxch st(1)
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.00443a00
fld qword [esp + 0x1f0]
fld qword [esp + 0x1e8]
fadd qword [esp + 0x1d0]
fxch st(1)
fadd qword [esp + 0x1d8]
or ebx, dword [esp + 0x1e0]
or edi, dword [esp + 0x1e4]
mov edx, dword [ebp + 0x20]
fld qword [edx + 0x10]
fcom st(2)
fnstsw ax
sahf
jp 0x4450e6
jbe 0x445182
fstp st(0)
add esi, 0x28
cmp esi, dword [esp + 0x210]
jb 0x444f47
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x208]
fld dword [esp + 0x1fc]
fld dword [esp + 0x200]
mov eax, dword [ebp + 0x20]
fld qword [eax + 0x10]
cmp dword [ebp + 0x1c], 0
je 0x445156
fld st(2)
fld qword [0x78cb98]
fcomp st(5)
fnstsw ax
sahf
jae 0x445152
jp 0x445152
fld qword [0x78cb98]
fxch st(1)
fadd st(4)
fld qword [0x78cb98]
fmulp st(2)
fxch st(5)
fcom st(1)
fnstsw ax
sahf
fxch st(5)
fxch st(1)
ja 0x445137
fstp st(0)
fmul st(4)
faddp st(5)
fcomp st(4)
fnstsw ax
sahf
jbe 0x445416
mov eax, dword [ebp + 0x20]
fxch st(3)
fstp qword [eax + 0x10]
fxch st(1)
fstp qword [eax + 0x18]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], edi
mov dword [eax], 0x10000000
mov dword [eax + 8], ecx
jmp 0x444ea1
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x208]
fld dword [esp + 0x1fc]
fld dword [esp + 0x200]
fxch st(1)
fxch st(2)
jmp 0x44511a
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0xc]
test byte [ecx + 0x22], 0x10
je 0x44527d
xor eax, eax
mov dword [esp + 0x1bc], eax
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c0]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x230]
fxch st(1)
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.00442600
fld qword [esp + 0x1f0]
fld qword [esp + 0x1e8]
mov edx, dword [esp + 0x1bc]
cmp dword [edx + 0x1c], 0
je 0x44525c
mov eax, dword [edx + 0x18]
test eax, eax
je 0x44525c
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.004c69c4
fld qword [esp + 0x1f0]
fld qword [esp + 0x1e8]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x228]
mov eax, dword [ecx]
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.004e33d8
jmp 0x4450a7
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x230]
fxch st(1)
fstp qword [esp + 0x1e8]
fstp qword [esp + 0x1f0]
call fcn.00443a00
jmp 0x4450a7
mov eax, dword [ebp + 0x20]
fld qword [eax + 0x10]
fxch st(2)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
jmp 0x44511a
cmp ecx, 0x1f
ja 0x4452f3
xor eax, eax
mov edx, 1
shld eax, edx, cl
mov esi, edx
shl esi, cl
jmp 0x444e50
xor esi, esi
mov eax, 1
shl eax, cl
jmp 0x444e50
mov eax, dword [esp + 0x228]
mov edx, dword [eax]
test dword [edx + 0xc], 0x1000000
je 0x444e1a
mov eax, dword [ebp + 0x20]
or dword [eax], 0x2000000
jmp 0x444e1a
fstp st(1)
fstp st(0)
mov ebx, eax
jmp 0x444e10
xor edx, edx
jmp 0x444b34
mov dword [esp + 0x54], esi
fld qword [0x78cba0]
fld dword [esp + 0x40]
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 4]
jmp 0x4448df
mov dword [esp + 0x1b0], 0
mov edx, 0x30
xor eax, eax
mov dword [esp + edx + 0x17c], eax
mov dword [esp + edx + 0x178], eax
mov dword [esp + edx + 0x174], eax
mov dword [esp + edx + 0x170], eax
sub edx, 0x10
jne 0x445364
mov ecx, 1
mov dword [esp + 0x184], ecx
lea eax, [esp + 0x224]
mov dword [esp + 0x188], eax
lea edx, [esp + 0x1b4]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x1b8], ecx
mov byte [esp + 0x198], 5
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x190], eax
mov eax, dword [eax + 0x14]
movzx edx, byte [ebx + 0x16]
test edx, edx
jne 0x4453da
mov dword [esp + 0x1a0], eax
test eax, eax
je 0x4453e5
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
jmp 0x4453ea
mov eax, 0xf4240
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x180]
mov edx, 0xfff0ffff
mov dword [esp + 0x234], 3
xor ecx, ecx
jmp 0x444779
fstp st(0)
jmp 0x444cdb
fstp st(3)
fstp st(1)
jmp 0x444ea1