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

Disassembly:
sub esp, 0x1f0
mov eax, dword [esp + 0x204]
push ebx
push ebp
push esi
mov dword [eax], 0
mov ecx, dword [0x8d22b0]
push edi
mov edi, dword [esp + 0x204]
mov dword [0x8d22b0], 0x3e333333
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [esp + 0x74], ecx
je 0x5f3e0e
add eax, 0x30
jmp 0x5f3e11
lea eax, [edi + 4]
mov ebx, dword [esp + 0x20c]
fld dword [eax + 8]
lea edx, [esp + 0x128]
push edx
push ebx
push ecx
fstp dword [esp]
call fcn.005f1fa0
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x5f3e3c
add eax, 0x30
jmp 0x5f3e3f
lea eax, [edi + 4]
mov eax, dword [eax + 8]
lea ecx, [esp + 0x1d0]
push ecx
mov esi, eax
push ebx
push esi
mov dword [esp + 0x58], eax
call fcn.005f1fa0
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x1e4]
push ecx
push esi
call fcn.005f1670
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x224]
mov esi, dword [esp + 0x22c]
add esp, 0x1c
mov dword [0x8d22b0], edx
xor edx, edx
lea ecx, [esp + 0xa8]
lea esp, [esp]
fld dword [ecx + 4]
fmul dword [ebp + 8]
fld dword [ecx]
fmul dword [ebp + 4]
faddp st(1)
fld dword [ebp]
fmul dword [ecx - 4]
faddp st(1)
fadd dword [esp + edx*4 + 0x94]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jne 0x5f3ef5
fld dword [esi + 8]
fmul dword [ecx + 4]
fld dword [esi + 4]
fmul dword [ecx]
faddp st(1)
fld dword [esi]
fmul dword [ecx - 4]
faddp st(1)
fadd dword [esp + edx*4 + 0x94]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
je 0x5f5a1f
inc edx
add ecx, 0xc
cmp edx, 4
jl 0x5f3ea0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x5f3f0a
add eax, 0x30
jmp 0x5f3f0d
lea eax, [edi + 4]
mov eax, dword [eax + 8]
lea ecx, [esp + 0xf8]
push ecx
mov edx, eax
push ebx
push edx
mov dword [esp + 0x58], eax
call fcn.005f1fa0
fld dword [esp + 0x108]
fld dword [esp + 0x104]
mov eax, dword [esp + 0x58]
fadd dword [esp + 0x110]
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0x1e0]
fstp dword [esp + 0x20]
mov dword [esp + 0x28], eax
push edx
fadd dword [esp + 0x11c]
lea eax, [esp + 0x24]
fld dword [esp + 0x24]
push eax
fadd dword [esp + 0x128]
lea ecx, [esp + 0x110]
fxch st(1)
push ecx
fadd dword [esp + 0x130]
fstp dword [esp + 0x30]
fadd dword [esp + 0x138]
fld dword [esp + 0x30]
fadd dword [esp + 0x13c]
fxch st(1)
fmul dword [0x858c84]
fstp dword [esp + 0x2c]
fmul dword [0x858c84]
fstp dword [esp + 0x30]
call fcn.005f1750
lea edx, [esp + 0xf0]
push edx
lea eax, [esp + 0x1f0]
push eax
push ebp
call fcn.005f1450
lea ecx, [esp + 0xfc]
push ecx
lea edx, [esp + 0x1fc]
push edx
push esi
mov dword [esp + 0x80], eax
call fcn.005f1450
mov ecx, dword [esp + 0x80]
add esp, 0x34
cmp ecx, eax
je 0x5f5a1f
mov eax, dword [edi + 0x14]
test eax, eax
je 0x5f4000
add eax, 0x30
jmp 0x5f4003
lea eax, [edi + 4]
fld dword [eax + 8]
lea ecx, [esp + 0x128]
push ecx
push ebx
push ecx
fstp dword [esp]
call fcn.005f1fa0
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x5f4027
add eax, 0x30
jmp 0x5f402a
lea eax, [edi + 4]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x20c]
lea eax, [esp + 0x1d0]
push eax
push ecx
mov esi, edx
push esi
mov dword [esp + 0x58], edx
call fcn.005f1fa0
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x1e4]
push ecx
push esi
call fcn.005f1670
mov edx, ebp
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax]
mov dword [esp + 0x84], ecx
fld dword [esp + 0x84]
fsub dword [esp + 0x6c]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
fstp dword [esp + 0x40]
mov dword [esp + 0x88], edx
fld dword [esp + 0x88]
mov dword [esp + 0x8c], eax
fsub dword [esp + 0x70]
add esp, 0x1c
lea ecx, [esp + 0x24]
xor bl, bl
fstp dword [esp + 0x28]
fld dword [esp + 0x70]
fsub dword [esp + 0x58]
fstp dword [esp + 0x2c]
call fcn.0059c910
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
xor edi, edi
lea ecx, [esp + 0xa8]
lea ebx, [ebx]
fld dword [esp + 0x54]
fmul dword [ecx]
fld dword [esp + 0x50]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [ecx + 4]
faddp st(1)
fadd dword [esp + edi*4 + 0x94]
fst dword [esp + 0x74]
fcomp dword [0x858cc4]
fnstsw ax
test ah, 0x41
jne 0x5f4137
mov edx, 1
jmp 0x5f414f
fld dword [esp + 0x74]
fcomp dword [0x858fdc]
fnstsw ax
test ah, 5
jp 0x5f414d
or edx, 0xffffffff
jmp 0x5f414f
xor edx, edx
fld dword [esp + 0x6c]
fmul dword [ecx]
fld dword [esp + 0x68]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [ecx + 4]
faddp st(1)
fadd dword [esp + edi*4 + 0x94]
fst dword [esp + 0x84]
fcomp dword [0x858cc4]
fnstsw ax
test ah, 0x41
jne 0x5f4189
mov esi, 1
jmp 0x5f41a4
fld dword [esp + 0x84]
fcomp dword [0x858fdc]
fnstsw ax
test ah, 5
jp 0x5f41a2
or esi, 0xffffffff
jmp 0x5f41a4
xor esi, esi
cmp edx, 0xffffffff
je 0x5f424c
cmp esi, 0xffffffff
je 0x5f42f5
test edx, edx
mov bl, 1
jne 0x5f41fc
fld dword [0x858cc4]
fsub dword [esp + 0x74]
fld st(0)
fmul dword [ecx - 4]
fld st(1)
fmul dword [ecx]
fstp dword [esp + 0x60]
fxch st(1)
fmul dword [ecx + 4]
fstp dword [esp + 0x64]
fadd dword [esp + 0x50]
fstp dword [esp + 0x50]
fld dword [esp + 0x60]
fadd dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esp + 0x64]
fadd dword [esp + 0x58]
fstp dword [esp + 0x58]
test esi, esi
jne 0x5f439f
fld dword [0x858cc4]
fsub dword [esp + 0x84]
fld st(0)
fmul dword [ecx - 4]
fld st(1)
fmul dword [ecx]
fstp dword [esp + 0x34]
fxch st(1)
fmul dword [ecx + 4]
fstp dword [esp + 0x38]
fadd dword [esp + 0x68]
fstp dword [esp + 0x68]
fld dword [esp + 0x34]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x38]
fadd dword [esp + 0x70]
fstp dword [esp + 0x70]
jmp 0x5f439f
cmp esi, 1
jne 0x5f439f
fld dword [esp + 0x40]
fmul dword [ecx]
fld dword [esp + 0x3c]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [ecx + 4]
faddp st(1)
fadd dword [esp + edi*4 + 0x94]
fld dword [esp + 0x28]
fmul dword [ecx]
fld dword [esp + 0x24]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [ecx + 4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0xe8]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0xec]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
fstp st(0)
fld dword [esp + 0xe8]
fadd dword [esp + 0x40]
fstp dword [esp + 0x14]
fld dword [esp + 0xec]
mov eax, dword [esp + 0x14]
fadd dword [esp + 0x44]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
jmp 0x5f439f
cmp edx, 1
jne 0x5f439f
fld dword [esp + 0x40]
fmul dword [ecx]
fld dword [esp + 0x3c]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [ecx + 4]
faddp st(1)
fadd dword [esp + edi*4 + 0x94]
fld dword [esp + 0x28]
fmul dword [ecx]
fld dword [esp + 0x24]
fmul dword [ecx - 4]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [ecx + 4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0xd8]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0xdc]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
fstp st(0)
fld dword [esp + 0xd8]
fadd dword [esp + 0x40]
fstp dword [esp + 0x7c]
fld dword [esp + 0xdc]
mov edx, dword [esp + 0x7c]
fadd dword [esp + 0x44]
mov dword [esp + 0x54], edx
fstp dword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], eax
inc edi
add ecx, 0xc
cmp edi, 4
jl 0x5f4100
test bl, bl
jne 0x5f446d
mov edx, dword [esp + 0x20c]
mov eax, dword [esp + 0x204]
lea ecx, [esp + 0xe4]
push ecx
push edx
push eax
call fcn.005f3c20
mov eax, dword [esp + 0x21c]
fld dword [eax]
add esp, 0xc
fsub dword [ebp]
mov dword [esp + 0x18], 0
fstp dword [esp + 0x10]
fld dword [eax + 4]
fsub dword [ebp + 4]
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fmul dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fsqrt
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x5f5a1f
lea ecx, [esp + 0x10]
call fcn.0059c910
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 8]
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0x68]
push ecx
mov dword [esp + 0xdc], edx
lea edx, [esp + 0x54]
mov dword [esp + 0xe0], eax
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0xf4]
call fcn.0040ff20
test al, al
je 0x5f5a1f
fld dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
fsub dword [esp + 0x50]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x44], ecx
fstp dword [esp + 0x10]
mov dword [esp + 0x3c], edx
fld dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
fsub dword [esp + 0x54]
mov dword [esp + 0x40], eax
or ebp, 0xffffffff
or edi, 0xffffffff
fstp dword [esp + 0x14]
fld dword [esp + 0x70]
mov eax, dword [esp + 0x14]
fsub dword [esp + 0x58]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x24]
call fcn.0059c910
fld dword [esp + 0x54]
fmul dword [esp + 0xa8]
fld dword [esp + 0x58]
fmul dword [esp + 0xac]
faddp st(1)
fld dword [esp + 0x50]
fmul dword [esp + 0xa4]
faddp st(1)
fadd dword [esp + 0x94]
fld dword [esp + 0x6c]
fmul dword [esp + 0xa8]
fld dword [esp + 0x70]
fmul dword [esp + 0xac]
faddp st(1)
fld dword [esp + 0x68]
fmul dword [esp + 0xa4]
faddp st(1)
fadd dword [esp + 0x94]
fstp dword [esp + 0x1c]
fcom dword [0x858b50]
fnstsw ax
test ah, 0x44
jp 0x5f454e
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x5f46ff
fcom dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f462c
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f462c
fstp st(0)
xor ebp, ebp
fld dword [esp + 0x44]
fmul dword [esp + 0xac]
fld dword [esp + 0x40]
fmul dword [esp + 0xa8]
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0xa4]
faddp st(1)
fadd dword [esp + 0x94]
fld dword [esp + 0x2c]
fmul dword [esp + 0xac]
fld dword [esp + 0x28]
fmul dword [esp + 0xa8]
faddp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0xa4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x80]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
fstp st(0)
fld dword [esp + 0x7c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x80]
mov eax, dword [esp + 0x34]
fadd dword [esp + 0x44]
mov dword [esp + 0x54], eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
jmp 0x5f4701
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4701
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4701
fld dword [esp + 0x44]
xor edi, edi
fmul dword [esp + 0xac]
fld dword [esp + 0x40]
fmul dword [esp + 0xa8]
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0xa4]
faddp st(1)
fadd dword [esp + 0x94]
fld dword [esp + 0x2c]
fmul dword [esp + 0xac]
fld dword [esp + 0x28]
fmul dword [esp + 0xa8]
faddp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0xa4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x18]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esp + 0x40]
fstp dword [esp + 0x60]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x60]
fadd dword [esp + 0x44]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
jmp 0x5f4701
fstp st(0)
fld dword [esp + 0xb0]
fmul dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [esp + 0xb4]
faddp st(1)
fld dword [esp + 0xb8]
fmul dword [esp + 0x58]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0xb0]
fmul dword [esp + 0x68]
fld dword [esp + 0x6c]
fmul dword [esp + 0xb4]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xb8]
faddp st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x1c]
fcom dword [0x858b50]
fnstsw ax
test ah, 0x44
jp 0x5f477f
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x5f4936
fcom dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4860
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4860
fstp st(0)
mov ebp, 1
fld dword [esp + 0xb0]
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xb8]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xb4]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0xb0]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xb8]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xb4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x80]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
fstp st(0)
fld dword [esp + 0x7c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x80]
mov eax, dword [esp + 0x34]
fadd dword [esp + 0x44]
mov dword [esp + 0x54], eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
jmp 0x5f4938
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4938
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4938
fld dword [esp + 0xb0]
mov edi, 1
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xb8]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xb4]
faddp st(1)
fadd dword [esp + 0x98]
fld dword [esp + 0xb0]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xb8]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xb4]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x18]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esp + 0x40]
fstp dword [esp + 0x60]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x60]
fadd dword [esp + 0x44]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
jmp 0x5f4938
fstp st(0)
fld dword [esp + 0xbc]
fmul dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [esp + 0xc0]
faddp st(1)
fld dword [esp + 0xc4]
fmul dword [esp + 0x58]
faddp st(1)
fadd dword [esp + 0x9c]
fld dword [esp + 0xbc]
fmul dword [esp + 0x68]
fld dword [esp + 0x6c]
fmul dword [esp + 0xc0]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xc4]
faddp st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x1c]
fcom dword [0x858b50]
fnstsw ax
test ah, 0x44
jp 0x5f49b6
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x5f4b6d
fcom dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4a97
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4a97
fstp st(0)
mov ebp, 2
fld dword [esp + 0xbc]
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xc4]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xc0]
faddp st(1)
fadd dword [esp + 0x9c]
fld dword [esp + 0xbc]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xc4]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xc0]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x80]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
fstp st(0)
fld dword [esp + 0x7c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x80]
mov eax, dword [esp + 0x34]
fadd dword [esp + 0x44]
mov dword [esp + 0x54], eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
jmp 0x5f4b6f
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4b6f
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4b6f
fld dword [esp + 0xbc]
mov edi, 2
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xc4]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xc0]
faddp st(1)
fadd dword [esp + 0x9c]
fld dword [esp + 0xbc]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xc4]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xc0]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x18]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esp + 0x40]
fstp dword [esp + 0x60]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x60]
fadd dword [esp + 0x44]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
jmp 0x5f4b6f
fstp st(0)
fld dword [esp + 0xc8]
fmul dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [esp + 0xcc]
faddp st(1)
fld dword [esp + 0xd0]
fmul dword [esp + 0x58]
faddp st(1)
fadd dword [esp + 0xa0]
fld dword [esp + 0xc8]
fmul dword [esp + 0x68]
fld dword [esp + 0x6c]
fmul dword [esp + 0xcc]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0xd0]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x1c]
fcom dword [0x858b50]
fnstsw ax
test ah, 0x44
jp 0x5f4bed
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x44
jnp 0x5f4da4
fcom dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4cce
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4cce
fstp st(0)
mov ebp, 3
fld dword [esp + 0xc8]
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xd0]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xcc]
faddp st(1)
fadd dword [esp + 0xa0]
fld dword [esp + 0xc8]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xd0]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xcc]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x80]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x50], edx
fstp st(0)
fld dword [esp + 0x7c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x80]
mov eax, dword [esp + 0x34]
fadd dword [esp + 0x44]
mov dword [esp + 0x54], eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
jmp 0x5f4da6
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jp 0x5f4da6
fld dword [esp + 0x1c]
fcomp dword [0x858b50]
fnstsw ax
test ah, 1
jne 0x5f4da6
fld dword [esp + 0xc8]
mov edi, 3
fmul dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul dword [esp + 0xd0]
faddp st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0xcc]
faddp st(1)
fadd dword [esp + 0xa0]
fld dword [esp + 0xc8]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xd0]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0xcc]
faddp st(1)
fdivp st(1)
fchs
fld dword [esp + 0x24]
fmul st(1)
fld dword [esp + 0x28]
fmul st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul st(2)
fstp dword [esp + 0x18]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esp + 0x40]
fstp dword [esp + 0x60]
fld dword [esp + 0x18]
mov eax, dword [esp + 0x60]
fadd dword [esp + 0x44]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
jmp 0x5f4da6
fstp st(0)
test edi, edi
jl 0x5f5a1f
test ebp, ebp
jl 0x5f5a1f
lea esi, [edi + 3]
and esi, 0x80000003
jns 0x5f4dc6
dec esi
or esi, 0xfffffffc
inc esi
lea edx, [edi + 4]
and edx, 0x80000003
jns 0x5f4dd6
dec edx
or edx, 0xfffffffc
inc edx
lea eax, [ebp + 3]
and eax, 0x80000003
jns 0x5f4de5
dec eax
or eax, 0xfffffffc
inc eax
lea ecx, [ebp + 4]
and ecx, 0x80000003
jns 0x5f4df5
dec ecx
or ecx, 0xfffffffc
inc ecx
cmp eax, edx
mov edi, dword [esp + 0x208]
mov ebx, dword [edi]
mov dword [esp + 0x194], ebx
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 0x19c], edi
lea edi, [eax + eax*2]
lea edi, [esp + edi*4 + 0x128]
mov dword [esp + 0x198], ebx
mov ebx, dword [edi]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x8c], 2
je 0x5f4ea7
lea edi, [esp + 0x1ac]
mov dword [esp + 0x74], edi
lea ebx, [ebx]
add eax, 3
and eax, 0x80000003
jns 0x5f4e6f
dec eax
or eax, 0xfffffffc
inc eax
mov ebx, dword [esp + 0x74]
lea edi, [eax + eax*2]
lea edi, [esp + edi*4 + 0x128]
mov ebp, dword [edi]
mov dword [ebx], ebp
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [ebx + 4], ebp
mov ebp, dword [esp + 0x8c]
mov dword [ebx + 8], edi
inc ebp
add ebx, 0xc
cmp eax, edx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x74], ebx
jne 0x5f4e60
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x210]
mov ebx, dword [edi]
lea eax, [edx + edx*2]
lea eax, [esp + eax*4 + 0x194]
mov dword [eax], ebx
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov eax, dword [esp + 0x208]
mov edi, dword [eax]
mov dword [esp + 0x158], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x160], eax
lea eax, [ecx + ecx*2]
lea eax, [esp + eax*4 + 0x128]
mov dword [esp + 0x15c], edi
mov edi, dword [eax]
mov dword [esp + 0x164], edi
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
inc edx
cmp ecx, esi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x168], edi
mov dword [esp + 0x88], 2
mov eax, ecx
je 0x5f4f81
lea ecx, [esp + 0x170]
lea ebx, [ebx]
add eax, 5
and eax, 0x80000003
jns 0x5f4f4f
dec eax
or eax, 0xfffffffc
inc eax
lea edi, [eax + eax*2]
lea edi, [esp + edi*4 + 0x128]
mov ebp, dword [edi]
mov ebx, ecx
mov dword [ebx], ebp
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [ebx + 4], ebp
mov ebp, dword [esp + 0x88]
inc ebp
add ecx, 0xc
cmp eax, esi
mov dword [ebx + 8], edi
mov dword [esp + 0x88], ebp
jne 0x5f4f40
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x210]
mov edi, dword [esi]
lea ecx, [eax + eax*2]
lea ecx, [esp + ecx*4 + 0x158]
inc eax
mov dword [ecx], edi
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x218]
test eax, eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
jne 0x5f5750
fld dword [esp + 0x128]
mov eax, dword [esp + 0x130]
fld dword [esp + 0x12c]
mov dword [esp + 0x64], eax
fxch st(1)
mov eax, dword [esp + 0x194]
fadd dword [esp + 0x134]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x198]
mov ebx, 1
fstp dword [esp + 0x5c]
xor ecx, ecx
cmp edx, ebx
fadd dword [esp + 0x138]
mov dword [esp + 0x14], eax
fld dword [esp + 0x64]
mov eax, dword [esp + 0x19c]
fadd dword [esp + 0x13c]
mov dword [esp + 0x1c], ecx
fld dword [esp + 0x5c]
mov dword [esp + 0x74], edx
fadd dword [esp + 0x140]
mov byte [esp + 0x4b], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], ebx
fstp dword [esp + 0x5c]
fxch st(1)
fadd dword [esp + 0x144]
fstp dword [esp + 0x60]
fadd dword [esp + 0x148]
fld dword [esp + 0x5c]
fadd dword [esp + 0x14c]
fld dword [esp + 0x60]
fadd dword [esp + 0x150]
fstp dword [esp + 0x60]
fxch st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0x64]
fmul dword [0x858c84]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fmul dword [0x858c84]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [0x858c84]
fstp dword [esp + 0x64]
jle 0x5f532d
mov dword [esp + 0x80], ecx
lea edi, [esp + 0x1a4]
lea ebx, [ebx]
fld dword [edi - 4]
lea esi, [edi - 4]
fsub dword [esp + 0x10]
lea ecx, [esp + 0x30]
mov dword [esp + 0x38], 0
fstp dword [esp + 0x30]
fld dword [edi]
fsub dword [esp + 0x14]
fstp dword [esp + 0x34]
call fcn.0059c910
fld dword [esp + 0x30]
fmul dword [0x858b8c]
mov eax, dword [esp + 0x80]
fld dword [esp + 0x34]
mov dword [esp + 0x38], eax
fmul dword [0x858b8c]
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x30], ecx
fchs
fstp dword [esp + 0x7c]
fld dword [esi]
mov edx, dword [esp + 0x7c]
fsub dword [esp + 0x5c]
mov dword [esp + 0x34], edx
fld dword [edi]
fsub dword [esp + 0x60]
fld dword [edi + 4]
fsub dword [esp + 0x64]
fxch st(2)
fmul dword [esp + 0x78]
fxch st(1)
fmul dword [esp + 0x7c]
faddp st(1)
fxch st(1)
fmul dword [0x858b50]
faddp st(1)
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jp 0x5f5184
fld dword [esp + 0x78]
fmul dword [0x858c1c]
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fmul dword [0x858c1c]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x858c1c]
fstp dword [esp + 0x38]
fld dword [esp + 0x10]
push 0
fadd dword [esp + 0x34]
push 0
push 0
push 0
fstp dword [esp + 0xf4]
push 1
fld dword [esp + 0x28]
push 1
fadd dword [esp + 0x4c]
push 1
push 1
lea ecx, [esp + 0x3c]
fstp dword [esp + 0x108]
fld dword [esp + 0x38]
push ecx
fadd dword [esp + 0x5c]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x38]
fstp dword [esp + 0x114]
fld dword [esp + 0x58]
push esi
fadd dword [esi]
push eax
fstp dword [esp + 0x104]
fld dword [esp + 0x64]
fadd dword [edi]
fstp dword [esp + 0x108]
fld dword [esp + 0x68]
fadd dword [edi + 4]
fstp dword [esp + 0x10c]
call fcn.0056ba00
add esp, 0x30
test al, al
jne 0x5f5245
push 0
push 0
push 0
push 0
push 1
push 1
push 1
push 1
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x110]
push ecx
call fcn.0056ba00
add esp, 0x30
test al, al
je 0x5f52e3
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x20c]
je 0x5f52db
cmp ecx, dword [esp + 0x204]
je 0x5f52db
mov dl, byte [ecx + 0x36]
and dl, 7
cmp dl, 3
jne 0x5f5324
cmp dword [ecx + 0x534], 1
je 0x5f5324
mov eax, dword [ecx + 0x14]
test eax, eax
lea ebp, [ecx + 0x14]
mov ebx, ecx
jne 0x5f529c
call fcn.0054f560
mov eax, dword [ebp]
push eax
lea ecx, [ebx + 4]
call fcn.0054f1b0
mov ecx, dword [esp + 0x1c]
fld dword [esi]
mov eax, dword [ebp]
fsub dword [esp + 0x10]
add eax, 0x10
fld dword [edi]
fsub dword [esp + 0x14]
fld dword [edi + 4]
fsub dword [esp + 0x18]
fmul dword [eax + 8]
fxch st(1)
fmul dword [eax + 4]
faddp st(1)
fxch st(1)
fmul dword [eax]
faddp st(1)
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jnp 0x5f5317
mov ebx, dword [esp + 0x90]
jmp 0x5f52e7
xor ecx, ecx
mov dword [esp + 0x1c], ecx
jmp 0x5f52e7
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x8c]
inc ebx
mov dword [esp + 0x10], edx
mov edx, dword [esi + 8]
add edi, 0xc
cmp ebx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x90], ebx
jl 0x5f50c0
jmp 0x5f532d
mov eax, dword [esp + 0x90]
mov dword [esp + 0x74], eax
jmp 0x5f5328
mov dword [esp + 0x74], ebx
mov byte [esp + 0x4b], 0
mov eax, dword [esp + 0x158]
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x15c]
mov ebx, 1
xor edx, edx
cmp ebp, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x23], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], ebx
jle 0x5f561b
mov dword [esp + 0x80], edx
lea edi, [esp + 0x168]
lea esp, [esp]
fld dword [edi - 4]
lea esi, [edi - 4]
fsub dword [esp + 0x10]
lea ecx, [esp + 0x30]
mov dword [esp + 0x38], 0
fstp dword [esp + 0x30]
fld dword [edi]
fsub dword [esp + 0x14]
fstp dword [esp + 0x34]
call fcn.0059c910
fld dword [esp + 0x30]
fmul dword [0x858b8c]
mov eax, dword [esp + 0x80]
fld dword [esp + 0x34]
mov dword [esp + 0x38], eax
fmul dword [0x858b8c]
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x30], ecx
fchs
fstp dword [esp + 0x7c]
fld dword [esi]
mov edx, dword [esp + 0x7c]
fsub dword [esp + 0x5c]
mov dword [esp + 0x34], edx
fld dword [edi]
fsub dword [esp + 0x60]
fld dword [edi + 4]
fsub dword [esp + 0x64]
fxch st(2)
fmul dword [esp + 0x78]
fxch st(1)
fmul dword [esp + 0x7c]
faddp st(1)
fxch st(1)
fmul dword [0x858b50]
faddp st(1)
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jp 0x5f5454
fld dword [esp + 0x78]
fmul dword [0x858c1c]
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fmul dword [0x858c1c]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul dword [0x858c1c]
fstp dword [esp + 0x38]
fld dword [esp + 0x10]
push 0
fadd dword [esp + 0x34]
push 0
push 0
push 0
fstp dword [esp + 0xf4]
push 1
fld dword [esp + 0x28]
push 1
fadd dword [esp + 0x4c]
push 1
push 1
lea ecx, [esp + 0xa4]
fstp dword [esp + 0x108]
fld dword [esp + 0x38]
push ecx
fadd dword [esp + 0x5c]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x38]
fstp dword [esp + 0x114]
fld dword [esp + 0x58]
push esi
fadd dword [esi]
push eax
fstp dword [esp + 0x104]
fld dword [esp + 0x64]
fadd dword [edi]
fstp dword [esp + 0x108]
fld dword [esp + 0x68]
fadd dword [edi + 4]
fstp dword [esp + 0x10c]
call fcn.0056ba00
add esp, 0x30
test al, al
jne 0x5f551b
push 0
push 0
push 0
push 0
push 1
push 1
push 1
push 1
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x110]
push ecx
call fcn.0056ba00
add esp, 0x30
test al, al
je 0x5f55ca
mov edx, dword [esp + 0x84]
cmp edx, dword [esp + 0x20c]
je 0x5f55bf
cmp edx, dword [esp + 0x204]
je 0x5f55bf
mov al, byte [edx + 0x36]
and al, 7
cmp al, 3
jne 0x5f5610
cmp dword [edx + 0x534], 1
je 0x5f5610
mov eax, dword [edx + 0x14]
test eax, eax
lea ebp, [edx + 0x14]
mov ebx, edx
jne 0x5f557c
mov ecx, edx
call fcn.0054f560
mov ecx, dword [ebp]
push ecx
lea ecx, [ebx + 4]
call fcn.0054f1b0
mov edx, dword [esp + 0x84]
fld dword [esi]
mov eax, dword [ebp]
fsub dword [esp + 0x10]
add eax, 0x10
fld dword [edi]
fsub dword [esp + 0x14]
fld dword [edi + 4]
fsub dword [esp + 0x18]
fmul dword [eax + 8]
fxch st(1)
fmul dword [eax + 4]
faddp st(1)
fxch st(1)
fmul dword [eax]
faddp st(1)
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jnp 0x5f5601
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x90]
jmp 0x5f55d1
xor edx, edx
mov dword [esp + 0x84], edx
jmp 0x5f55d1
mov edx, dword [esp + 0x84]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x88]
inc ebx
add edi, 0xc
cmp ebx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x90], ebx
jl 0x5f5390
jmp 0x5f5617
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x4c], ecx
mov ebp, ecx
jmp 0x5f5612
mov ebp, ebx
mov byte [esp + 0x23], 0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x8c]
fld dword [0x858b50]
dec esi
test esi, esi
jle 0x5f5665
lea eax, [esp + 0x198]
fld dword [eax + 8]
add eax, 0xc
dec esi
fsub dword [eax - 0x10]
fld dword [eax]
fsub dword [eax - 0xc]
fld dword [eax + 4]
fsub dword [eax - 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
faddp st(1)
jne 0x5f5634
mov esi, dword [esp + 0x88]
fld dword [0x858b50]
dec esi
test esi, esi
jle 0x5f56b1
lea eax, [esp + 0x15c]
mov edi, edi
fld dword [eax + 8]
add eax, 0xc
dec esi
fsub dword [eax - 0x10]
fld dword [eax]
fsub dword [eax - 0xc]
fld dword [eax + 4]
fsub dword [eax - 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
faddp st(1)
jne 0x5f5680
mov al, byte [esp + 0x4b]
test al, al
mov al, byte [esp + 0x23]
je 0x5f56c3
test al, al
je 0x5f56f7
jmp 0x5f5706
test al, al
je 0x5f56d5
fstp st(0)
mov ebx, 2
fstp st(0)
jmp 0x5f57af
mov eax, dword [esp + 0x74]
cmp eax, 1
jne 0x5f56f0
cmp ebp, eax
jle 0x5f5702
fstp st(0)
fstp st(0)
mov ebx, 2
jmp 0x5f57af
jle 0x5f5702
cmp ebp, 1
jne 0x5f5702
fstp st(0)
mov ebx, 1
fstp st(0)
jmp 0x5f575e
cmp ecx, edx
jne 0x5f571a
fxch st(1)
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x5f56e6
mov ebx, 1
jmp 0x5f575e
movsx eax, word [ecx + 0x22]
fstp st(0)
mov ecx, dword [eax*4 + 0xa9b0c8]
fstp st(0)
mov eax, dword [ecx + 0x14]
movsx ecx, word [edx + 0x22]
fld dword [eax + 0x24]
mov edx, dword [ecx*4 + 0xa9b0c8]
mov eax, dword [edx + 0x14]
fld dword [eax + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5f56e6
mov ebx, 1
jmp 0x5f575e
xor ebx, ebx
cmp eax, 1
setne bl
inc ebx
cmp ebx, 1
jne 0x5f57aa
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x214]
dec eax
cmp eax, 1
jle 0x5f5801
lea ecx, [esp + 0x1a0]
lea edx, [eax - 1]
mov eax, dword [esi]
cmp eax, 8
jge 0x5f57a2
lea eax, [eax + eax*2]
lea eax, [esi + eax*4 + 4]
mov edi, ecx
mov ebp, dword [edi]
mov dword [eax], ebp
mov ebp, dword [edi + 4]
mov dword [eax + 4], ebp
mov edi, dword [edi + 8]
mov dword [eax + 8], edi
inc dword [esi]
add ecx, 0xc
dec edx
jne 0x5f5780
jmp 0x5f5801
cmp ebx, 2
jne 0x5f57fa
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x214]
dec eax
cmp eax, 1
jle 0x5f5801
lea ecx, [esp + 0x164]
lea edx, [eax - 1]
lea ecx, [ecx]
mov eax, dword [esi]
cmp eax, 8
jge 0x5f57f2
lea eax, [eax + eax*2]
lea eax, [esi + eax*4 + 4]
mov edi, ecx
mov ebp, dword [edi]
mov dword [eax], ebp
mov ebp, dword [edi + 4]
mov dword [eax + 4], ebp
mov edi, dword [edi + 8]
mov dword [eax + 8], edi
inc dword [esi]
add ecx, 0xc
dec edx
jne 0x5f57d0
jmp 0x5f5801
mov esi, dword [esp + 0x214]
mov eax, dword [esi]
cmp eax, 8
jge 0x5f5828
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x210]
lea edx, [esi + ecx*4 + 4]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
inc dword [esi]
cmp dword [esi], 1
mov ebp, dword [esp + 0x214]
jle 0x5f5a04
mov eax, dword [esp + 0x20c]
mov edi, dword [esp + 0x208]
mov ecx, dword [edi + 8]
lea edx, [esp + 0xf8]
push edx
push eax
push ecx
lea esi, [ebp + 0x10]
mov dword [esp + 0x58], ecx
call fcn.005f1fa0
fld dword [esp + 0x108]
fld dword [esp + 0x104]
mov edx, dword [esp + 0x58]
fadd dword [esp + 0x110]
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x1e0]
fstp dword [esp + 0x20]
mov dword [esp + 0x28], edx
push ecx
fadd dword [esp + 0x11c]
lea edx, [esp + 0x24]
fld dword [esp + 0x24]
push edx
fadd dword [esp + 0x128]
lea eax, [esp + 0x110]
fxch st(1)
push eax
fadd dword [esp + 0x130]
fstp dword [esp + 0x30]
fadd dword [esp + 0x138]
fld dword [esp + 0x30]
fadd dword [esp + 0x13c]
fxch st(1)
fmul dword [0x858c84]
fstp dword [esp + 0x2c]
fmul dword [0x858c84]
fstp dword [esp + 0x30]
call fcn.005f1750
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x1f0]
push edx
push edi
call fcn.005f1450
mov edx, dword [esp + 0x234]
lea ecx, [esp + 0x120]
push ecx
mov edi, eax
mov eax, dword [esi + 8]
push edx
push eax
mov dword [esp + 0x80], eax
call fcn.005f1fa0
fld dword [esp + 0x130]
fld dword [esp + 0x12c]
mov ecx, dword [esp + 0x80]
fadd dword [esp + 0x138]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x208]
fstp dword [esp + 0x48]
mov dword [esp + 0x50], ecx
push eax
fadd dword [esp + 0x144]
lea ecx, [esp + 0x4c]
fld dword [esp + 0x4c]
push ecx
fadd dword [esp + 0x150]
lea edx, [esp + 0x138]
fxch st(1)
fadd dword [esp + 0x154]
fstp dword [esp + 0x54]
fadd dword [esp + 0x15c]
fld dword [esp + 0x54]
fadd dword [esp + 0x160]
fxch st(1)
fmul dword [0x858c84]
fstp dword [esp + 0x50]
fmul dword [0x858c84]
fstp dword [esp + 0x54]
push edx
call fcn.005f1750
add esp, 0x44
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x1d4]
push ecx
push esi
call fcn.005f1450
add esp, 0xc
cmp edi, eax
jne 0x5f5a04
mov edx, dword [ebp]
xor ecx, ecx
dec edx
test edx, edx
jle 0x5f5a01
lea eax, [ebp + 4]
jmp 0x5f59e0
lea edx, [eax + 0xc]
mov edi, dword [edx]
mov esi, eax
mov dword [esi], edi
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov edx, dword [ebp]
inc ecx
add eax, 0xc
dec edx
cmp ecx, edx
jl 0x5f59e0
dec dword [ebp]
mov esi, dword [ebp]
dec esi
xor eax, eax
cmp ebx, 1
setne al
pop edi
mov dword [ebp], esi
pop esi
pop ebp
pop ebx
inc eax
add esp, 0x1f0
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1f0
ret