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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46a6d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
mov eax, dword [ecx + 0x38]
test eax, eax
push ebx
push esi
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], eax
je 0x440bfa
jmp 0x440b20
mov edx, dword [esp + 0x30]
fld qword [edx + 0x58]
mov ebx, dword [edx + 0x6c]
test ebx, ebx
fst qword [esp + 0x20]
fmul qword [0x474c68]
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], ebx
fst qword [esp + 0x40]
fadd qword [edx]
fstp qword [esp + 0x18]
je 0x440be6
mov edi, edi
fld qword [ebx]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x440be6
mov eax, dword [edx + 0x44]
cmp dword [ebx + 0x44], eax
jne 0x440bd7
mov edi, dword [edx + 0x3c]
mov esi, dword [ebx + 0x3c]
lea ecx, [eax + eax]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x440bd7
fld qword [esp + 0x20]
fmul qword [0x476758]
fld qword [ebx + 0x10]
fsub qword [edx + 0x10]
fabs
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x440bd5
fld qword [ebx + 0x18]
fsub qword [edx + 0x18]
fabs
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x440bd7
fld qword [ebx + 8]
fsub qword [edx + 8]
fabs
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x440bd7
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x6c], ecx
mov ecx, ebx
call fcn.0043aaf0
push ebx
call fcn.004588cd
add esp, 4
jmp 0x440bee
fstp st(0)
mov dword [esp + 0x38], ebx
mov ebx, dword [ebx + 0x6c]
test ebx, ebx
jne 0x440b50
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x440b20
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x38]
test edi, edi
je 0x440ccc
lea esp, [esp]
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x440cc1
fld qword [edi + 0x58]
mov ecx, dword [edi + 0x54]
mov al, byte [edx]
fstp qword [esp + 0x20]
test al, al
fld qword [esp + 0x20]
fmul qword [ecx + 0x18]
mov esi, dword [edi + 0x6c]
mov ebx, edi
fadd qword [edi + 8]
fstp qword [esp + 0x18]
je 0x440cfb
test esi, esi
je 0x440cc1
fld qword [esi]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x440cc1
cmp dword [esi + 0x54], ecx
jne 0x440cc1
fld qword [esi + 0x58]
fsub qword [esp + 0x20]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jp 0x440cc1
fld qword [esi + 0x20]
fsub qword [edi + 0x20]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jnp 0x440cb0
fld qword [esi + 0x18]
fsub qword [edi + 0x18]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jp 0x440cc1
fld qword [esi + 0x10]
fsub qword [edi + 0x10]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jp 0x440cc1
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x50]
add ecx, eax
cmp dword [esi + 0x4c], ecx
je 0x440d63
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x440c10
mov ecx, dword [0x499800]
xor eax, eax
cmp ecx, eax
jne 0x440d8a
push 0x3b
push 0x47545c
lea ecx, [esp + 0x60]
call fcn.00454840
push 0x480dd4
lea edx, [esp + 0x5c]
push edx
call fcn.0045867d
test esi, esi
je 0x440cc1
nop
fld qword [esi]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x440cc1
cmp dword [esi + 0x54], ecx
jne 0x440d55
fld qword [esi + 0x58]
fsub qword [esp + 0x20]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jp 0x440d55
fld qword [esi + 0x20]
fsub qword [edi + 0x20]
fabs
fcomp qword [0x477820]
fnstsw ax
test ah, 5
jp 0x440d55
fld qword [esi]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x440d55
mov eax, dword [edi + 0x50]
add eax, dword [edi + 0x4c]
cmp dword [esi + 0x4c], eax
je 0x440d63
mov ebx, esi
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x440d00
jmp 0x440cc1
push esi
mov ecx, edi
call fcn.0043a680
mov ecx, dword [esi + 0x6c]
mov dword [ebx + 0x6c], ecx
mov ecx, esi
call fcn.0043aaf0
push esi
call fcn.004588cd
mov edx, dword [esp + 0x14]
add esp, 4
jmp 0x440cc4
cmp dword [edx + 0x38], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
je 0x440f96
jmp 0x440da0
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x38]
mov eax, dword [esi + 0x6c]
mov dword [ecx + 0x38], eax
mov dword [esi + 0x6c], 0
cmp byte [ecx], 0
je 0x440dec
mov edi, dword [esp + 0x28]
test edi, edi
je 0x440ef1
lea edx, [esp + 0x40]
push edx
push esi
push edi
call fcn.00439a90
fcomp qword [0x46e5a8]
fnstsw ax
test ah, 1
jne 0x440ef1
fld qword [esp + 0x40]
fstp qword [esp + 0x38]
jmp 0x440e55
fld qword [0x46e5a8]
mov ebx, dword [esp + 0x18]
fstp qword [esp + 0x30]
xor edi, edi
test ebx, ebx
fld qword [0x46e5a8]
fstp qword [esp + 0x38]
je 0x440ef1
mov edi, edi
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x40]
push eax
push esi
push ebx
call fcn.00439a90
fcom qword [0x46e5a8]
fnstsw ax
test ah, 1
jne 0x440e4c
test edi, edi
je 0x440e3c
fcom qword [esp + 0x30]
fnstsw ax
test ah, 5
jp 0x440e4c
fstp qword [esp + 0x30]
mov edi, ebx
fld qword [esp + 0x40]
fstp qword [esp + 0x38]
jmp 0x440e4e
fstp st(0)
mov ebx, dword [ebx + 0x6c]
test ebx, ebx
jne 0x440e10
test edi, edi
je 0x440ef1
mov eax, dword [esi + 0xb0]
test eax, eax
jne 0x440ef1
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x440ef1
mov ecx, dword [edi + 0x4c]
mov dword [ecx + 0x6c], esi
mov dword [edi + 0x4c], esi
fld qword [esi + 8]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x440e8e
fld qword [esi + 8]
fstp qword [edi + 8]
fld qword [esi + 0x10]
fcomp qword [edi + 0x10]
fnstsw ax
test ah, 5
jp 0x440ea1
fld qword [esi + 0x10]
fstp qword [edi + 0x10]
fld qword [esi + 0x18]
fcomp qword [edi + 0x18]
fnstsw ax
test ah, 0x41
jne 0x440eb4
fld qword [esi + 0x18]
fstp qword [edi + 0x18]
fld qword [esi + 0x58]
fcomp qword [edi + 0x40]
fnstsw ax
test ah, 0x41
jne 0x440ec7
fld qword [esi + 0x58]
fstp qword [edi + 0x40]
mov edx, dword [esi + 0x44]
add dword [edi + 0x5c], edx
mov eax, dword [edi + 0x38]
fld qword [eax + 0x18]
fmul qword [edi + 0x40]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x440f87
mov byte [ecx + 0x68], 1
inc dword [edi + 0x5c]
jmp 0x440f87
push 0x80
call fcn.004588d2
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x440f2a
mov dword [eax + 0x48], ecx
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov byte [eax + 0x64], cl
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], ecx
jmp 0x440f2c
xor eax, eax
mov dword [eax + 0x4c], esi
mov dword [eax + 0x48], esi
fld qword [esi]
fstp qword [eax]
fld qword [esi + 8]
fstp qword [eax + 8]
fld qword [esi + 0x10]
fstp qword [eax + 0x10]
fld qword [esi + 0x18]
fstp qword [eax + 0x18]
fld qword [esi + 0x20]
fstp qword [eax + 0x20]
mov edx, dword [esi + 0x54]
mov dword [eax + 0x38], edx
fld qword [esi + 0x58]
fstp qword [eax + 0x40]
mov edx, dword [esi + 0x44]
mov dword [eax + 0x5c], edx
mov edx, dword [esi + 0xb0]
mov dword [eax + 0x74], edx
mov edx, dword [esi + 0xb4]
mov dword [eax + 0x78], edx
mov edx, dword [esp + 0x28]
cmp edx, ecx
je 0x440f7f
mov dword [edx + 0x6c], eax
jmp 0x440f83
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
test ecx, ecx
jne 0x440da0
mov ecx, dword [0x4994bc]
call fcn.0041ef60
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x28], ebx
je 0x440fb4
mov cl, byte [ebx + 8]
mov byte [esp + 0xf], cl
jmp 0x440fb9
mov byte [esp + 0xf], 0
mov esi, dword [esp + 0x18]
test esi, esi
je 0x4410ca
mov edx, dword [esi + 0x5c]
shl edx, 1
push edx
call fcn.0045812f
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x5c]
shl eax, 3
push eax
call fcn.0045812f
mov ecx, dword [esi + 0x5c]
shl ecx, 2
push ecx
mov dword [esi + 0x54], eax
call fcn.0045812f
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x48]
add esp, 0xc
xor edx, edx
test eax, eax
je 0x441061
lea ecx, [ecx]
mov edi, dword [eax + 0x44]
xor ecx, ecx
test edi, edi
jle 0x441037
lea esp, [esp]
mov edi, dword [eax + 0x3c]
mov di, word [edi + ecx*2]
mov ebx, dword [esi + 0x50]
mov word [ebx + edx*2], di
mov edi, dword [eax + 0x40]
fld qword [edi + ecx*8]
mov ebx, dword [esi + 0x54]
fstp qword [ebx + edx*8]
mov edi, dword [eax + 0x44]
inc edx
inc ecx
cmp ecx, edi
jl 0x441010
mov ebx, dword [esp + 0x28]
mov cl, byte [eax + 0x68]
test cl, cl
je 0x44105a
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x44105a
mov ecx, dword [esi + 0x50]
mov word [ecx + edx*2], 0x20
mov ecx, dword [eax + 0x6c]
mov edi, dword [esi + 0x54]
fld qword [ecx]
fstp qword [edi + edx*8]
inc edx
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x441000
mov eax, dword [esi + 0x5c]
xor edi, edi
cmp eax, edi
mov dword [esi + 0x60], edi
jle 0x4410ad
lea ecx, [ecx]
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x58]
mov dword [edx + edi*4], eax
mov al, byte [esp + 0xf]
test al, al
je 0x441086
inc dword [esi + 0x60]
jmp 0x4410a5
test ebx, ebx
je 0x4410a5
mov edx, dword [esi + 0x50]
xor eax, eax
mov ax, word [edx + edi*2]
push 8
lea ecx, [esp + 0x4c]
push ecx
mov ecx, ebx
push eax
call fcn.0042f480
add dword [esi + 0x60], eax
mov eax, dword [esi + 0x5c]
inc edi
cmp edi, eax
jl 0x441070
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x50]
cmp word [edx + ecx*2 - 2], 0x2d
jne 0x4410bf
mov byte [esi + 0x64], 1
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x440fc5
test ebx, ebx
je 0x4410d5
mov ecx, ebx
call fcn.0042f8d0
mov edi, dword [esp + 0x18]
test edi, edi
je 0x441197
mov esi, dword [esp + 0x18]
xor edx, edx
cmp esi, edi
mov dword [esp + 0x28], edx
je 0x44116e
fld qword [edi]
fcomp qword [esi + 8]
fld qword [edi]
fnstsw ax
test ah, 1
jne 0x44112a
fsub qword [esi + 8]
mov eax, dword [edi + 0x38]
fld qword [eax + 0x20]
fmul qword [edi + 0x40]
fdivp st(1)
call fcn.00458858
cmp eax, 4
jle 0x44111e
mov eax, 4
mov ecx, dword [esi + 0x58]
mov ecx, dword [ecx]
add ecx, dword [esi + 0x60]
add ecx, eax
jmp 0x441159
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x441163
mov ebx, dword [esi + 0x5c]
xor ecx, ecx
test ebx, ebx
jle 0x441153
mov edx, dword [esi + 0x54]
nop
fld qword [edi]
fcomp qword [edx]
fnstsw ax
test ah, 1
jne 0x441153
inc ecx
add edx, 8
cmp ecx, ebx
jl 0x441140
mov edx, dword [esi + 0x58]
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [esp + 0x28]
jle 0x441163
mov dword [esp + 0x28], ecx
mov esi, dword [esi + 0x6c]
cmp esi, edi
jne 0x4410f3
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x5c]
xor eax, eax
test ecx, ecx
jle 0x44118c
mov ecx, dword [edi + 0x58]
mov ebx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
add ebx, edx
mov dword [ecx], ebx
mov ecx, dword [edi + 0x5c]
inc eax
cmp eax, ecx
jl 0x441177
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x4410e1
mov edx, dword [esp + 0x10]
cmp byte [edx], 0
je 0x4411cb
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [edx + 0x40], eax
je 0x4412da
nop
fld qword [0x46e5a8]
fstp qword [eax + 0x28]
fld qword [edx + 8]
fstp qword [eax + 0x30]
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x4411b0
jmp 0x4412de
mov edi, dword [esp + 0x18]
test edi, edi
mov dword [edx + 0x40], 0
je 0x441225
lea ebx, [ebx]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x40]
mov ecx, edi
add edi, 0x6c
xor ebx, ebx
test esi, esi
mov dword [esp + 0x38], edi
mov edi, dword [edi]
je 0x441214
push esi
call fcn.004398d0
test al, al
jne 0x44120b
mov ebx, esi
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x4411f8
test ebx, ebx
je 0x441214
mov dword [ebx + 0x6c], ecx
jmp 0x44121b
mov eax, dword [esp + 0x10]
mov dword [eax + 0x40], ecx
test edi, edi
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
jne 0x4411e0
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x40]
mov ecx, esi
test ecx, ecx
je 0x4412da
test esi, esi
je 0x441254
lea ebx, [ebx]
fld qword [esi + 0x18]
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x441254
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x441240
test esi, esi
fld qword [0x46e5a8]
mov eax, dword [esp + 0x10]
fstp qword [ecx + 0x28]
fld qword [eax + 8]
mov edx, esi
fstp qword [ecx + 0x30]
je 0x4412cf
lea ecx, [ecx]
fld qword [edx + 0x10]
fcomp qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x4412cf
fld qword [edx + 0x18]
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4412c8
fld qword [edx + 8]
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x4412ab
fld qword [edx + 8]
fcomp qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x4412c8
fld qword [edx + 8]
fstp qword [ecx + 0x28]
jmp 0x4412c8
fld qword [edx]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x4412c8
fld qword [edx]
fcomp qword [ecx + 0x30]
fnstsw ax
test ah, 5
jp 0x4412c8
fld qword [edx]
fstp qword [ecx + 0x30]
mov edx, dword [edx + 0x6c]
test edx, edx
jne 0x441270
mov ecx, dword [ecx + 0x6c]
test ecx, ecx
jne 0x441236
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x40]
test ecx, ecx
je 0x441306
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x4412ff
lea esp, [esp]
mov byte [eax + 0x75], 0
mov byte [eax + 0x76], 0
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x4412f0
mov ecx, dword [ecx + 0x6c]
test ecx, ecx
jne 0x4412e5
mov eax, dword [edx + 0x40]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x20], eax
mov edi, ebx
je 0x4419d7
mov ecx, ebx
call fcn.00439920
fmul qword [0x477818]
fadd qword [ebx + 0x20]
fstp qword [esp + 0x38]
lea ecx, [ecx]
test ebx, ebx
je 0x4419d7
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x4419c4
fld qword [edi + 0x20]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x44199e
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x441363
mov eax, dword [ecx + 0x6c]
test eax, eax
je 0x441379
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x4415a3
mov edx, dword [eax + 0x6c]
test edx, edx
jne 0x4415a3
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x4413b8
mov edx, dword [eax + 0x6c]
test edx, edx
jne 0x4413b8
test ecx, ecx
je 0x441392
mov eax, dword [ecx + 0x6c]
test eax, eax
je 0x4413b8
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x40]
test edi, edi
mov dword [esp + 0x20], edi
je 0x4413b6
cmp edi, ebx
je 0x4413b2
mov dword [esp + 0x20], edi
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x4413a1
jmp 0x4413b6
test edi, edi
jne 0x4413b8
mov edi, ebx
mov ecx, edi
mov esi, ebx
call fcn.00439920
fstp qword [esp + 0x28]
fld qword [esi + 0x20]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x4414d4
mov ecx, esi
call fcn.00439920
fstp qword [esp + 0x30]
cmp edi, esi
je 0x4414c9
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fld qword [esp + 0x30]
fdiv qword [esp + 0x28]
faddp st(1)
fcomp qword [0x477400]
fnstsw ax
test ah, 5
jp 0x4414c9
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x441422
fld qword [esp + 0x30]
jmp 0x441426
fld qword [esp + 0x28]
fld qword [edi + 0x20]
fsub qword [esi + 0x20]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4414c9
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x441458
fld qword [esp + 0x30]
jmp 0x44145c
fld qword [esp + 0x28]
fld qword [edi + 8]
fsub qword [esi]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
je 0x44158e
fld qword [edi]
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x441494
fld qword [edi + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jnp 0x44158e
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x4414a9
fld qword [esp + 0x30]
jmp 0x4414ad
fld qword [esp + 0x28]
fld qword [edi]
fsub qword [esi + 8]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
je 0x44158e
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x4413c5
mov esi, ebx
fld qword [esi + 0x20]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x44159c
mov ecx, esi
call fcn.00439920
fstp qword [esp + 0x30]
cmp edi, esi
je 0x441581
fld qword [esp + 0x28]
fdiv qword [esp + 0x30]
fld qword [esp + 0x30]
fdiv qword [esp + 0x28]
faddp st(1)
fcomp qword [0x477400]
fnstsw ax
test ah, 5
jp 0x441581
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x441533
fld qword [esp + 0x30]
jmp 0x441537
fld qword [esp + 0x28]
fld qword [edi + 0x20]
fsub qword [esi + 0x20]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
jne 0x441581
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x441565
fld qword [esp + 0x30]
jmp 0x441569
fld qword [esp + 0x28]
fld qword [edi]
fsub qword [esi + 8]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
je 0x44158e
mov esi, dword [esi + 0x6c]
test esi, esi
jne 0x4414d6
jmp 0x44159c
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4415b7
mov eax, dword [edi + 0x78]
test eax, eax
je 0x4415b7
cmp ebx, edi
jne 0x4415a3
mov ebx, dword [edi + 0x6c]
mov dword [esp + 0x20], edi
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x441343
jmp 0x44199e
mov edx, dword [esi + 0x48]
test edx, edx
mov dword [esp + 0x38], edx
je 0x441716
fld qword [esp + 0x28]
fmul qword [0x46e780]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fadd qword [edi + 0x20]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 5
jp 0x4415ec
mov eax, dword [edi + 0x48]
mov byte [eax + 0x75], 1
fld qword [esp + 0x40]
fadd qword [edi + 0x20]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x441627
mov ecx, edi
call fcn.00439920
fmul qword [0x4754d8]
mov ecx, esi
fstp qword [esp + 0x18]
call fcn.00439920
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x441627
mov ecx, dword [edi + 0x48]
mov byte [ecx + 0x76], 1
mov eax, dword [edi + 0x48]
mov bl, byte [eax + 0x75]
test bl, bl
jne 0x441638
mov cl, byte [eax + 0x76]
test cl, cl
je 0x441688
fld qword [edi + 0x18]
mov ecx, edi
fsub qword [edi + 0x10]
fstp qword [esp + 0x18]
call fcn.00439920
fmul qword [0x4754d8]
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x441688
test bl, bl
je 0x441688
mov ecx, edi
call fcn.00439920
fmul qword [0x477820]
fcomp qword [edi + 0x10]
fnstsw ax
test ah, 0x41
jp 0x441688
mov ecx, edi
call fcn.00439920
fmul qword [0x477820]
fsubr qword [edi + 0x10]
fstp qword [edi + 0x10]
mov eax, dword [edi + 0x48]
mov cl, byte [eax + 0x76]
test cl, cl
je 0x4416a5
mov ecx, edi
call fcn.00439920
fmul qword [0x477820]
fadd qword [edi + 0x18]
fstp qword [edi + 0x18]
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x4416ba
fld qword [esp + 0x30]
jmp 0x4416be
fld qword [esp + 0x28]
fld qword [edi + 8]
fsub qword [edx]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
je 0x44171e
fld qword [esp + 0x30]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x4416eb
fld qword [esp + 0x30]
jmp 0x4416ef
fld qword [esp + 0x28]
fld qword [edi]
fsub qword [edx + 8]
fabs
fxch st(1)
fmul qword [0x46e780]
fcompp
fnstsw ax
test ah, 0x41
je 0x441749
mov dword [esp + 0x38], edx
mov edx, dword [edx + 0x6c]
test edx, edx
jne 0x4415d4
mov edi, dword [edi + 0x6c]
jmp 0x44199e
mov ecx, dword [esi + 0x48]
mov eax, dword [esp + 0x38]
cmp eax, ecx
mov ecx, dword [edi + 0x48]
jne 0x441731
mov dword [esi + 0x48], ecx
jmp 0x441734
mov dword [eax + 0x6c], ecx
mov eax, dword [edi + 0x48]
mov dword [eax + 0x6c], edx
fld qword [edi]
fcomp qword [esi]
fnstsw ax
test ah, 5
jp 0x441778
fld qword [edi]
jmp 0x44177a
mov ecx, dword [edi + 0x48]
mov eax, dword [edx + 0x6c]
mov dword [ecx + 0x6c], eax
mov ecx, dword [edi + 0x48]
mov dword [edx + 0x6c], ecx
cmp edx, dword [esi + 0x4c]
jne 0x44173a
mov edx, dword [edi + 0x48]
mov dword [esi + 0x4c], edx
fld qword [edi + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x44173a
fld qword [edi + 8]
fstp qword [esi + 8]
jmp 0x44173a
fld qword [esi]
fstp qword [esi]
fld qword [edi + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x44178e
fld qword [edi + 8]
jmp 0x441791
fld qword [esi + 8]
fstp qword [esi + 8]
fld qword [edi + 0x10]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 5
jp 0x4417a6
fld qword [edi + 0x10]
jmp 0x4417a9
fld qword [esi + 0x10]
fstp qword [esi + 0x10]
fld qword [edi + 0x18]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4417be
fld qword [edi + 0x18]
jmp 0x4417c1
fld qword [esi + 0x18]
fstp qword [esi + 0x18]
fld qword [edi + 0x20]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x4417d6
fld qword [edi + 0x20]
jmp 0x4417d9
fld qword [esi + 0x20]
fstp qword [esi + 0x20]
fld qword [edi + 0x28]
fcomp qword [esi + 0x28]
fnstsw ax
test ah, 5
jp 0x4417ee
fld qword [edi + 0x28]
jmp 0x4417f1
fld qword [esi + 0x28]
fstp qword [esi + 0x28]
fld qword [edi + 0x30]
fcomp qword [esi + 0x30]
fnstsw ax
test ah, 0x41
jne 0x441806
fld qword [edi + 0x30]
jmp 0x441809
fld qword [esi + 0x30]
mov ecx, edi
fstp qword [esi + 0x30]
call fcn.00439920
fstp qword [esp + 0x40]
mov ecx, esi
call fcn.00439920
fcomp qword [esp + 0x40]
mov ecx, edi
fnstsw ax
test ah, 5
jnp 0x44182d
mov ecx, esi
call fcn.00439920
fstp qword [esi + 0x40]
mov ecx, dword [0x4994bc]
mov ebx, dword [edi + 0x5c]
call fcn.0041ef60
test eax, eax
mov dword [esp + 0x28], eax
je 0x441854
mov cl, byte [eax + 8]
mov byte [esp + 0xf], cl
jmp 0x441859
mov byte [esp + 0xf], 0
mov eax, dword [esi + 0x5c]
lea edx, [eax + ebx]
push edx
push eax
mov eax, dword [esi + 0x50]
push eax
call fcn.0043a270
mov edx, dword [esi + 0x54]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ebx]
push ecx
push eax
push edx
call fcn.0043a2d0
mov edx, dword [esi + 0x58]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x5c]
lea ecx, [eax + ebx]
push ecx
push eax
push edx
call fcn.0043a330
mov edx, dword [esi + 0x5c]
add edx, ebx
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x5c], edx
xor edx, edx
add esp, 0x24
test eax, eax
mov dword [esp + 0x30], edx
je 0x441925
mov ebx, dword [eax + 0x44]
xor ecx, ecx
test ebx, ebx
mov dword [esp + 0x38], ecx
jle 0x4418f7
mov edi, edi
mov edx, dword [eax + 0x3c]
mov cx, word [edx + ecx*2]
mov ebx, dword [esi + 0x50]
mov edx, dword [esp + 0x30]
mov word [ebx + edx*2], cx
mov edx, dword [eax + 0x40]
mov ecx, dword [esp + 0x38]
fld qword [edx + ecx*8]
mov edx, dword [esp + 0x30]
mov ebx, dword [esi + 0x54]
fstp qword [ebx + edx*8]
mov ebx, dword [eax + 0x44]
inc edx
inc ecx
cmp ecx, ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ecx
jl 0x4418c0
mov cl, byte [eax + 0x68]
test cl, cl
je 0x44191e
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x44191e
mov ecx, dword [esi + 0x50]
mov word [ecx + edx*2], 0x20
mov ecx, dword [eax + 0x6c]
mov ebx, dword [esi + 0x54]
fld qword [ecx]
fstp qword [ebx + edx*8]
inc edx
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x4418b1
mov eax, dword [esi + 0x5c]
mov edx, dword [esp + 0x20]
xor ebx, ebx
cmp eax, ebx
mov dword [esi + 0x60], ebx
jle 0x441981
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x60]
mov dword [eax + ebx*4], ecx
mov al, byte [esp + 0xf]
test al, al
je 0x44194b
inc dword [esi + 0x60]
jmp 0x441979
mov eax, dword [esp + 0x28]
test eax, eax
je 0x441979
mov eax, dword [esi + 0x50]
xor ecx, ecx
mov cx, word [eax + ebx*2]
push 8
lea edx, [esp + 0x4c]
push edx
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0042f480
mov ecx, dword [esi + 0x60]
mov edx, dword [esp + 0x20]
add ecx, eax
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x5c]
inc ebx
cmp ebx, eax
jl 0x441935
cmp edi, edx
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x6c], eax
je 0x44198f
mov edi, edx
jmp 0x44199e
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x40], edx
jne 0x44199b
mov dword [ecx + 0x40], eax
mov edi, dword [edx + 0x6c]
test edi, edi
mov ebx, edi
je 0x4419b6
mov ecx, edi
call fcn.00439920
fmul qword [0x477818]
fadd qword [edi + 0x20]
jmp 0x4419bc
fld qword [0x46e5a8]
mov edx, dword [esp + 0x10]
fstp qword [esp + 0x38]
test edi, edi
mov dword [esp + 0x20], edi
je 0x4419d7
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x441330
mov eax, dword [edx + 0x40]
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
je 0x441c61
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x6c]
mov edi, eax
add eax, 0x6c
xor esi, esi
mov dword [eax], esi
push 0x60
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], ebx
mov dword [eax], esi
call fcn.004588d2
add esp, 4
cmp eax, esi
je 0x441a2c
mov dword [eax + 0x48], esi
mov dword [eax + 0x4c], esi
mov dword [eax + 0x58], esi
mov dword [eax + 0x5c], esi
mov esi, eax
test ebx, ebx
mov dword [esi + 0x48], edi
fld qword [edi]
fstp qword [esi]
fld qword [edi + 8]
fstp qword [esi + 8]
fld qword [edi + 0x10]
fstp qword [esi + 0x10]
fld qword [edi + 0x18]
fstp qword [esi + 0x18]
fld qword [edi + 0x28]
fstp qword [esi + 0x20]
fld qword [edi + 0x30]
fstp qword [esi + 0x28]
fld qword [edi + 0x40]
fstp qword [esi + 0x40]
mov edx, dword [edi + 0x74]
mov dword [esi + 0x54], edx
mov eax, dword [edi + 0x78]
mov dword [esi + 0x58], eax
je 0x441c0e
jmp 0x441a75
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
fld qword [edi + 0x40]
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
fadd st(0), st(0)
test al, al
fadd qword [edi + 0x18]
fstp qword [esp + 0x40]
je 0x441aeb
fld qword [ebx + 0x10]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x441c0e
fld qword [ebx + 8]
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x441c0e
fld qword [ebx]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x441c0e
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x441c0e
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x441c0e
mov eax, dword [esi + 0x58]
test eax, eax
je 0x441ae3
cmp eax, dword [ebx + 0x78]
jne 0x441c0e
mov edi, dword [esp + 0x18]
xor ebx, ebx
jmp 0x441b44
xor ecx, ecx
mov edi, ebx
nop
fld qword [edi + 0x10]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x441c0e
fld qword [edi + 8]
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x441b34
fld qword [edi]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x441b34
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x441b34
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x441b34
mov eax, dword [esi + 0x58]
test eax, eax
je 0x441b42
cmp eax, dword [edi + 0x78]
je 0x441b42
mov ecx, edi
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x441af0
jmp 0x441c0e
mov ebx, ecx
test edi, edi
je 0x441c0e
mov ecx, dword [esp + 0x10]
push edi
push esi
call fcn.00439c60
test al, al
je 0x441c0e
test ebx, ebx
je 0x441b6b
mov edx, dword [edi + 0x6c]
mov dword [ebx + 0x6c], edx
jmp 0x441b72
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [eax + 0x70], edi
mov dword [eax + 0x6c], edi
fld qword [edi]
mov dword [edi + 0x6c], 0
fcomp qword [esi]
fnstsw ax
test ah, 5
jp 0x441b92
fld qword [edi]
fstp qword [esi]
fld qword [edi + 8]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x441ba5
fld qword [edi + 8]
fstp qword [esi + 8]
fld qword [edi + 0x18]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 0x41
jne 0x441bb8
fld qword [edi + 0x18]
fstp qword [esi + 0x18]
fld qword [edi + 0x28]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x441bcb
fld qword [edi + 0x28]
fstp qword [esi + 0x20]
fld qword [edi + 0x30]
fcomp qword [esi + 0x28]
fnstsw ax
test ah, 5
jp 0x441bde
fld qword [edi + 0x30]
fstp qword [esi + 0x28]
fld qword [edi + 0x40]
fcomp qword [esi + 0x40]
fnstsw ax
test ah, 0x41
jne 0x441bf1
fld qword [edi + 0x40]
fstp qword [esi + 0x40]
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x441bfe
mov ecx, dword [edi + 0x78]
mov dword [esi + 0x58], ecx
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x28], edi
jne 0x441a6d
mov edx, dword [esp + 0x10]
cmp byte [edx], 0
je 0x441c23
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x14], esi
jmp 0x441c45
mov edi, dword [esp + 0x20]
xor ebx, ebx
test edi, edi
je 0x441c45
lea ecx, [ecx]
push edi
mov ecx, esi
call fcn.00439990
test al, al
jne 0x441c45
mov ebx, edi
mov edi, dword [edi + 0x4c]
test edi, edi
jne 0x441c30
test ebx, ebx
mov dword [esi + 0x4c], edi
je 0x441c51
mov dword [ebx + 0x4c], esi
jmp 0x441c55
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4419f6
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
je 0x441c77
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
jmp 0x441fae
mov ecx, dword [esp + 0x20]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
je 0x4421ed
mov eax, dword [esp + 0x18]
test eax, eax
je 0x441e1d
mov ecx, dword [esp + 0x20]
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp ecx, esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], esi
je 0x441d28
jmp 0x441cc0
fld qword [ecx + 0x10]
mov edx, dword [esp + 0x18]
fcomp qword [edx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x441d1f
fld qword [ecx + 8]
mov eax, edx
fcomp qword [eax]
fnstsw ax
test ah, 0x41
jne 0x441d1f
fld qword [ecx]
fcomp qword [edx + 8]
fnstsw ax
test ah, 5
jp 0x441d1f
test esi, esi
je 0x441d0f
push esi
call fcn.00439990
test al, al
jne 0x441d0f
test edi, edi
je 0x441d07
push edi
call fcn.00439990
test al, al
je 0x441d1f
mov dword [esp + 0x38], ebx
mov edi, ecx
jmp 0x441d1f
mov eax, dword [esp + 0x28]
mov edi, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], ebx
mov esi, ecx
mov ebx, ecx
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
jne 0x441cc0
test esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x48]
fld qword [ecx + 0x40]
fadd st(0), st(0)
fadd qword [eax + 0x18]
fstp qword [esp + 0x40]
je 0x441f97
test edi, edi
je 0x441ec7
mov ebx, dword [esi + 0x48]
mov eax, dword [ebx + 0x6c]
test eax, eax
jne 0x441ec7
mov edx, dword [edi + 0x48]
mov eax, dword [edx + 0x6c]
test eax, eax
jne 0x441ec7
fld qword [edx]
mov ecx, edx
fsub qword [ebx + 8]
fabs
fstp qword [esp + 0x50]
call fcn.00439920
fmul qword [0x477680]
fcomp qword [esp + 0x50]
fnstsw ax
test ah, 0x41
jne 0x441ec7
mov ecx, dword [esp + 0x10]
push edx
push ebx
call fcn.00439be0
test al, al
je 0x441ec7
fld qword [esi + 0x10]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x441ec7
fld qword [esi]
mov ecx, dword [esp + 0x18]
fcomp qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x441ec7
fld qword [ecx]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 0x41
jne 0x441ec7
fld qword [edi + 8]
fcomp qword [ecx + 0x28]
fnstsw ax
test ah, 5
jp 0x441ec7
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x441e29
mov eax, dword [edi + 0x54]
test eax, eax
jne 0x441ec7
mov eax, dword [ecx + 0x54]
test eax, eax
jne 0x441ec7
push edi
mov ecx, esi
call fcn.0043a870
mov eax, dword [esp + 0x38]
test eax, eax
je 0x441e89
mov edx, dword [edi + 0x4c]
mov dword [eax + 0x4c], edx
jmp 0x441e90
mov esi, dword [esp + 0x20]
mov dword [esp + 0x28], 0
mov edi, dword [esp + 0x18]
test esi, esi
je 0x441f97
test edi, edi
je 0x441e72
fld qword [esi]
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 5
jnp 0x441f97
fld qword [esi + 8]
fcomp qword [edi + 0x28]
fnstsw ax
test ah, 0x41
je 0x441f97
fld qword [esi + 0x10]
fsub qword [edi + 0x18]
fld qword [edi + 0x40]
fadd st(0), st(0)
fcompp
fnstsw ax
test ah, 5
jnp 0x441f97
mov eax, dword [esp + 0x28]
test eax, eax
je 0x441f64
mov ecx, dword [esi + 0x4c]
mov dword [eax + 0x4c], ecx
jmp 0x441f6b
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x20], eax
mov esi, dword [edi + 0x48]
test esi, esi
je 0x441eb9
jmp 0x441ea0
mov ebx, dword [esi + 0x6c]
mov ecx, esi
call fcn.0043af70
push esi
call fcn.004588cd
add esp, 4
test ebx, ebx
mov esi, ebx
jne 0x441ea0
push edi
call fcn.004588cd
add esp, 4
jmp 0x441fa2
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x441e29
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x54]
test eax, eax
jne 0x441e2d
fld qword [esi + 0x10]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 5
jp 0x441e2d
fld qword [esi + 0x18]
fcomp qword [edi + 0x18]
fnstsw ax
test ah, 0x41
jne 0x441e2d
mov ecx, dword [esp + 0x10]
push esi
push edi
call fcn.00439d00
test al, al
je 0x441e2d
push esi
mov ecx, edi
call fcn.00439a00
mov eax, dword [esp + 0x28]
test eax, eax
je 0x441f2f
mov ecx, dword [esi + 0x4c]
mov dword [eax + 0x4c], ecx
jmp 0x441f36
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x20], edx
mov edi, dword [esi + 0x48]
test edi, edi
je 0x441f59
lea ecx, [ecx]
mov ebx, dword [edi + 0x6c]
mov ecx, edi
call fcn.0043af70
push edi
call fcn.004588cd
add esp, 4
test ebx, ebx
mov edi, ebx
jne 0x441f40
push esi
call fcn.004588cd
add esp, 4
jmp 0x441fa2
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esi + 0x4c], 0
je 0x441f7f
mov dword [eax + 0x4c], esi
jmp 0x441f83
mov dword [esp + 0x30], esi
mov al, byte [ebp + 8]
test al, al
mov dword [esp + 0x14], esi
jne 0x441fa2
mov dword [esi + 0x50], edi
mov dword [esp + 0x18], esi
jmp 0x441fa2
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x441c91
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4421ed
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4421ed
mov edx, dword [esp + 0x14]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
mov dword [esp + 0x38], ebx
je 0x4421cf
lea esp, [esp]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x54]
test ecx, ecx
jne 0x4421c0
mov eax, dword [ebx + 0x54]
test eax, eax
jne 0x4421c0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x58]
cmp edx, dword [ebx + 0x58]
jne 0x4421c0
fld qword [ebx]
mov eax, ecx
fadd qword [0x477820]
fcomp qword [eax]
fnstsw ax
test ah, 0x41
jne 0x4421c0
fld qword [ecx + 8]
fadd qword [0x477820]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x41
jne 0x4421c0
fld qword [ebx + 0x10]
mov edx, ecx
fadd qword [0x477820]
fcomp qword [edx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4421c0
mov eax, ecx
fld qword [eax + 0x18]
fadd qword [0x477820]
fcomp qword [ebx + 0x18]
fnstsw ax
test ah, 0x41
jne 0x4421c0
mov edi, dword [ebx + 0x48]
mov edx, edi
test edx, edx
mov dword [esp + 0x28], edx
je 0x442124
jmp 0x442080
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x48]
test ecx, ecx
je 0x442115
nop
mov esi, dword [ecx + 0x6c]
test esi, esi
je 0x442115
fld qword [edx + 0x40]
fmul qword [0x477038]
fadd qword [ecx + 0x20]
fcomp qword [edx + 0x20]
fnstsw ax
test ah, 5
jp 0x4420cb
fld qword [esi + 0x40]
fmul qword [0x477038]
fadd qword [edx + 0x20]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 5
jnp 0x442147
fld qword [edx + 0x40]
fcomp qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x4420dd
fld qword [edx + 0x40]
jmp 0x4420e0
fld qword [ecx + 0x40]
fld qword [edx + 0x20]
fsub qword [ecx + 0x20]
fabs
fxch st(1)
fmul qword [0x477030]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44210b
fld qword [edx]
fadd qword [0x474c68]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
je 0x442174
mov ecx, esi
test ecx, ecx
jne 0x442090
mov dword [esp + 0x28], edx
mov edx, dword [edx + 0x6c]
test edx, edx
jne 0x442080
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x4421c0
mov eax, dword [esp + 0x14]
cmp ebx, dword [eax + 0x4c]
jne 0x4421b6
mov ecx, dword [ebx + 0x4c]
mov dword [eax + 0x4c], ecx
jmp 0x4421c0
cmp edx, edi
mov eax, dword [edx + 0x6c]
jne 0x442153
mov dword [ebx + 0x48], eax
jmp 0x44215d
mov edi, dword [esp + 0x28]
mov dword [edi + 0x70], eax
mov dword [edi + 0x6c], eax
mov dword [ecx + 0x70], edx
mov dword [ecx + 0x6c], edx
mov dword [edx + 0x70], esi
mov dword [edx + 0x6c], esi
mov edi, dword [ebx + 0x48]
mov edx, edi
mov dword [esp + 0x28], edx
jmp 0x44211c
cmp edx, edi
mov eax, dword [edx + 0x6c]
jne 0x442180
mov dword [ebx + 0x48], eax
jmp 0x44218a
mov esi, dword [esp + 0x28]
mov dword [esi + 0x70], eax
mov dword [esi + 0x6c], eax
fld qword [edx + 0x40]
fcomp qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x44219c
fld qword [edx + 0x40]
jmp 0x44219f
fld qword [ecx + 0x40]
push edx
fstp qword [ecx + 0x40]
call fcn.0043a760
mov edi, dword [ebx + 0x48]
mov edx, edi
mov dword [esp + 0x28], edx
jmp 0x44211c
mov edx, dword [ebx + 0x4c]
mov eax, dword [esp + 0x38]
mov dword [eax + 0x4c], edx
mov dword [esp + 0x38], ebx
mov ebx, dword [ebx + 0x4c]
test ebx, ebx
jne 0x441fe0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x4c]
test eax, eax
mov dword [esp + 0x14], eax
je 0x4421e3
mov ecx, dword [eax + 0x4c]
jmp 0x4421e5
xor ecx, ecx
test eax, eax
jne 0x441fc1
mov eax, dword [0x499800]
test eax, eax
jne 0x442215
push 0x3b
push 0x47545c
lea ecx, [esp + 0x60]
call fcn.00454840
push 0x480dd4
lea edx, [esp + 0x5c]
push edx
call fcn.0045867d
mov esi, dword [esp + 0x30]
test esi, esi
mov ecx, esi
je 0x44223b
nop
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x442234
mov edx, dword [eax + 0x6c]
mov dword [eax + 0x70], edx
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x442227
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
jne 0x442220
mov edi, dword [esp + 0x10]
cmp byte [edi], 0
je 0x4422a5
xor edi, edi
test esi, esi
je 0x442451
xor ebx, ebx
push 0x30
call fcn.004588d2
add esp, 4
cmp eax, ebx
je 0x44226a
mov dword [eax + 0x20], ebx
mov dword [eax + 0x28], ebx
jmp 0x44226c
xor eax, eax
cmp edi, ebx
mov dword [eax + 0x20], esi
mov ecx, dword [esi + 0x48]
mov edx, dword [eax + 0x20]
mov dword [eax + 0x24], ecx
fld qword [esi + 0x10]
fstp qword [eax]
fld qword [esi + 0x18]
fstp qword [eax + 8]
mov esi, dword [esi + 0x4c]
mov dword [edx + 0x4c], ebx
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x2c], ecx
je 0x44229a
mov dword [edi + 0x28], eax
mov edi, eax
jmp 0x442254
mov edx, dword [esp + 0x10]
mov dword [edx + 0x44], eax
mov edi, eax
jmp 0x442254
test esi, esi
mov edx, esi
je 0x442335
nop
fld qword [0x46e5a8]
mov ecx, esi
fstp qword [edx + 0x30]
fld qword [edi + 0x10]
fstp qword [edx + 0x38]
cmp ecx, edx
je 0x442323
fld qword [ecx]
fcomp qword [edx + 8]
fnstsw ax
test ah, 5
jp 0x442323
fld qword [ecx + 8]
fcomp qword [edx]
fnstsw ax
test ah, 0x41
jne 0x442323
fld qword [ecx + 0x18]
fcomp qword [edx + 0x10]
fnstsw ax
test ah, 5
jp 0x442303
fld qword [ecx + 0x18]
fcomp qword [edx + 0x30]
fnstsw ax
test ah, 0x41
jne 0x442323
fld qword [ecx + 0x18]
fstp qword [edx + 0x30]
jmp 0x442323
fld qword [ecx + 0x10]
fcomp qword [edx + 0x18]
fnstsw ax
test ah, 0x41
jne 0x442323
fld qword [ecx + 0x10]
fcomp qword [edx + 0x38]
fnstsw ax
test ah, 5
jp 0x442323
fld qword [ecx + 0x10]
fstp qword [edx + 0x38]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
jne 0x4422c1
mov edx, dword [edx + 0x4c]
test edx, edx
jne 0x4422b0
test esi, esi
mov dword [esp + 0x38], 0
je 0x442451
push 0x30
call fcn.004588d2
xor edi, edi
add esp, 4
cmp eax, edi
je 0x44235d
mov dword [eax + 0x20], edi
mov dword [eax + 0x28], edi
mov edi, eax
mov dword [edi + 0x20], esi
mov eax, dword [esi + 0x48]
mov dword [edi + 0x24], eax
fld qword [esi + 0x10]
fstp qword [edi]
mov ebx, esi
fld qword [esi + 0x18]
fstp qword [edi + 8]
fld qword [esi + 0x30]
fstp qword [edi + 0x10]
fld qword [esi + 0x38]
fstp qword [edi + 0x18]
mov ecx, dword [esi + 0x54]
mov dword [edi + 0x2c], ecx
mov esi, dword [esi + 0x4c]
jmp 0x442390
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x442427
test esi, esi
je 0x442427
mov ecx, dword [esp + 0x10]
push esi
push edi
call fcn.00439d90
test al, al
je 0x442427
fld qword [esi + 0x10]
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x4423c7
fld qword [esi + 0x10]
fstp qword [edi]
fld qword [esi + 0x18]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jne 0x4423da
fld qword [esi + 0x18]
fstp qword [edi + 8]
fld qword [esi + 0x30]
fcomp qword [edi + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4423ed
fld qword [esi + 0x30]
fstp qword [edi + 0x10]
fld qword [esi + 0x38]
fcomp qword [edi + 0x18]
fnstsw ax
test ah, 5
jp 0x442400
fld qword [esi + 0x38]
fstp qword [edi + 0x18]
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x442414
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x442414
mov eax, ecx
test eax, eax
jne 0x442407
mov edx, dword [esi + 0x48]
mov ebx, esi
test ebx, ebx
mov dword [eax + 0x70], edx
mov esi, dword [esi + 0x4c]
jne 0x442390
mov eax, dword [esp + 0x38]
test eax, eax
mov esi, dword [ebx + 0x4c]
mov dword [ebx + 0x4c], 0
je 0x44243e
mov dword [eax + 0x28], edi
jmp 0x442445
mov eax, dword [esp + 0x10]
mov dword [eax + 0x44], edi
test esi, esi
mov dword [esp + 0x38], edi
jne 0x442345
mov esi, dword [esp + 0x10]
cmp byte [esi], 0
mov dword [esi + 0x40], 0
je 0x4424b3
mov edx, dword [esi + 0x44]
xor ecx, ecx
test edx, edx
je 0x442508
mov eax, dword [edx + 0x24]
test eax, eax
je 0x442495
lea esp, [esp]
test ecx, ecx
je 0x442489
mov dword [ecx + 0x68], eax
jmp 0x44248c
mov dword [esi + 0x40], eax
mov ecx, eax
mov eax, dword [eax + 0x70]
test eax, eax
jne 0x442480
mov edx, dword [edx + 0x28]
test edx, edx
jne 0x442472
mov ecx, dword [esp + 0x8c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, dword [esi + 0x44]
test ebx, ebx
je 0x442508
mov edi, edi
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x442501
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x40]
xor edi, edi
test esi, esi
je 0x4424f0
push esi
call fcn.004398d0
test al, al
jne 0x4424e7
mov edi, esi
mov esi, dword [esi + 0x68]
test esi, esi
jne 0x4424d4
test edi, edi
je 0x4424f0
mov dword [edi + 0x68], ecx
jmp 0x4424f7
mov eax, dword [esp + 0x10]
mov dword [eax + 0x40], ecx
mov dword [ecx + 0x68], esi
mov ecx, dword [ecx + 0x70]
test ecx, ecx
jne 0x4424c7
mov ebx, dword [ebx + 0x28]
test ebx, ebx
jne 0x4424c0
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4