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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4089e4
push eax
mov eax, 0x76dcc
mov dword fs:[0], esp
call fcn.00408660
mov eax, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
push ebx
push ebp
mov ebx, ecx
mov ecx, dword [eax]
push esi
mov esi, dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::constructor_char_const___int__int_]
push edi
push 1
push ecx
push 1
push str.c:_temp3.dat
lea ecx, [esp + 0x188]
mov dword [esp + 0x3c], ebx
call esi
mov edx, dword [esp + 0x178]
mov edi, dword [sym.imp.MSVCIRT.dll_public:_class_istream____thiscall_istream::operator___float__]
mov dword [esp + 0x76de4], 0
mov eax, dword [edx + 4]
test byte [esp + eax + 0x180], 6
je 0x401666
push 0
push 0
push 0x40a07c
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MessageBoxA
jmp 0x4016dc
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x17c]
call edi
lea edx, [esp + 0xa8]
lea eax, [esp + 0xac]
push edx
lea ecx, [esp + 0xa4]
push eax
lea edx, [esp + 0xac]
push ecx
lea eax, [esp + 0x98]
push edx
lea ecx, [esp + 0x98]
push eax
lea edx, [esp + 0xa4]
push ecx
lea eax, [esp + 0xac]
push edx
push eax
lea ecx, [esp + 0x198]
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ecx, eax
call edi
mov ebp, dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::close_void_]
lea ecx, [esp + 0x178]
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
push 1
mov edx, dword [ecx]
lea ecx, [esp + 0x118]
push edx
push 1
push str.c:_temp2.dat
call esi
mov eax, dword [esp + 0x114]
mov byte [esp + 0x76de4], 1
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x11c], 6
je 0x401732
push 0
push 0
push 0x40a07c
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MessageBoxA
mov edx, dword [esp + 0x114]
xor esi, esi
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x401820
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x118]
call edi
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x401820
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x118]
call edi
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x401820
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x118]
call edi
fld dword [esp + 0x78]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 0x41
je 0x4017f1
fld dword [esp + 0x78]
fcomp dword [esp + 0x94]
fnstsw ax
test ah, 1
jne 0x4017f1
fld dword [esp + 0x74]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 0x41
je 0x4017f1
fld dword [esp + 0x74]
fcomp dword [esp + 0x88]
fnstsw ax
test ah, 1
je 0x401808
fld dword [esp + 0x78]
fstp dword [esp + esi*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fld dword [esp + 0x74]
fstp dword [esp + esi*4 + 0x1ef9c]
inc esi
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
je 0x40174c
xor edx, edx
test esi, esi
jle 0x4018c4
fld dword [esp + 0x68]
test edx, edx
jne 0x401859
mov ecx, dword [esp + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x50], ecx
mov eax, ecx
mov ecx, dword [esp + 0x1ef9c]
mov dword [esp + 0x38], eax
fstp st(0)
fld dword [esp + 0x1ef9c]
mov dword [esp + 0x30], ecx
jmp 0x4018b7
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fcomp dword [esp + 0x38]
lea ecx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fnstsw ax
test ah, 0x41
jne 0x401878
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
fld dword [ecx]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 1
je 0x40188b
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
fld dword [esp + edx*4 + 0x1ef9c]
fcomp dword [esp + 0x30]
lea ecx, [esp + edx*4 + 0x1ef9c]
fnstsw ax
test ah, 0x41
jne 0x4018aa
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x4018b7
fstp st(0)
fld dword [ecx]
inc edx
cmp edx, esi
jl 0x40182e
fstp dword [esp + 0x68]
lea ecx, [esp + 0x114]
mov dword [esp + 0x58], esi
call ebp
fld dword [esp + 0x30]
fld dword [esp + 0x38]
fadd dword [esp + 0x50]
fxch st(1)
fadd dword [esp + 0x68]
fxch st(1)
fmul dword [0x409180]
fxch st(1)
fmul dword [0x409180]
fxch st(1)
fstp dword [esp + 0x7c]
test esi, esi
fstp dword [esp + 0x70]
mov edx, 0
jle 0x401997
mov ecx, dword [esp + edx*4 + 0x1ef9c]
lea ebx, [esp + edx*4 + 0x1ef9c]
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea ebp, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x4c], ecx
cmp edx, esi
mov edi, edx
mov ecx, edx
jge 0x401963
fcom dword [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea esi, [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fnstsw ax
test ah, 0x41
jne 0x401958
fstp st(0)
fld dword [esi]
fld dword [esp + ecx*4 + 0x1ef9c]
mov edi, ecx
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
inc ecx
cmp ecx, eax
jl 0x401932
mov esi, eax
cmp edi, edx
je 0x401988
mov eax, dword [ebp]
mov ecx, dword [ebx]
shl edi, 2
mov dword [esp + edi + reloc.MSVCIRT.dll__close_fstream__QAEXXZ], eax
mov eax, dword [esp + 0x4c]
fstp dword [ebp]
mov dword [esp + edi + 0x1ef9c], ecx
mov dword [ebx], eax
jmp 0x40198a
fstp st(0)
inc edx
cmp edx, esi
jl 0x40190a
mov ebx, dword [esp + 0x2c]
mov ecx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
push 1
mov edx, dword [ecx]
lea ecx, [esp + 0xb4]
push edx
push 2
push str.c:_temp4.dat
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::constructor_char_const___int__int_]
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x76de4], 2
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0xb8], 6
je 0x4019e2
push 0
push 0
push 0x40a07c
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MessageBoxA
xor eax, eax
cmp esi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], eax
jle 0x402300
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x1535c]
mov dword [esp + 0x80], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x3c], ecx
lea edx, [esp + 0x1adc]
lea eax, [esp + 0x4fcdc]
lea ecx, [esp + 0x4609c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x60]
fld dword [esp + 0x84]
lea ecx, [edx*4]
mov dword [esp + 0x24], 0
test ebx, ebx
fld dword [esp + ecx + 0x1ef9c]
fxch st(1)
fadd dword [esp + ecx + 0x1ef9c]
fxch st(1)
fsub dword [esp + 0x84]
lea eax, [esp + ecx + 0x1ef9c]
lea edi, [esp + ecx + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x54], eax
fld dword [edi]
fld dword [edi]
fsub dword [0x409184]
fxch st(1)
fsub dword [0x409188]
fxch st(3)
fsub dword [0x40918c]
fxch st(2)
fsub dword [0x409190]
fxch st(1)
fstp dword [esp + 0x10]
fxch st(2)
fstp dword [esp + 0x14]
mov dword [esp + 0x28], ecx
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jle 0x401b3a
lea esi, [esp + 0x4fcdc]
lea ebp, [esp + 0x1dc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
sub esp, 0x10
mov edx, esp
sub esp, 0x10
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov eax, esp
mov dword [edx + 0xc], ecx
mov edx, esi
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x401b30
mov ecx, dword [esp + 0x2c]
push ebp
push esi
call fcn.004015b0
mov ecx, dword [esp + 0x24]
inc ecx
add ebp, 0x10
mov dword [esp + 0x24], ecx
add esi, 0x10
dec ebx
jne 0x401acf
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
xor ebp, ebp
mov dword [esp + 0x30], eax
mov esi, 1
fld dword [esp + 0x30]
xor edx, edx
fst dword [esp + 0x68]
fld dword [edi]
fsub dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fabs
fcomp qword [0x409198]
fnstsw ax
test ah, 1
je 0x401b96
fld dword [esp + edx*4 + 0x1ef9c]
fcomp dword [esp + 0x30]
lea ecx, [esp + edx*4 + 0x1ef9c]
inc ebp
fnstsw ax
test ah, 0x41
jne 0x401b89
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x401b96
fstp st(0)
fld dword [ecx]
mov eax, dword [esp + 0x58]
inc edx
cmp edx, eax
jl 0x401b51
fst dword [esp + 0x68]
cmp ebp, 1
jle 0x401be8
mov ecx, dword [esp + 0x54]
fsub qword [0x4091a0]
fld dword [ecx]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x401bc6
mov esi, 2
jmp 0x401bee
fld dword [esp + 0x30]
fsub qword [0x409198]
fld dword [ecx]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x401be4
mov esi, 3
jmp 0x401bee
xor esi, esi
jmp 0x401bee
mov ecx, dword [esp + 0x54]
fstp st(0)
fld dword [ecx]
fcomp dword [esp + 0x88]
fnstsw ax
test ah, 0x41
jne 0x401c10
fld dword [ecx]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 1
je 0x401c10
xor esi, esi
test esi, esi
je 0x4022e9
fld dword [ecx]
fcomp dword [esp + 0x70]
fnstsw ax
test ah, 0x41
jne 0x401f6c
cmp esi, 2
je 0x401f6c
fld dword [edi]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
lea ecx, [esp + 0xc4]
fstp qword [esp]
mov dword [esp + 0xc8], ebp
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov ecx, dword [esp + 0x58]
add esp, 4
sub esp, 8
mov dword [esi + 4], ebp
fld dword [ecx]
mov ecx, esi
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [esp + 0xac]
mov edx, dword [edi]
mov eax, dword [esp + 0x48]
fadd dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x44]
fld dword [esp + 0x4c]
fld dword [esp + 0x4c]
fld st(2)
fxch st(1)
fsub dword [0x4091a8]
fxch st(2)
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091b0]
fld st(3)
fld dword [esp + 0x4c]
fxch st(1)
fstp dword [eax]
add esp, 4
xor ebx, ebx
fstp dword [ecx]
fxch st(2)
fstp dword [esp + 0x10]
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x14]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x401dd5
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x401db6
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
inc ebx
cmp ebx, 6
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x401dae
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x401d3e
jmp 0x401db6
mov dword [esp + 0x20], 1
cmp ebx, 6
jg 0x401dcd
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x401cf6
jmp 0x401dd5
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x401e3d
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x401e37
xor edi, edi
add esi, 0x10
dec ebp
jne 0x401deb
xor eax, eax
test edi, edi
sete al
cmp ebx, 6
jg 0x401e58
cmp eax, 1
je 0x401cdd
mov eax, dword [esp + 0x20]
jmp 0x401e5d
mov eax, 1
test eax, eax
jne 0x401e7b
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
mov dword [eax], edx
fstp dword [ecx]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ebp, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
fld dword [ebx]
fsub dword [0x4091a8]
mov edx, dword [edi]
lea ecx, [esp + 0xc4]
mov dword [esp + 0x20], edx
mov dword [esp + 0xc8], 1
fstp dword [esp + 0x18]
fld dword [ebx]
fsub dword [0x4091ac]
fstp dword [esp + 0x1c]
fld dword [edi]
fsub dword [0x4091b0]
fst dword [esp + 0x64]
fstp dword [esp + 0x24]
fld dword [ebx]
fstp qword [esp]
call ebp
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [edi]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], 1
fstp qword [esp]
call ebp
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004015b0
mov edx, dword [esp + 0x54]
fld dword [esp + 0x70]
fcomp dword [edx]
fnstsw ax
test ah, 1
je 0x401f2c
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
jmp 0x401f3a
fld dword [edi]
fsub dword [0x4091b4]
mov edx, dword [esp + 0x3c]
fstp dword [edx]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
inc ebp
add esi, 0x10
add ebx, 4
add edi, 4
add eax, 4
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], eax
jmp 0x4022e9
cmp esi, 3
je 0x4022e9
fld dword [ecx]
fcomp dword [esp + 0x70]
fnstsw ax
test ah, 0x41
je 0x4022e9
fld dword [edi]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
lea ecx, [esp + 0xc4]
fstp qword [esp]
mov dword [esp + 0xc8], ebp
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov eax, dword [esp + 0x58]
add esp, 4
sub esp, 8
mov ecx, esi
fld dword [eax]
fstp qword [esp]
mov dword [esi + 4], ebp
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov ecx, dword [edi]
add esp, 4
fld dword [esp + 0xac]
fsub dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x44]
fld dword [esp + 0x48]
fld dword [esp + 0x48]
fsub dword [0x4091a8]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
fld st(2)
fsub dword [0x4091b4]
fld st(3)
fld dword [esp + 0x48]
fxch st(3)
fstp dword [esp + 0x9c]
mov edx, dword [esp + 0x9c]
xor ebx, ebx
fxch st(3)
fstp dword [esp + 0x5c]
fxch st(2)
fstp dword [ecx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], ebx
fstp dword [edx]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x402141
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x402122
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
inc ebx
cmp ebx, 6
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x40211a
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x4020aa
jmp 0x402122
mov dword [esp + 0x20], 1
cmp ebx, 6
jg 0x402139
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x402062
jmp 0x402141
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x4021a9
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4021a3
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x402157
cmp ebx, 6
jg 0x4021c4
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x402049
mov eax, dword [esp + 0x20]
jmp 0x4021c9
mov eax, 1
test eax, eax
jne 0x4021e9
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
fstp dword [edx]
jmp 0x402226
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], edx
fld dword [eax]
fsub dword [0x4091b4]
mov dword [esp + 0x10], ecx
fst dword [esp + 0x5c]
fld dword [esp + 0x5c]
fsub dword [0x4091b4]
fxch st(1)
fstp dword [eax]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
fld dword [edx]
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc8], ebp
fstp qword [esp]
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov edi, dword [esp + 0x48]
add esp, 4
sub esp, 8
mov ecx, esi
fld dword [edi]
mov dword [esi + 4], ebp
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004015b0
mov edx, dword [esp + 0x54]
fld dword [esp + 0x70]
fcomp dword [edx]
fld dword [edi]
fnstsw ax
test ah, 1
je 0x4022aa
fsub dword [0x4091b0]
mov eax, dword [esp + 0x3c]
fstp dword [eax]
jmp 0x4022b6
fsub dword [0x4091b4]
mov ecx, dword [esp + 0x3c]
fstp dword [ecx]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, 4
inc ebp
add ebx, 0x10
add esi, eax
add edi, eax
add ecx, eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x401a33
mov esi, ecx
xor edx, edx
test esi, esi
jle 0x40239d
mov eax, dword [esp + edx*4 + 0x1ef9c]
lea ebx, [esp + edx*4 + 0x1ef9c]
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
lea ebp, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
cmp edx, eax
mov edi, edx
mov ecx, edx
jge 0x402369
fld dword [esp + 0x4c]
fcomp dword [esp + ecx*4 + 0x1ef9c]
lea esi, [esp + ecx*4 + 0x1ef9c]
fnstsw ax
test ah, 0x41
jne 0x402360
mov eax, dword [esi]
mov edi, ecx
fstp st(0)
fld dword [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
inc ecx
cmp ecx, eax
jl 0x402336
cmp edi, edx
je 0x40238e
mov ecx, dword [ebp]
mov eax, dword [ebx]
shl edi, 2
mov dword [esp + edi + reloc.MSVCIRT.dll__close_fstream__QAEXXZ], ecx
mov ecx, dword [esp + 0x4c]
fstp dword [ebp]
mov dword [esp + edi + 0x1ef9c], eax
mov dword [ebx], ecx
jmp 0x402390
fstp st(0)
mov eax, dword [esp + 0x58]
inc edx
cmp edx, eax
jl 0x40230a
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
test ecx, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], 0
jle 0x402bc0
shl eax, 4
lea ecx, [esp + 0x3c45c]
lea edx, [esp + eax + 0x4fcdc]
lea eax, [esp + 0x28bdc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
fld dword [esp + 0x28]
lea eax, [edx*4]
mov dword [esp + 0x24], 0
test ecx, ecx
fld dword [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fsub dword [esp + 0x28]
fxch st(1)
fadd dword [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea ebp, [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea edi, [esp + eax + 0x1ef9c]
fld dword [edi]
fld dword [edi]
fxch st(3)
fsub dword [0x4091b8]
fxch st(2)
fsub dword [0x4091bc]
fxch st(1)
fsub dword [0x409188]
fxch st(3)
fsub dword [0x409184]
fxch st(2)
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jle 0x4024dd
mov eax, ecx
lea esi, [esp + 0x4fcdc]
lea ebx, [esp + 0x1dc]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov edx, esp
mov dword [ecx + 0xc], eax
mov ecx, esi
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4024cf
mov ecx, dword [esp + 0x2c]
push ebx
push esi
call fcn.004015b0
mov ecx, dword [esp + 0x24]
inc ecx
add ebx, 0x10
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x5c]
add esi, 0x10
dec eax
mov dword [esp + 0x5c], eax
jne 0x40246e
mov ecx, dword [ebp]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x38], ecx
fld dword [esp + 0x38]
mov dword [esp + 0x80], edx
xor ebx, ebx
fst dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov esi, 1
xor edx, edx
fld dword [edi]
fsub dword [esp + edx*4 + 0x1ef9c]
fabs
fcomp qword [0x409198]
fnstsw ax
test ah, 1
je 0x40254d
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fcomp dword [esp + 0x38]
lea ecx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
inc ebx
fnstsw ax
test ah, 0x41
jne 0x402540
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x40254d
fstp st(0)
fld dword [ecx]
mov eax, dword [esp + 0x58]
inc edx
cmp edx, eax
jl 0x402508
fst dword [esp + 0x50]
cmp ebx, 1
jle 0x40259d
fsub qword [0x4091a0]
fld dword [ebp]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x40257a
mov esi, 2
jmp 0x40259f
fld dword [esp + 0x38]
fsub qword [0x409198]
fld dword [ebp]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x402599
mov esi, 3
jmp 0x40259f
xor esi, esi
jmp 0x40259f
fstp st(0)
fld dword [ebp]
fcomp dword [esp + 0x94]
fnstsw ax
test ah, 0x41
jne 0x4025c3
fld dword [ebp]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 1
je 0x4025c3
xor esi, esi
test esi, esi
je 0x402bab
fld dword [ebp]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
jne 0x402878
cmp esi, 2
je 0x402878
fld dword [ebp]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
lea ecx, [esp + 0xc4]
fstp qword [esp]
mov dword [esp + 0xc8], ebp
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [edi]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], ebp
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [esp + 0xa4]
mov ecx, dword [edi]
mov edx, dword [esp + 0x48]
fadd dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x44]
fld dword [esp + 0x40]
fld dword [esp + 0x40]
fld st(2)
fsub dword [0x4091b0]
fxch st(1)
fsub dword [0x4091ac]
fxch st(2)
fsub dword [0x4091a8]
fld dword [esp + 0x40]
fld st(4)
fxch st(1)
fstp dword [edx]
add esp, 4
xor ebp, ebp
fstp dword [eax]
fxch st(3)
fstp dword [esp + 0x10]
mov dword [esp + 0x20], ebp
fstp dword [esp + 0x14]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x402784
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x402765
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
inc ebp
cmp ebp, 6
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x40275d
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x4026ed
jmp 0x402765
mov dword [esp + 0x20], 1
cmp ebp, 6
jg 0x40277c
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4026a5
jmp 0x402784
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4027ec
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4027e6
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x40279a
cmp ebp, 6
jg 0x402807
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x40268c
mov eax, dword [esp + 0x20]
jmp 0x40280c
mov eax, 1
test eax, eax
jne 0x40282f
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov dword [edx], ecx
fstp dword [eax]
jmp 0x402b27
fld dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
fsub dword [0x4091b0]
fld dword [eax]
fsub dword [0x4091b0]
fld st(1)
mov ecx, dword [eax]
fst dword [esp + 0x5c]
fld dword [esp + 0x5c]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091a8]
fxch st(3)
fstp dword [edx]
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x402b1f
cmp esi, 3
je 0x402bab
fld dword [ebp]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
je 0x402bab
fld dword [ebp]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
lea ecx, [esp + 0xc4]
fstp qword [esp]
mov dword [esp + 0xc8], ebp
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [edi]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], ebp
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [esp + 0xa8]
mov ecx, dword [edi]
mov edx, dword [esp + 0x48]
fsub dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x44]
fld dword [esp + 0x40]
fld dword [esp + 0x40]
fld st(2)
fsub dword [0x4091b4]
fxch st(1)
fsub dword [0x4091ac]
fxch st(2)
fsub dword [0x4091a8]
fld dword [esp + 0x40]
fld st(4)
fxch st(1)
fstp dword [edx]
add esp, 4
xor ebp, ebp
fstp dword [eax]
fxch st(1)
fstp dword [esp + 0x10]
fxch st(2)
fstp dword [esp + 0x14]
mov dword [esp + 0x20], ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x402a33
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x402a14
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
inc ebp
cmp ebp, 6
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x402a0c
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x40299c
jmp 0x402a14
mov dword [esp + 0x20], 1
cmp ebp, 6
jg 0x402a2b
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x402954
jmp 0x402a33
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x402a9b
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x402a95
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x402a49
cmp ebp, 6
jg 0x402ab6
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x40293b
mov eax, dword [esp + 0x20]
jmp 0x402abb
mov eax, 1
test eax, eax
jne 0x402adb
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov dword [edx], ecx
fstp dword [eax]
jmp 0x402b27
fld dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
fsub dword [0x4091b4]
fld dword [eax]
fsub dword [0x4091b4]
fld st(1)
mov ecx, dword [eax]
fst dword [esp + 0x5c]
fld dword [esp + 0x5c]
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091a8]
fxch st(3)
fstp dword [edx]
fxch st(1)
fstp dword [esp + 0x10]
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov ebp, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
lea ecx, [esp + 0xc4]
fld dword [edi]
mov dword [esp + 0xc8], 1
fstp qword [esp]
call ebp
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov ebx, dword [esp + 0x48]
add esp, 4
sub esp, 8
mov ecx, esi
fld dword [ebx]
mov dword [esi + 4], 1
fstp qword [esp]
call ebp
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
add esp, 4
lea eax, [esp + 0x10]
push esi
push eax
call fcn.004015b0
mov ecx, dword [esp + 0x54]
add edi, 4
add ebx, 4
inc ecx
add esi, 0x10
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x4023dd
mov ebp, dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::close_void_]
lea ecx, [esp + 0xb0]
call ebp
mov ecx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
mov edx, dword [ecx]
lea ecx, [esp + 0x114]
push edx
push 1
push str.c:_temp2.dat
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::open_char_const___int__int_]
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x11c], 6
je 0x402c12
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0x40a07c
call sub.MFC42.DLL_CWnd::MessageBoxA
mov edx, dword [esp + 0x114]
xor esi, esi
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x402d19
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_istream____thiscall_istream::operator___float__]
lea edi, [esp + 0x3281c]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x118]
call ebx
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x402d19
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x118]
call ebx
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 4]
test byte [esp + eax + 0x11c], 1
jne 0x402d19
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x118]
call ebx
fld dword [esp + 0x78]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 1
je 0x402d01
fld dword [esp + 0x78]
fcomp dword [esp + 0x94]
fnstsw ax
test ah, 0x41
jne 0x402d01
fld dword [esp + 0x74]
fcomp dword [esp + 0x8c]
fnstsw ax
test ah, 1
je 0x402d01
fld dword [esp + 0x74]
fcomp dword [esp + 0x88]
fnstsw ax
test ah, 0x41
jne 0x402d01
fld dword [esp + 0x78]
mov edx, dword [esp + 0x98]
fstp dword [esp + esi*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fld dword [esp + 0x74]
mov dword [edi], edx
fstp dword [esp + esi*4 + 0x1ef9c]
inc esi
add edi, 4
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x11c], 1
je 0x402c39
xor edx, edx
test esi, esi
jle 0x402dbb
fld dword [esp + 0x68]
test edx, edx
jne 0x402d52
mov eax, dword [esp + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x50], eax
mov ecx, eax
mov eax, dword [esp + 0x1ef9c]
mov dword [esp + 0x38], ecx
fstp st(0)
fld dword [esp + 0x1ef9c]
mov dword [esp + 0x30], eax
jmp 0x402db0
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fcomp dword [esp + 0x38]
lea ecx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fnstsw ax
test ah, 0x41
jne 0x402d71
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
fld dword [ecx]
fcomp dword [esp + 0x50]
fnstsw ax
test ah, 1
je 0x402d84
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
fld dword [esp + edx*4 + 0x1ef9c]
fcomp dword [esp + 0x30]
lea ecx, [esp + edx*4 + 0x1ef9c]
fnstsw ax
test ah, 0x41
jne 0x402da3
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x402db0
fstp st(0)
fld dword [ecx]
inc edx
cmp edx, esi
jl 0x402d27
fstp st(0)
lea ecx, [esp + 0x114]
mov dword [esp + 0x58], esi
call ebp
xor edx, edx
test esi, esi
jle 0x402e94
lea edi, [esp + 0x3281c]
mov dword [esp + 0x5c], edi
mov ecx, dword [esp + edx*4 + 0x1ef9c]
mov eax, dword [edi]
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea ebx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x4c], ecx
cmp edx, esi
mov dword [esp + 0x68], eax
mov ebp, edx
mov ecx, edx
jge 0x402e42
fcom dword [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea esi, [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fnstsw ax
test ah, 0x41
jne 0x402e30
mov eax, dword [edi]
mov ebp, ecx
fstp st(0)
fld dword [esi]
fld dword [esp + ecx*4 + 0x1ef9c]
mov dword [esp + 0x68], eax
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x58]
inc ecx
add edi, 4
cmp ecx, eax
jl 0x402e04
mov edi, dword [esp + 0x5c]
mov esi, eax
cmp ebp, edx
je 0x402e82
mov ecx, dword [ebx]
lea eax, [ebp*4]
mov dword [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ], ecx
mov ecx, dword [esp + edx*4 + 0x1ef9c]
mov dword [esp + eax + 0x1ef9c], ecx
mov ecx, dword [esp + 0x4c]
fstp dword [ebx]
mov dword [esp + edx*4 + 0x1ef9c], ecx
mov ecx, dword [edi]
mov dword [esp + eax + 0x3281c], ecx
mov eax, dword [esp + 0x68]
mov dword [edi], eax
jmp 0x402e84
fstp st(0)
inc edx
add edi, 4
cmp edx, esi
mov dword [esp + 0x5c], edi
jl 0x402ddd
mov ecx, dword [esp + 0x80]
mov eax, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax]
mov dword [esp + 0x70], edx
push ecx
push 2
push str.c:_temp1.dat
lea ecx, [esp + 0xbc]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::open_char_const___int__int_]
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + 4]
test byte [esp + eax + 0xb8], 6
je 0x402ee9
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0x40a07c
call sub.MFC42.DLL_CWnd::MessageBoxA
xor eax, eax
mov dword [esp + 0x48], 2
cmp esi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], 6
mov dword [esp + 0x6c], eax
jle 0x405926
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x60]
shl ecx, 2
mov edx, dword [esp + 0x70]
mov dword [esp + 0x24], 0
fld dword [esp + ecx + 0x3281c]
fadd dword [esp + 0x84]
fld dword [esp + ecx + 0x1ef9c]
fld dword [esp + ecx + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fxch st(2)
fstp dword [esp + 0x28]
lea eax, [esp + ecx + 0x1ef9c]
lea ebp, [esp + ecx + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fsub dword [esp + 0x28]
fld dword [esp + 0x28]
fadd dword [eax]
fld dword [ebp]
fxch st(2)
fst dword [esp + 0x3c]
fxch st(3)
fsub dword [0x409184]
fxch st(2)
fsub dword [0x409188]
fxch st(1)
fsub dword [0x40918c]
fxch st(3)
fsub dword [0x409190]
fxch st(2)
fstp dword [esp + 0x10]
test ebx, ebx
fstp dword [esp + 0x14]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], edx
fstp dword [esp + 0x18]
jle 0x40301e
lea esi, [esp + 0x4fcdc]
lea edi, [esp + 0x1dc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, esp
mov dword [eax + 0xc], edx
mov eax, esi
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x403014
mov ecx, dword [esp + 0x2c]
push edi
push esi
call fcn.004015b0
mov ecx, dword [esp + 0x24]
inc ecx
add edi, 0x10
mov dword [esp + 0x24], ecx
add esi, 0x10
dec ebx
jne 0x402fb3
mov eax, dword [esp + 0x54]
fld dword [eax]
mov ebx, dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x30]
mov edi, 1
xor edx, edx
fld dword [ebp]
fsub dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fabs
fcomp qword [0x409198]
fnstsw ax
test ah, 1
je 0x403077
fld dword [esp + edx*4 + 0x1ef9c]
fcomp dword [esp + 0x30]
lea ecx, [esp + edx*4 + 0x1ef9c]
inc esi
fnstsw ax
test ah, 0x41
jne 0x40306a
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x403077
fstp st(0)
fld dword [ecx]
inc edx
cmp edx, ebx
jl 0x403031
cmp esi, 1
jle 0x4030d7
mov ebx, dword [esp + 0x54]
fld st(0)
fsub qword [0x4091a0]
fld dword [esp + 0x30]
fld dword [ebx]
fxch st(1)
fadd st(3)
fxch st(2)
fcompp
fmul dword [0x409180]
fnstsw ax
test ah, 0x41
fstp dword [esp + 0x64]
fstp st(0)
jne 0x4030b5
mov edi, 2
jmp 0x4030dd
fld dword [esp + 0x30]
fsub qword [0x409198]
fld dword [ebx]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x4030d3
mov edi, 3
jmp 0x4030dd
xor edi, edi
jmp 0x4030dd
mov ebx, dword [esp + 0x54]
fstp st(0)
test edi, edi
je 0x40590f
fld dword [ebp]
sub esp, 8
lea ecx, [esp + 0xc4]
fstp qword [esp]
mov dword [esp + 0xc8], 1
call dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [ebx]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], 1
fstp qword [esp]
call dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [ebx]
fcomp dword [esp + 0x68]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x4044be
fld dword [esp + 0x28]
fadd dword [ebx]
fld dword [ebp]
fxch st(1)
fld st(1)
mov ecx, dword [esp + 0x60]
cmp edi, 2
fld st(1)
lea eax, [ecx*4]
mov dword [esp + 0x30], eax
fstp dword [esp + eax + 0x1adc]
fstp dword [esp + eax + 0x4609c]
jne 0x403180
mov edx, dword [esp + 0x3c]
mov dword [esp + eax + 0x1adc], edx
cmp edi, 3
jne 0x40318e
fstp dword [esp + eax + 0x1adc]
jmp 0x403190
fstp st(0)
fld st(0)
fsub dword [0x4091a8]
fxch st(1)
fsub dword [0x4091ac]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
fxch st(2)
fstp dword [esp + 0x50]
mov eax, dword [esp + eax + 0x1adc]
mov ecx, dword [esp + 0x50]
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4032f4
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4032ce
fild dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
mov eax, dword [esp + 0x38]
inc eax
fstp dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0x38], eax
fstp dword [esp + 0x18]
jg 0x4032c6
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x403253
jmp 0x4032ce
mov dword [esp + 0x20], 1
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp edx, eax
jg 0x4032ec
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4031f5
jmp 0x4032f4
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x40335e
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x403358
xor edi, edi
add esi, 0x10
dec ebp
jne 0x40330e
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
xor eax, eax
test edi, edi
sete al
cmp ecx, edx
jg 0x40337c
cmp eax, 1
je 0x4031e0
jmp 0x403384
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x403af8
fild dword [esp + 0x48]
fld dword [esp + 0x50]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x3c]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x1c]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x10]
mov dword [esp + 0x18], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4034d3
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4034b5
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x4034ad
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x403440
jmp 0x4034b5
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x4034cb
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4033f6
jmp 0x4034d3
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x40353b
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x403535
xor edi, edi
add esi, 0x10
dec ebp
jne 0x4034e9
mov ecx, dword [esp + 0x34]
xor eax, eax
test edi, edi
sete al
cmp ebx, ecx
jg 0x403555
cmp eax, 1
je 0x4033dd
jmp 0x40355d
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x403af8
fild dword [esp + 0x48]
fld dword [esp + 0x50]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x3c]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x1c]
mov eax, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x10]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4036ac
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x40368e
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x403686
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x403619
jmp 0x40368e
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x4036a4
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4035cf
jmp 0x4036ac
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x403714
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x40370e
xor edi, edi
add esi, 0x10
dec ebp
jne 0x4036c2
mov ecx, dword [esp + 0x34]
xor eax, eax
test edi, edi
sete al
cmp ebx, ecx
jg 0x40372e
cmp eax, 1
je 0x4035b6
jmp 0x403736
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x403af8
fild dword [esp + 0x48]
fld dword [esp + 0x50]
fld dword [esp + 0x3c]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x20], ebx
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + eax + 0x1adc]
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x403893
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x403875
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x40386d
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x403800
jmp 0x403875
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x40388b
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4037b6
jmp 0x403893
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x4038fb
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4038f5
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x4038a9
cmp ebx, dword [esp + 0x34]
jg 0x403913
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x40379d
jmp 0x40391b
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x403af8
fild dword [esp + 0x48]
fld dword [esp + 0x50]
fld dword [esp + 0x3c]
fxch st(2)
fst dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fmul dword [0x4091ac]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
fxch st(2)
fsub st(1)
fxch st(3)
fsub st(1)
fxch st(2)
fstp dword [esp + 0x1c]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(2)
fstp dword [esp + 0x10]
mov dword [esp + 0x18], edx
fstp dword [esp + 0x14]
fstp st(0)
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x403a70
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x403a52
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x403a4a
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4039dd
jmp 0x403a52
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x403a68
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x403993
jmp 0x403a70
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x403ad8
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x403ad2
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x403a86
cmp ebx, dword [esp + 0x34]
jg 0x403af0
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x40397a
jmp 0x403af8
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x403b13
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x18]
jmp 0x405822
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x44], edx
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
mov ecx, dword [esp + eax + 0x1adc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], 3
fstp dword [esp + 0x1c]
mov dword [esp + 0x34], 0xc
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x403c5d
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x403c3e
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x403c36
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x403bc6
jmp 0x403c3e
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x403c55
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x403b7e
jmp 0x403c5d
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x403cc5
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x403cbf
xor edi, edi
add esi, 0x10
dec ebp
jne 0x403c73
xor eax, eax
test edi, edi
sete al
cmp ebx, 0xc
jg 0x403cdc
cmp eax, 1
je 0x403b65
jmp 0x403ce4
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40446e
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x403e33
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x403e14
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x403e0c
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x403d9c
jmp 0x403e14
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x403e2b
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x403d54
jmp 0x403e33
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x403e9b
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x403e95
xor edi, edi
add esi, 0x10
dec ebp
jne 0x403e49
xor eax, eax
test edi, edi
sete al
cmp ebx, 0xc
jg 0x403eb2
cmp eax, 1
je 0x403d3b
jmp 0x403eba
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40446e
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fstp dword [esp + 0x10]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x18], edx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x404009
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x403fea
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x403fe2
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x403f72
jmp 0x403fea
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x404001
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x403f2a
jmp 0x404009
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov edi, 1
test eax, eax
jle 0x404071
lea esi, [esp + 0x1dc]
mov ebp, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x40406b
xor edi, edi
add esi, 0x10
dec ebp
jne 0x40401f
xor eax, eax
test edi, edi
sete al
cmp ebx, 0xc
jg 0x404088
cmp eax, 1
je 0x403f11
jmp 0x404090
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40446e
fld dword [esp + 0x40]
fld dword [esp + 0x44]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], ebx
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + eax + 0x1adc]
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4041f9
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x4041d2
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x4041ca
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x40415a
jmp 0x4041d2
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x4041ed
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404112
mov dword [esp + 0x38], ebx
jmp 0x4041f9
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x404267
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x40425d
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404213
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x40427e
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x4040f9
jmp 0x404286
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40446e
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c8]
fxch st(1)
fsub dword [0x4091c8]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4043e1
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4043ba
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x4043b2
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x404342
jmp 0x4043ba
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x4043d5
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4042fa
mov dword [esp + 0x38], ebx
jmp 0x4043e1
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x40444f
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x404445
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x4043fb
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x404466
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x4042e1
jmp 0x40446e
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x404489
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov edx, dword [esp + 0x18]
jmp 0x404e76
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b0]
mov eax, dword [esp + eax + 0x1adc]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
fstp dword [esp + 0x1c]
jmp 0x405866
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
fld dword [ebp]
lea eax, [ecx*4]
cmp edi, 2
mov dword [esp + 0x30], eax
fst dword [esp + eax + 0x4609c]
mov dword [esp + eax + 0x1adc], edx
jne 0x4044f0
mov ecx, edx
mov dword [esp + eax + 0x1adc], ecx
cmp edi, 3
jne 0x404502
fld dword [esp + 0x28]
fadd dword [ebx]
fstp dword [esp + eax + 0x1adc]
fld st(0)
fsub dword [0x4091a8]
fxch st(1)
fsub dword [0x4091ac]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
fxch st(2)
fstp dword [esp + 0x50]
mov edx, dword [esp + eax + 0x1adc]
mov eax, dword [esp + 0x50]
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x24]
fstp dword [esp + 0x18]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
xor edi, edi
test ebx, ebx
jle 0x404666
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x404644
fild dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
mov eax, dword [esp + 0x38]
inc eax
fstp dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0x38], eax
fstp dword [esp + 0x18]
jg 0x404638
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x4045c5
jmp 0x404640
mov dword [esp + 0x20], 1
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp ecx, eax
jg 0x40465e
inc edi
add esi, 0x10
cmp edi, ebx
jl 0x404567
jmp 0x404666
mov dword [esp + 0x20], 1
test ebx, ebx
mov ebp, 1
jle 0x4046ca
lea esi, [esp + 0x1dc]
mov edi, ebx
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4046c4
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404678
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x4046e8
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404556
jmp 0x4046f0
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x404e60
fild dword [esp + 0x48]
fld dword [esp + 0x50]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x3c]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x18]
mov ecx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40483f
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x404821
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x404819
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4047ac
jmp 0x404821
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x404837
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404762
jmp 0x40483f
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x4048a7
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4048a1
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404855
cmp ebx, dword [esp + 0x34]
jg 0x4048bf
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404749
jmp 0x4048c7
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x404e60
fild dword [esp + 0x48]
fld dword [esp + 0x50]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x3c]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
fxch st(3)
fstp dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x18]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x10]
mov dword [esp + 0x1c], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x404a16
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4049f8
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x4049f0
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x404983
jmp 0x4049f8
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x404a0e
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404939
jmp 0x404a16
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x404a7e
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x404a78
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404a2c
cmp ebx, dword [esp + 0x34]
jg 0x404a96
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404920
jmp 0x404a9e
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x404e60
fild dword [esp + 0x48]
fld dword [esp + 0x50]
fld dword [esp + 0x3c]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x20], ebx
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [0x4091b4]
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + eax + 0x1adc]
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x1c], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x404bfb
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x404bdd
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x404bd5
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x404b68
jmp 0x404bdd
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x404bf3
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404b1e
jmp 0x404bfb
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x404c63
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x404c5d
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404c11
cmp ebx, dword [esp + 0x34]
jg 0x404c7b
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404b05
jmp 0x404c83
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x404e60
fild dword [esp + 0x48]
fld dword [esp + 0x50]
fld dword [esp + 0x3c]
fxch st(2)
fst dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fmul dword [0x4091ac]
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
fxch st(2)
fsub st(1)
fxch st(3)
fsub st(1)
fxch st(2)
fstp dword [esp + 0x18]
mov ecx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(2)
fstp dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x14]
fstp st(0)
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x404dd8
mov ebp, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x404dba
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebx
cmp ebx, ebp
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x404db2
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x404d45
jmp 0x404dba
mov dword [esp + 0x20], 1
cmp ebx, ebp
jg 0x404dd0
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404cfb
jmp 0x404dd8
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x404e40
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x404e3a
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404dee
cmp ebx, dword [esp + 0x34]
jg 0x404e58
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404ce2
jmp 0x404e60
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x404e8d
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
fstp dword [esp + eax + 0x4609c]
mov dword [esp + eax + 0x1adc], edx
jmp 0x405866
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x40], ecx
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
mov edx, dword [esp + eax + 0x1adc]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x48], 3
fstp dword [esp + 0x18]
mov dword [esp + 0x34], 0xc
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x404fd7
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x404fb8
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x404fb0
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x404f40
jmp 0x404fb8
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x404fcf
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x404ef8
jmp 0x404fd7
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x40503f
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x405039
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x404fed
cmp ebx, 0xc
jg 0x405056
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x404edf
jmp 0x40505e
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40580c
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fsub dword [0x4091b4]
fxch st(1)
fstp dword [esp + 0x10]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4051b9
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x405192
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x40518a
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x40511a
jmp 0x405192
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x4051ad
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4050d2
mov dword [esp + 0x38], ebx
jmp 0x4051b9
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x405227
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x40521d
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x4051d3
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x40523e
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x4050b9
jmp 0x405246
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40580c
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(2)
fsub dword [0x4091b4]
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4053a1
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x40537a
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x405372
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x405302
jmp 0x40537a
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x405395
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4052ba
mov dword [esp + 0x38], ebx
jmp 0x4053a1
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x40540f
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x405405
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x4053bb
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x405426
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x4052a1
jmp 0x40542e
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40580c
fld dword [esp + 0x40]
fld dword [esp + 0x44]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], ebx
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fsub dword [0x4091b4]
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + eax + 0x1adc]
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x405597
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x405570
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x405568
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x4054f8
jmp 0x405570
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x40558b
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4054b0
mov dword [esp + 0x38], ebx
jmp 0x405597
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x405605
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x4055fb
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x4055b1
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x40561c
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x405497
jmp 0x405624
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x40580c
fld dword [esp + 0x44]
mov eax, dword [esp + 0x30]
xor ebx, ebx
fld dword [esp + 0x40]
fld dword [esp + eax + 0x1adc]
fxch st(2)
fsub dword [0x4091c8]
fxch st(1)
fsub dword [0x4091c8]
fxch st(2)
fsub dword [0x4091b4]
fxch st(1)
fstp dword [esp + 0x10]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x20], ebx
fxch st(1)
fstp dword [esp + 0x14]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40577f
mov ebp, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebp
call fcn.004014f0
test al, al
je 0x405758
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(1)
inc ebx
cmp ebx, 0xc
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jg 0x405750
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x4056e0
jmp 0x405758
mov dword [esp + 0x20], 1
cmp ebx, 0xc
jg 0x405773
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x405698
mov dword [esp + 0x38], ebx
jmp 0x40577f
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebp, 1
test eax, eax
jle 0x4057ed
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4057e3
xor ebp, ebp
add esi, 0x10
dec edi
jne 0x405799
mov ebx, dword [esp + 0x38]
cmp ebx, 0xc
jg 0x405804
xor eax, eax
test ebp, ebp
sete al
cmp eax, 1
je 0x40567f
jmp 0x40580c
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x405836
fld dword [esp + 0x10]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
fstp dword [esp + eax + 0x4609c]
mov dword [esp + eax + 0x1adc], ecx
jmp 0x405866
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
fld dword [esp + eax + 0x1adc]
fsub dword [0x4091b4]
mov edx, dword [esp + eax + 0x1adc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
fstp dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebp, 1
fld dword [esp + edi + 0x460a4]
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc8], ebp
fstp qword [esp]
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [esp + edi + 0x1ae0]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], ebp
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov eax, dword [esp + 0x64]
add esp, 4
shl eax, 4
lea edx, [esp + 0x10]
lea ecx, [esp + eax + 0x4fcdc]
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.004015b0
mov eax, dword [esp + 0x54]
fld dword [esp + 0x64]
fcomp dword [eax]
fld dword [esp + edi + 0x1adc]
fnstsw ax
test ah, 1
je 0x4058f9
fsub dword [0x4091b0]
jmp 0x4058ff
fsub dword [0x4091b4]
mov eax, dword [esp + 0x60]
fstp dword [esp + edi + 0x1535c]
inc eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x402f0b
mov esi, ecx
xor edx, edx
test esi, esi
jle 0x405a00
lea ecx, [esp + 0x3281c]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + edx*4 + 0x1ef9c]
mov edi, dword [esp + 0x64]
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov ecx, dword [edi]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
lea ebx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x68], ecx
cmp edx, eax
mov ebp, edx
mov ecx, edx
jge 0x4059aa
fld dword [esp + 0x4c]
fcomp dword [esp + ecx*4 + 0x1ef9c]
lea esi, [esp + ecx*4 + 0x1ef9c]
fnstsw ax
test ah, 0x41
jne 0x40599a
mov eax, dword [esi]
mov ebp, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [edi]
fstp st(0)
fld dword [esp + ecx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x58]
inc ecx
add edi, 4
cmp ecx, eax
jl 0x40596a
mov edi, dword [esp + 0x64]
cmp ebp, edx
je 0x4059ea
mov ecx, dword [ebx]
lea eax, [ebp*4]
mov dword [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ], ecx
mov ecx, dword [esp + edx*4 + 0x1ef9c]
mov dword [esp + eax + 0x1ef9c], ecx
mov ecx, dword [esp + 0x4c]
fstp dword [ebx]
mov dword [esp + edx*4 + 0x1ef9c], ecx
mov ecx, dword [edi]
mov dword [esp + eax + 0x3281c], ecx
mov eax, dword [esp + 0x68]
mov dword [edi], eax
jmp 0x4059ec
fstp st(0)
mov eax, dword [esp + 0x58]
inc edx
add edi, 4
cmp edx, eax
mov dword [esp + 0x64], edi
jl 0x40593b
mov ecx, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x58]
cmp ecx, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x48], 2
mov dword [esp + 0x34], 6
mov dword [esp + 0x6c], eax
jle 0x4082f3
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x54]
test ecx, ecx
lea eax, [edx*4]
mov dword [esp + 0x24], 0
fld dword [esp + eax + 0x3281c]
fadd dword [esp + 0x84]
fld dword [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fld dword [esp + eax + 0x1ef9c]
fxch st(2)
fstp dword [esp + 0x28]
lea edi, [esp + eax + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
lea ebp, [esp + eax + 0x1ef9c]
fsub dword [esp + 0x28]
fld dword [esp + 0x28]
fadd dword [edi]
fld dword [ebp]
fxch st(2)
fst dword [esp + 0x68]
fsub dword [0x4091b8]
fxch st(1)
fsub dword [0x4091bc]
fxch st(3)
fsub dword [0x409188]
fxch st(2)
fsub dword [0x409184]
fxch st(1)
fstp dword [esp + 0x10]
fxch st(2)
fstp dword [esp + 0x14]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x18]
jle 0x405b45
mov eax, ecx
lea esi, [esp + 0x4fcdc]
lea ebx, [esp + 0x1dc]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov edx, esp
mov dword [ecx + 0xc], eax
mov ecx, esi
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x405b37
mov ecx, dword [esp + 0x2c]
push ebx
push esi
call fcn.004015b0
mov ecx, dword [esp + 0x24]
inc ecx
add ebx, 0x10
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x5c]
add esi, 0x10
dec eax
mov dword [esp + 0x5c], eax
jne 0x405ad6
mov edx, dword [esp + 0x7c]
xor esi, esi
fld dword [edi]
mov dword [esp + 0x80], edx
mov ebx, 1
fst dword [esp + 0x38]
xor edx, edx
fld dword [ebp]
fsub dword [esp + edx*4 + 0x1ef9c]
fabs
fcomp qword [0x409198]
fnstsw ax
test ah, 1
je 0x405ba5
fld dword [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
fcomp dword [esp + 0x38]
lea ecx, [esp + edx*4 + reloc.MSVCIRT.dll__close_fstream__QAEXXZ]
inc esi
fnstsw ax
test ah, 0x41
jne 0x405b98
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
fcom dword [ecx]
fnstsw ax
test ah, 0x41
jne 0x405ba5
fstp st(0)
fld dword [ecx]
mov eax, dword [esp + 0x58]
inc edx
cmp edx, eax
jl 0x405b5f
cmp esi, 1
jle 0x405c06
fld st(0)
fsub qword [0x4091a0]
fld dword [edi]
fld dword [esp + 0x38]
fadd st(3)
fxch st(2)
fcompp
fmul dword [0x409180]
fnstsw ax
test ah, 0x41
fstp dword [esp + 0x80]
fstp st(0)
jne 0x405be4
mov ebx, 2
jmp 0x405c08
fld dword [esp + 0x38]
fsub qword [0x409198]
fld dword [edi]
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x405c02
mov ebx, 3
jmp 0x405c08
xor ebx, ebx
jmp 0x405c08
fstp st(0)
test ebx, ebx
je 0x4082de
fld dword [edi]
mov ebx, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc8], 1
call ebx
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [ebp]
add esp, 4
mov ecx, esi
sub esp, 8
mov dword [esi + 4], 1
fstp qword [esp]
call ebx
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
fld dword [edi]
fcomp dword [esp + 0x84]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x406f5e
mov ecx, dword [ebp]
mov edx, dword [esp + 0x70]
fld dword [esp + 0x28]
fadd dword [edi]
mov dword [esp + 0x50], ecx
lea ecx, [edx*4]
fld dword [esp + 0x50]
fld dword [esp + 0x50]
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091a8]
fxch st(1)
fld st(2)
fsub dword [0x4091b0]
fld dword [esp + 0x50]
fld st(4)
fxch st(3)
fstp dword [esp + 0x4c]
xor eax, eax
mov edx, dword [esp + 0x4c]
fxch st(3)
fstp dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
lea eax, [esp + ecx + 0x28bdc]
lea ecx, [esp + ecx + 0x3c45c]
fxch st(2)
fstp dword [eax]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
fstp dword [ecx]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x64], eax
fxch st(1)
fstp dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], ecx
fstp dword [esp + 0x14]
xor edi, edi
test ebp, ebp
jle 0x405e0e
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x405dec
fild dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
mov eax, dword [esp + 0x38]
inc eax
fstp dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x38], eax
fstp dword [esp + 0x14]
jg 0x405de0
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x405d6d
jmp 0x405de8
mov dword [esp + 0x20], 1
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp edx, eax
jg 0x405e06
inc edi
add esi, 0x10
cmp edi, ebp
jl 0x405d0f
jmp 0x405e0e
mov dword [esp + 0x20], 1
test ebp, ebp
mov ebx, 1
jle 0x405e72
lea esi, [esp + 0x1dc]
mov edi, ebp
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x405e6c
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x405e20
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp eax, ecx
jg 0x405e90
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x405cfe
jmp 0x405e98
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4065e4
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(3)
fsub dword [0x4091b0]
fxch st(2)
fstp dword [esp + 0x28]
fadd dword [esp + 0x28]
fxch st(2)
fadd dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x14]
mov edx, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x405fdf
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x405fc1
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x405fb9
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x405f4c
jmp 0x405fc1
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x405fd7
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x405f02
jmp 0x405fdf
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x406047
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x406041
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x405ff5
cmp ebp, dword [esp + 0x34]
jg 0x40605f
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x405ee9
jmp 0x406067
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4065e4
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(3)
fsub dword [0x4091b0]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x14]
mov eax, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4061ae
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x406190
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x406188
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x40611b
jmp 0x406190
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x4061a6
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4060d1
jmp 0x4061ae
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x406216
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x406210
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x4061c4
cmp ebp, dword [esp + 0x34]
jg 0x40622e
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x4060b8
jmp 0x406236
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4065e4
mov eax, dword [esp + 0x30]
xor ebp, ebp
fild dword [esp + 0x48]
fld dword [eax]
fld dword [esp + 0x4c]
fxch st(2)
fst dword [esp + 0x28]
fmul dword [0x4091ac]
fld dword [esp + 0x40]
fxch st(2)
fsub dword [0x4091b0]
fxch st(3)
fsub st(1)
fxch st(2)
fsub st(1)
fxch st(3)
fstp dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x20], ebp
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x18]
mov dword [esp + 0x10], ecx
fstp st(0)
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x406385
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x406367
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
jg 0x40635f
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4062f2
jmp 0x406367
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x40637d
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4062a8
jmp 0x406385
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4063ed
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4063e7
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x40639b
cmp ebp, dword [esp + 0x34]
jg 0x406405
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x40628f
jmp 0x40640d
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4065e4
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fsub dword [0x4091b0]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x14]
mov edx, dword [eax]
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40655c
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x40653e
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fadd dword [esp + 0x28]
fxch st(1)
fadd dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x406536
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4064c9
jmp 0x40653e
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x406554
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x40647f
jmp 0x40655c
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4065c4
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4065be
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x406572
cmp ebp, dword [esp + 0x34]
jg 0x4065dc
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x406466
jmp 0x4065e4
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40660b
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
fstp dword [edx]
jmp 0x408261
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x3c], ecx
fld dword [eax]
fsub dword [0x4091b0]
mov edx, dword [eax]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x48], 3
fstp dword [esp + 0x14]
mov dword [esp + 0x34], 0xc
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40674b
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x40672c
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebp
cmp ebp, 0xc
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x406724
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
jne 0x4066b4
jmp 0x40672c
mov dword [esp + 0x20], 1
cmp ebp, 0xc
jg 0x406743
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x40666c
jmp 0x40674b
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4067b3
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4067ad
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x406761
cmp ebp, 0xc
jg 0x4067ca
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x406653
jmp 0x4067d2
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x406f0c
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(2)
fsub dword [0x4091c0]
fxch st(1)
fstp dword [esp + 0x14]
mov edx, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x406917
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x4068f8
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebp
cmp ebp, 0xc
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x4068f0
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
jne 0x406880
jmp 0x4068f8
mov dword [esp + 0x20], 1
cmp ebp, 0xc
jg 0x40690f
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x406838
jmp 0x406917
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x40697f
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x406979
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x40692d
cmp ebp, 0xc
jg 0x406996
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x40681f
jmp 0x40699e
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x406f0c
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fstp dword [esp + 0x14]
mov eax, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x406ae3
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x406ac4
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebp
cmp ebp, 0xc
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x406abc
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x406a4c
jmp 0x406ac4
mov dword [esp + 0x20], 1
cmp ebp, 0xc
jg 0x406adb
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x406a04
jmp 0x406ae3
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x406b4b
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x406b45
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x406af9
cmp ebp, 0xc
jg 0x406b62
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x4069eb
jmp 0x406b6a
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x406f0c
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(2)
fsub dword [0x4091b0]
fxch st(1)
fsub dword [0x4091c8]
fxch st(2)
fsub dword [0x4091c8]
fxch st(1)
fstp dword [esp + 0x14]
mov ecx, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x406caf
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x406c90
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebp
cmp ebp, 0xc
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
jg 0x406c88
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
jne 0x406c18
jmp 0x406c90
mov dword [esp + 0x20], 1
cmp ebp, 0xc
jg 0x406ca7
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x406bd0
jmp 0x406caf
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x406d17
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x406d11
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x406cc5
cmp ebp, 0xc
jg 0x406d2e
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x406bb7
jmp 0x406d36
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x406f0c
fld dword [esp + 0x3c]
fld dword [esp + 0x44]
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fsub dword [0x4091b0]
fxch st(2)
fsub dword [0x4091c4]
fxch st(1)
fsub dword [0x4091c4]
fxch st(2)
fstp dword [esp + 0x14]
mov edx, dword [eax]
fstp dword [esp + 0x1c]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x406e85
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, ebx
call fcn.004014f0
test al, al
je 0x406e66
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [0x4091c0]
fxch st(1)
fsub dword [0x4091c0]
fxch st(1)
inc ebp
cmp ebp, 0xc
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x406e5e
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.004014f0
test al, al
jne 0x406dee
jmp 0x406e66
mov dword [esp + 0x20], 1
cmp ebp, 0xc
jg 0x406e7d
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x406da6
jmp 0x406e85
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x406eed
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x406ee7
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x406e9b
cmp ebp, 0xc
jg 0x406f04
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x406d8d
jmp 0x406f0c
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x406f33
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
fstp dword [edx]
jmp 0x408261
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
fld dword [eax]
fsub dword [0x4091b0]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
fstp dword [esp + 0x14]
jmp 0x408261
fld dword [ebp]
fld dword [esp + 0x68]
fld st(1)
fld st(2)
fxch st(1)
fsub dword [0x4091ac]
fxch st(1)
fsub dword [0x4091a8]
fxch st(2)
fsub dword [0x4091b4]
fld dword [esp + 0x68]
fxch st(2)
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x4c]
shl ecx, 2
xor eax, eax
mov ebp, dword [esp + 0x24]
fxch st(2)
fstp dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
lea eax, [esp + ecx + 0x28bdc]
lea ecx, [esp + ecx + 0x3c45c]
fxch st(2)
fstp dword [eax]
fxch st(1)
fstp dword [ecx]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
fstp dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], ecx
xor edi, edi
test ebp, ebp
jle 0x4070f0
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4070ce
fild dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
mov eax, dword [esp + 0x38]
inc eax
fstp dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x38], eax
fstp dword [esp + 0x14]
jg 0x4070c2
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, ebp
call fcn.004014f0
test al, al
jne 0x40704f
jmp 0x4070ca
mov dword [esp + 0x20], 1
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp edx, eax
jg 0x4070e8
inc edi
add esi, 0x10
cmp edi, ebp
jl 0x406ff1
jmp 0x4070f0
mov dword [esp + 0x20], 1
test ebp, ebp
mov ebx, 1
jle 0x407154
lea esi, [esp + 0x1dc]
mov edi, ebp
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x40714e
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407102
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp eax, ecx
jg 0x407172
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x406fe0
jmp 0x40717a
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4078c6
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(3)
fsub dword [0x4091b4]
fxch st(2)
fstp dword [esp + 0x28]
fadd dword [esp + 0x28]
fxch st(2)
fadd dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x10]
mov edx, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x4072c1
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4072a3
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x40729b
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x40722e
jmp 0x4072a3
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x4072b9
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4071e4
jmp 0x4072c1
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x407329
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x407323
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x4072d7
cmp ebp, dword [esp + 0x34]
jg 0x407341
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x4071cb
jmp 0x407349
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4078c6
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(3)
fsub dword [0x4091b4]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x407490
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407472
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x40746a
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x4073fd
jmp 0x407472
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x407488
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4073b3
jmp 0x407490
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4074f8
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4074f2
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x4074a6
cmp ebp, dword [esp + 0x34]
jg 0x407510
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x40739a
jmp 0x407518
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4078c6
mov eax, dword [esp + 0x30]
xor ebp, ebp
fild dword [esp + 0x48]
fld dword [eax]
fld dword [esp + 0x4c]
fxch st(2)
fst dword [esp + 0x28]
fmul dword [0x4091ac]
fld dword [esp + 0x40]
fxch st(2)
fsub dword [0x4091b4]
fxch st(3)
fsub st(1)
fxch st(2)
fsub st(1)
fxch st(3)
fstp dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x20], ebp
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x18]
mov dword [esp + 0x14], ecx
fstp st(0)
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x407667
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x407649
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
jg 0x407641
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4075d4
jmp 0x407649
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x40765f
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x40758a
jmp 0x407667
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4076cf
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4076c9
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x40767d
cmp ebp, dword [esp + 0x34]
jg 0x4076e7
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407571
jmp 0x4076ef
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x4078c6
fild dword [esp + 0x48]
fld dword [esp + 0x4c]
fld dword [esp + 0x40]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fsub dword [0x4091b4]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x10]
mov edx, dword [eax]
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], edx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40783e
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407820
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x407818
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x4077ab
jmp 0x407820
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x407836
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x407761
jmp 0x40783e
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4078a6
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x4078a0
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407854
cmp ebp, dword [esp + 0x34]
jg 0x4078be
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407748
jmp 0x4078c6
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, ecx
jne 0x4078ef
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
fstp dword [edx]
jmp 0x408261
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
fld dword [eax]
fsub dword [0x4091b4]
mov eax, dword [eax]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
fstp dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], ecx
xor edi, edi
test ebp, ebp
jle 0x407a41
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407a1f
fild dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
mov eax, dword [esp + 0x38]
inc eax
fstp dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x38], eax
fstp dword [esp + 0x14]
jg 0x407a13
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, ebp
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x4079a0
jmp 0x407a1b
mov dword [esp + 0x20], 1
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jg 0x407a39
inc edi
add esi, 0x10
cmp edi, ebp
jl 0x407942
jmp 0x407a41
mov dword [esp + 0x20], 1
test ebp, ebp
mov ebx, 1
jle 0x407aa5
lea esi, [esp + 0x1dc]
mov edi, ebp
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407a9f
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407a53
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp eax, edx
jg 0x407ac3
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407931
jmp 0x407acb
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x408217
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(3)
fsub dword [0x4091b4]
fxch st(2)
fstp dword [esp + 0x28]
fadd dword [esp + 0x28]
fxch st(2)
fadd dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x10]
mov eax, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x407c12
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407bf4
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x407bec
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x407b7f
jmp 0x407bf4
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x407c0a
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x407b35
jmp 0x407c12
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x407c7a
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407c74
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407c28
cmp ebp, dword [esp + 0x34]
jg 0x407c92
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407b1c
jmp 0x407c9a
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x408217
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fild dword [esp + 0x48]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(3)
fsub dword [0x4091b4]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x10]
mov ecx, dword [eax]
fxch st(1)
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x407de1
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x407dc3
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x407dbb
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x407d4e
jmp 0x407dc3
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x407dd9
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x407d04
jmp 0x407de1
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x407e49
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407e43
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407df7
cmp ebp, dword [esp + 0x34]
jg 0x407e61
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407ceb
jmp 0x407e69
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x408217
mov eax, dword [esp + 0x30]
xor ebp, ebp
fild dword [esp + 0x48]
fld dword [eax]
fld dword [esp + 0x44]
fxch st(2)
fst dword [esp + 0x28]
fmul dword [0x4091ac]
fld dword [esp + 0x3c]
fxch st(2)
fsub dword [0x4091b4]
fxch st(3)
fsub st(1)
fxch st(2)
fsub st(1)
fxch st(3)
fstp dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x20], ebp
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x18]
mov dword [esp + 0x14], edx
fstp st(0)
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x407fb8
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x407f9a
fld dword [esp + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
jg 0x407f92
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
jne 0x407f25
jmp 0x407f9a
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x407fb0
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x407edb
jmp 0x407fb8
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x408020
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
je 0x40801a
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x407fce
cmp ebp, dword [esp + 0x34]
jg 0x408038
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x407ec2
jmp 0x408040
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 1
jne 0x408217
fild dword [esp + 0x48]
fld dword [esp + 0x44]
fld dword [esp + 0x3c]
fxch st(2)
fstp dword [esp + 0x28]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
mov eax, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x20], ebp
fld dword [eax]
fsub dword [0x4091b4]
fxch st(2)
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(2)
fstp dword [esp + 0x10]
mov eax, dword [eax]
fstp dword [esp + 0x1c]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jle 0x40818f
mov ebx, dword [esp + 0x34]
lea esi, [esp + 0x1dc]
sub esp, 0x10
mov ecx, esi
mov edx, esp
sub esp, 0x10
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x408171
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
fxch st(1)
fsub dword [esp + 0x28]
fxch st(1)
inc ebp
cmp ebp, ebx
fstp dword [esp + 0x10]
fstp dword [esp + 0x14]
jg 0x408169
sub esp, 0x10
mov edx, esi
mov eax, esp
sub esp, 0x10
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x34]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
call fcn.004014f0
test al, al
jne 0x4080fc
jmp 0x408171
mov dword [esp + 0x20], 1
cmp ebp, ebx
jg 0x408187
mov eax, dword [esp + 0x24]
inc edi
add esi, 0x10
cmp edi, eax
jl 0x4080b2
jmp 0x40818f
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov ebx, 1
test eax, eax
jle 0x4081f7
lea esi, [esp + 0x1dc]
mov edi, eax
sub esp, 0x10
mov eax, esi
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004014f0
test al, al
je 0x4081f1
xor ebx, ebx
add esi, 0x10
dec edi
jne 0x4081a5
cmp ebp, dword [esp + 0x34]
jg 0x40820f
xor eax, eax
test ebx, ebx
sete al
cmp eax, 1
je 0x408099
jmp 0x408217
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40823b
fld dword [esp + 0x18]
fsub dword [0x4091ac]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
mov dword [edx], ecx
fstp dword [eax]
jmp 0x408261
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
fld dword [eax]
fsub dword [0x4091b4]
mov ecx, dword [eax]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov edi, dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::operator___double_]
sub esp, 8
mov ebx, 1
fld dword [ecx]
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc8], ebx
fstp qword [esp]
call edi
mov esi, eax
push esi
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov edx, dword [esp + 0x68]
add esp, 4
sub esp, 8
mov ecx, esi
fld dword [edx]
mov dword [esi + 4], ebx
fstp qword [esp]
call edi
push eax
call dword [sym.imp.MSVCIRT.dll_class_ostream____cdecl_endl_class_ostream__]
mov esi, dword [esp + 0x58]
add esp, 4
mov eax, esi
lea edx, [esp + 0x10]
shl eax, 4
lea ecx, [esp + eax + 0x4fcdc]
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.004015b0
mov ecx, dword [esp + 0x70]
inc ecx
inc esi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x405a2e
lea ecx, [esp + 0xb0]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::close_void_]
mov esi, dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_fstream::destructor_void_]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x76de4], 1
call esi
mov edi, dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
lea ecx, [esp + 0xc4]
call edi
lea ecx, [esp + 0x128]
mov byte [esp + 0x76de4], 0
call esi
lea ecx, [esp + 0x128]
call edi
lea ecx, [esp + 0x18c]
mov dword [esp + 0x76de4], 0xffffffff
call esi
lea ecx, [esp + 0x18c]
call edi
mov ecx, dword [esp + 0x76ddc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret