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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x67e2a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x23c
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x218]
call fcn.0064dc20
lea ecx, [esp + 0x80]
call fcn.0064dc20
lea ecx, [esp + 0xb0]
call fcn.0064dc20
lea ecx, [esp + 0xc8]
call fcn.0064dc20
lea ecx, [esp + 0x98]
call fcn.0064dc20
lea ecx, [esp + 0x200]
call fcn.0064dc20
lea ecx, [esp + 0x110]
call fcn.0064dc20
lea ecx, [esp + 0xe0]
call fcn.0064dc20
lea ecx, [esp + 0x158]
call fcn.0064dc20
lea ecx, [esp + 0x188]
call fcn.0064dc20
lea ecx, [esp + 0x128]
call fcn.0064dc20
lea ecx, [esp + 0xf8]
call fcn.0064dc20
lea ecx, [esp + 0x170]
call fcn.0064dc20
lea ecx, [esp + 0x1a0]
call fcn.0064dc20
fld qword [ebp + 8]
fabs
fcomp qword [0x691f50]
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0
fnstsw ax
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
test ah, 1
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
je 0x5a055c
fld qword [ebp + 0x10]
fabs
fcomp qword [0x691f50]
fnstsw ax
test ah, 1
jne 0x5a1bc3
fld qword [ebp + 0x18]
fcomp qword [0x691f50]
fnstsw ax
test ah, 1
jne 0x5a1bc3
fld qword [ebp + 0x20]
fcomp qword [0x691f50]
fnstsw ax
test ah, 1
jne 0x5a1bc3
lea esi, [edi + 0x70]
mov dword [esp + 0x28], 4
mov eax, dword [esi - 0x10]
xor ebx, ebx
cmp eax, ebx
je 0x5a05b3
mov ecx, dword [edi + 0x34]
push ebx
push eax
call fcn.004533e0
mov ecx, dword [esi - 0x10]
cmp ecx, ebx
je 0x5a05b0
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [esi - 0x10], ebx
mov eax, dword [esi]
cmp eax, ebx
je 0x5a05d2
mov ecx, dword [edi + 0x34]
push ebx
push eax
call fcn.004533e0
mov ecx, dword [esi]
cmp ecx, ebx
je 0x5a05d0
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov dword [esi], ebx
mov eax, dword [esp + 0x28]
add esi, 4
dec eax
mov dword [esp + 0x28], eax
jne 0x5a058f
fld qword [ebp + 0x38]
fmul qword [0x691ac8]
fst qword [ebp + 0x38]
fabs
fcomp qword [0x691f50]
fnstsw ax
test ah, 1
je 0x5a0603
xor esi, esi
mov dword [esp + 0x28], esi
jmp 0x5a060f
mov dword [esp + 0x28], 1
mov esi, dword [esp + 0x28]
fld qword [ebp + 0x20]
fmul qword [0x691ac8]
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
push ebx
push ebx
sub esp, 8
mov dword [esp + 0x24], eax
fstp qword [ebp + 0x20]
fld qword [edi + 0x50]
fadd qword [ebp + 0x10]
mov dword [esp + 0x28], ecx
sub esp, 8
lea ecx, [esp + 0x80]
fstp qword [esp + 8]
fld qword [esp + 0x2c]
fadd qword [ebp + 8]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0x84]
call fcn.004bd820
fld qword [ebp + 0x10]
fld qword [ebp + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
lea edx, [esp + 0x68]
lea ecx, [esp + 0x1d0]
push edx
mov dword [esp + 0x7c], 0
faddp st(1)
mov dword [esp + 0x80], 0
fsqrt
fstp qword [esp + 0x60]
fstp qword [esp + 0x6c]
fstp qword [esp + 0x74]
call fcn.00657020
lea eax, [esp + 0x1d0]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.006576a0
add esp, 8
lea ecx, [esp + 0x2c]
push eax
call fcn.006578b0
lea edx, [esp + 0x68]
lea eax, [esp + 0x1d0]
push edx
lea ecx, [esp + 0x144]
push eax
push ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x3ff00000
call fcn.006574b0
add esp, 0xc
lea ecx, [esp + 0x1e8]
push eax
call fcn.00657020
lea edx, [esp + 0x1e8]
lea eax, [esp + 0x140]
push edx
push eax
call fcn.006576a0
add esp, 8
lea ecx, [esp + 0x44]
push eax
call fcn.006578b0
cmp esi, ebx
jne 0x5a0796
fld qword [edi + 0x50]
fld qword [esp + 0x34]
fmul qword [ebp + 0x18]
push ebx
push ebx
sub esp, 8
mov ecx, dword [edi + 0x48]
fsubr st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea ecx, [esp + 0x150]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x44]
fmul qword [ebp + 0x18]
fsubr qword [esp + 0x2c]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0xb4]
jmp 0x5a08a9
push 0x40568000
push ebx
sub esp, 0x18
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00657880
lea ecx, [esp + 0x160]
push ecx
call fcn.00657220
add esp, 0x24
lea ecx, [esp + 0x1b8]
push eax
call fcn.006578b0
fld qword [edi + 0x50]
fld qword [esp + 0x34]
fmul qword [ebp + 0x18]
push ebx
push ebx
sub esp, 8
mov edx, dword [edi + 0x48]
fsubr st(1)
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x150]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x44]
fmul qword [ebp + 0x18]
fsubr qword [esp + 0x2c]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0x21c]
call fcn.004bd820
fld qword [esp + 0x1c0]
fmul qword [ebp + 0x38]
push ebx
push ebx
sub esp, 8
lea ecx, [esp + 0x150]
fsubr qword [esp + 0x230]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x1d0]
fmul qword [ebp + 0x38]
fsubr qword [esp + 0x230]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0xb4]
call fcn.004bd820
fld qword [esp + 0x1c0]
fmul qword [ebp + 0x38]
push ebx
push ebx
sub esp, 8
lea ecx, [esp + 0x150]
fadd qword [esp + 0x230]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x1d0]
fmul qword [ebp + 0x38]
fadd qword [esp + 0x230]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0x204]
call fcn.004bd820
fld qword [edi + 0x50]
fld qword [esp + 0x4c]
fmul qword [ebp + 0x20]
push ebx
push ebx
sub esp, 8
mov ecx, dword [edi + 0x48]
fsubr st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea ecx, [esp + 0x150]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x5c]
fmul qword [ebp + 0x20]
fsubr qword [esp + 0x2c]
fstp qword [esp]
call fcn.0064dc40
push eax
lea ecx, [esp + 0xcc]
call fcn.004bd820
fld qword [edi + 0x50]
fld qword [esp + 0x4c]
fmul qword [ebp + 0x20]
push ebx
push ebx
sub esp, 8
mov eax, dword [edi + 0x48]
fadd st(1)
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
sub esp, 8
lea ecx, [esp + 0x158]
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x5c]
fmul qword [ebp + 0x20]
fadd qword [esp + 0x2c]
fstp qword [esp]
call fcn.0064dc40
fld qword [ebp + 0x40]
fsub qword [0x695748]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
fstp qword [esp + 0x1c]
fld qword [0x69db98]
fsub qword [ebp + 0x40]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [edi + 0x48]
mov dword [esp + 0xa8], edx
fstp qword [esp + 0x14]
fld qword [esp + 0x2c]
fmul qword [esp + 0x1c]
mov edx, dword [edi + 0x4c]
push ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x10], ecx
fmul qword [esp + 0x60]
mov dword [esp + 0x14], edx
push ebx
fdiv qword [ebp + 0x40]
fld qword [esp + 0x4c]
fmul qword [ebp + 0x20]
fmul qword [0x691ad0]
fsubp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x3c]
fmul qword [esp + 0x24]
fmul qword [esp + 0x64]
fdiv qword [ebp + 0x40]
fld qword [esp + 0x54]
fmul qword [ebp + 0x20]
sub esp, 8
lea ecx, [esp + 0x150]
sub esp, 8
fmul qword [0x691ad0]
fsubp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x2c]
fmul qword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], edx
fmul qword [esp + 0x5c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
push ebx
push ebx
fdiv qword [ebp + 0x40]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi + 0x48]
sub esp, 8
mov dword [esp + 0x130], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
sub esp, 8
lea ecx, [esp + 0x158]
mov dword [esp + 0x13c], edx
fld qword [esp + 0x5c]
fmul qword [ebp + 0x20]
fmul qword [0x691ad0]
faddp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x4c]
fmul qword [esp + 0x34]
fmul qword [esp + 0x74]
fdiv qword [ebp + 0x40]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [0x691ad0]
faddp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x44]
fmul qword [ebp + 0x20]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
fmul qword [0x6a12a8]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
fld qword [esp + 0x2c]
fmul qword [esp + 0x1c]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
fmul qword [ebp + 0x18]
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], eax
fdiv qword [ebp + 0x40]
mov ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x4c]
push ebx
push ebx
sub esp, 8
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
sub esp, 8
lea ecx, [esp + 0x158]
fsubp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [0x6a12a8]
fld qword [esp + 0x4c]
fmul qword [esp + 0x34]
fmul qword [ebp + 0x18]
fdiv qword [ebp + 0x40]
fsubp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x44]
fmul qword [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
fmul qword [0x691ad0]
fld qword [esp + 0x2c]
fmul qword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
push ebx
push ebx
fmul qword [ebp + 0x18]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
fdiv qword [ebp + 0x40]
mov eax, dword [edi + 0x48]
sub esp, 8
mov dword [esp + 0x178], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
sub esp, 8
lea ecx, [esp + 0x158]
mov dword [esp + 0x184], edx
fsubp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [0x691ad0]
fld qword [esp + 0x4c]
fmul qword [esp + 0x34]
fmul qword [ebp + 0x18]
fdiv qword [ebp + 0x40]
fsubp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x188], edx
mov dword [esp + 0x18c], ecx
mov edx, dword [eax + 8]
fld qword [esp + 0x2c]
fmul qword [esp + 0x5c]
mov ecx, dword [eax + 0xc]
push ebx
push ebx
mov dword [esp + 0x198], edx
fdiv qword [esp + 0x1c]
mov dword [esp + 0x19c], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [edi + 0x48]
sub esp, 8
mov dword [esp + 0x1a8], edx
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
sub esp, 8
lea ecx, [esp + 0x158]
mov dword [esp + 0x1b4], eax
fld qword [esp + 0x5c]
fmul qword [ebp + 0x20]
fmul qword [str.UUUUUU]
fsubp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x4c]
fmul qword [esp + 0x74]
fdiv qword [esp + 0x2c]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [str.UUUUUU]
fsubp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x2c]
fmul qword [esp + 0x5c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
fdiv qword [esp + 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
push ebx
push ebx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi + 0x48]
sub esp, 8
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14c], edx
sub esp, 8
fld qword [esp + 0x5c]
fmul qword [ebp + 0x20]
fmul qword [str.UUUUUU]
faddp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x4c]
fmul qword [esp + 0x74]
fdiv qword [esp + 0x2c]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [str.UUUUUU]
faddp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
lea ecx, [esp + 0x158]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x44]
fmul qword [ebp + 0x20]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
fmul qword [0x6a1298]
fld qword [esp + 0x2c]
fmul qword [ebp + 0x18]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
push ebx
push ebx
fdiv qword [esp + 0x1c]
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [edi + 0x48]
sub esp, 8
mov dword [esp + 0x118], edx
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
sub esp, 8
lea ecx, [esp + 0x158]
mov dword [esp + 0x124], eax
fsubp st(1)
fld qword [edi + 0x50]
fld qword [esp + 0x64]
fmul qword [ebp + 0x20]
fmul qword [0x6a1298]
fld qword [esp + 0x4c]
fmul qword [ebp + 0x18]
fdiv qword [esp + 0x2c]
fsubp st(1)
fadd st(1)
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
fld qword [esp + 0x44]
fmul qword [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
fmul qword [str.UUUUUU]
fld qword [esp + 0x2c]
fmul qword [ebp + 0x18]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], edx
fdiv qword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [edi + 0x48]
mov dword [esp + 0x180], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x184], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
push ebx
fsubp st(1)
fld qword [esp + 0x50]
fmul qword [ebp + 0x20]
fmul qword [str.UUUUUU]
fld qword [esp + 0x38]
fmul qword [ebp + 0x18]
fdiv qword [esp + 0x18]
fsubp st(1)
fld qword [edi + 0x50]
push ebx
lea ecx, [esp + 0x148]
fadd st(1)
sub esp, 8
sub esp, 8
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x24]
fadd st(1)
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x1ac], ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
cmp esi, ebx
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], eax
jne 0x5a12e7
push 0xa8
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov dword [esp + 0x250], ebx
je 0x5a0f29
mov esi, eax
mov ebx, 7
mov ecx, esi
call fcn.0064dc20
add esi, 0x18
dec ebx
jne 0x5a0f16
mov esi, dword [esp + 0x1c]
jmp 0x5a0f2b
xor esi, esi
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
mov edx, dword [esp + 0x180]
mov eax, dword [esp + 0x184]
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], eax
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], ecx
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x16c]
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
or ebx, 0xffffffff
mov dword [esi + 0x98], eax
mov dword [esp + 0x250], ebx
mov dword [esi + 0x9c], ecx
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
push 0
push 7
mov dword [esi + 0xa0], edx
push esi
mov dword [esi + 0xa4], eax
call fcn.00500ab0
mov ecx, dword [edi + 0x34]
add esp, 0xc
mov dword [edi + 0x70], eax
push 0
push eax
call fcn.00453220
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], eax
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], ecx
mov edx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
mov dword [esi + 0x88], edx
mov dword [esi + 0x8c], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], ecx
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
push 0
push 7
mov dword [esi + 0xa0], edx
push esi
mov dword [esi + 0xa4], eax
call fcn.00500ab0
add esp, 0xc
mov dword [edi + 0x74], eax
jmp 0x5a1657
push 0x60
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov dword [esp + 0x250], 1
je 0x5a131e
mov esi, eax
mov ebx, 4
mov ecx, esi
call fcn.0064dc20
add esi, 0x18
dec ebx
jne 0x5a130b
mov esi, dword [esp + 0x1c]
jmp 0x5a1320
xor esi, esi
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x12c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
push 0
or ebx, 0xffffffff
push 4
mov dword [esi + 0x58], edx
push esi
mov dword [esp + 0x25c], ebx
mov dword [esi + 0x5c], eax
call fcn.00500ab0
mov ecx, dword [edi + 0x34]
add esp, 0xc
mov dword [edi + 0x70], eax
push 0
push eax
call fcn.00453220
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], ecx
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
push 0
push 4
mov dword [esi + 0x58], edx
push esi
mov dword [esi + 0x5c], eax
call fcn.00500ab0
mov ecx, dword [edi + 0x34]
add esp, 0xc
mov dword [edi + 0x74], eax
push 0
push eax
call fcn.00453220
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x204]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x210]
mov eax, dword [esp + 0x214]
push 0
push 2
mov dword [esi + 0x28], edx
push esi
mov dword [esi + 0x2c], eax
call fcn.00500ab0
mov ecx, dword [edi + 0x34]
add esp, 0xc
mov dword [edi + 0x78], eax
push 0
push eax
call fcn.00453220
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esi], ecx
mov dword [esi + 4], edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
push 0
push 2
mov dword [esi + 0x28], edx
push esi
mov dword [esi + 0x2c], eax
call fcn.00500ab0
add esp, 0xc
mov dword [edi + 0x7c], eax
mov ecx, dword [edi + 0x34]
push 0
push eax
call fcn.00453220
push esi
call fcn.0065e732
mov eax, dword [0x705e94]
add esp, 4
test eax, eax
jne 0x5a1b8e
fld qword [ebp + 0x20]
fsub qword [ebp + 0x28]
mov eax, dword [edi + 0x80]
test eax, eax
fst qword [esp + 0x14]
fld qword [edi + 0x50]
jne 0x5a1749
fld qword [esp + 0x4c]
fmul st(2)
push 0
push 0
sub esp, 8
mov ecx, dword [edi + 0x48]
fsubr st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
lea ecx, [esp + 0x78]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x5c]
fmul st(1)
fsubr qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
push 0x1e0
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x250], 2
je 0x5a16f9
mov ecx, eax
call fcn.004ac400
jmp 0x5a16fb
xor eax, eax
mov dword [edi + 0x80], eax
sub esp, 0x18
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov dword [esp + 0x26c], ebx
call fcn.0064dc70
mov ecx, dword [edi + 0x80]
call fcn.004d54d0
mov ecx, dword [edi + 0x80]
push 5
call fcn.004ac8f0
mov ecx, dword [edi + 0x80]
push 0
push ecx
mov ecx, dword [edi + 0x34]
call fcn.00453220
jmp 0x5a17a7
fld qword [esp + 0x4c]
fmul st(2)
push 0
push 0
sub esp, 8
mov edx, dword [edi + 0x48]
fsubr st(1)
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x78]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x5c]
fmul st(1)
fsubr qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
sub esp, 0x18
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0064dc70
mov ecx, dword [edi + 0x80]
call fcn.004d54d0
mov eax, dword [edi + 0x84]
fld qword [esp + 0x14]
fld qword [edi + 0x50]
test eax, eax
jne 0x5a1876
fld qword [esp + 0x4c]
fmul st(2)
push 0
push 0
sub esp, 8
mov eax, dword [edi + 0x48]
fadd st(1)
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
sub esp, 8
lea ecx, [esp + 0x80]
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x5c]
fmul st(1)
fadd qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
push 0x1e0
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x250], 3
je 0x5a1826
mov ecx, eax
call fcn.004ac400
jmp 0x5a1828
xor eax, eax
sub esp, 0x18
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov dword [esp + 0x26c], ebx
mov dword [edi + 0x84], eax
call fcn.0064dc70
mov ecx, dword [edi + 0x84]
call fcn.004d54d0
mov ecx, dword [edi + 0x84]
push 5
call fcn.004ac8f0
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x34]
push 0
push eax
call fcn.00453220
jmp 0x5a18d8
fld qword [esp + 0x4c]
fmul st(2)
push 0
push 0
sub esp, 8
mov ecx, dword [edi + 0x48]
fadd st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
sub esp, 8
lea ecx, [esp + 0x80]
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x5c]
fmul st(1)
fadd qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
sub esp, 0x18
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
call fcn.0064dc70
mov ecx, dword [edi + 0x84]
call fcn.004d54d0
mov eax, dword [esp + 0x28]
test eax, eax
mov eax, dword [edi + 0x88]
jne 0x5a1a14
fld qword [ebp + 0x18]
fsub qword [ebp + 0x30]
fld qword [edi + 0x50]
test eax, eax
jne 0x5a19b4
fld qword [esp + 0x34]
fmul st(2)
push 0
push 0
sub esp, 8
mov ecx, dword [edi + 0x48]
fsubr st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
lea ecx, [esp + 0x78]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x44]
fmul st(1)
fsubr qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
push 0x1e0
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x250], 4
je 0x5a1961
mov ecx, eax
call fcn.004ac400
jmp 0x5a1963
xor eax, eax
mov dword [edi + 0x88], eax
sub esp, 0x18
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov dword [esp + 0x26c], ebx
call fcn.0064dc70
mov ecx, dword [edi + 0x88]
call fcn.004d54d0
mov ecx, dword [edi + 0x88]
push 5
call fcn.004ac8f0
mov ecx, dword [edi + 0x88]
push 0
push ecx
mov ecx, dword [edi + 0x34]
call fcn.00453220
jmp 0x5a1a3e
fld qword [esp + 0x34]
fmul st(2)
push 0
push 0
sub esp, 8
mov edx, dword [edi + 0x48]
fsubr st(1)
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x78]
fstp qword [esp]
sub esp, 8
fstp st(0)
fld qword [esp + 0x44]
fmul st(1)
fsubr qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
sub esp, 0x18
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0064dc70
mov ecx, dword [edi + 0x88]
call fcn.004d54d0
jmp 0x5a1a3e
test eax, eax
je 0x5a1a3e
mov ecx, dword [edi + 0x34]
push 0
push eax
call fcn.004533e0
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x5a1a34
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [edi + 0x88], 0
mov eax, dword [edi + 0x8c]
fld qword [esp + 0x5c]
fsub qword [ebp + 0x30]
test eax, eax
jne 0x5a1b25
fld qword [edi + 0x50]
fld qword [esp + 0x34]
fmul st(2)
push 0
push 0
sub esp, 8
mov ecx, dword [edi + 0x48]
fadd st(1)
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
sub esp, 8
lea ecx, [esp + 0x80]
fstp qword [esp + 8]
fstp st(0)
fld qword [esp + 0x44]
fmul st(1)
fadd qword [esp + 0x24]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
push 0x1e0
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x250], 5
je 0x5a1ac0
mov ecx, eax
call fcn.004ac400
jmp 0x5a1ac2
xor eax, eax
mov dword [edi + 0x8c], eax
sub esp, 0x18
lea eax, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x34], esp
push eax
mov dword [esp + 0x26c], ebx
call fcn.0064dc70
mov ecx, dword [edi + 0x8c]
call fcn.004d54d0
mov ecx, dword [edi + 0x8c]
push 5
call fcn.004ac8f0
mov ecx, dword [edi + 0x8c]
push 0
push ecx
mov ecx, dword [edi + 0x34]
call fcn.00453220
mov ecx, dword [esp + 0x248]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x40
fld qword [esp + 0x34]
fmul st(1)
push 0
push 0
sub esp, 8
lea ecx, [esp + 0x240]
fadd qword [edi + 0x50]
sub esp, 8
fstp qword [esp + 8]
fld qword [esp + 0x44]
fmul st(1)
fadd qword [edi + 0x48]
fstp qword [esp]
fstp st(0)
call fcn.0064dc40
sub esp, 0x18
lea edx, [esp + 0x248]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0064dc70
mov ecx, dword [edi + 0x8c]
call fcn.004d54d0
mov ecx, dword [esp + 0x248]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x40
lea esi, [edi + 0x80]
mov ebx, 4
mov eax, dword [esi]
test eax, eax
je 0x5a1bbd
mov ecx, dword [edi + 0x34]
push 0
push eax
call fcn.004533e0
mov ecx, dword [esi]
test ecx, ecx
je 0x5a1bb7
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [esi], 0
add esi, 4
dec ebx
jne 0x5a1b99
mov ecx, dword [esp + 0x248]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x40