Function at 0x58d7e0
Capabilities:
Access peb ldr_data
Check os version
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x62ca89
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
push ebx
push ebp
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], edx
mov dword [esp + 8], 0
mov ebp, dword [esp + 8]
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
push esi
mov dword [esp + 0x24], ecx
push edi
lea ecx, [esp + 0x74]
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
call fcn.0059bd00
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x190]
mov ecx, 5
lea edi, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x16c], 1
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc4], eax
call fcn.00489a30
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
push eax
lea ecx, [esp + 0xd0]
mov dword [esp + 0xcc], edx
call fcn.00489a30
lea ecx, [esp + 0x4b]
mov byte [esp + 0x4b], 1
push ecx
lea ecx, [esp + 0x78]
call fcn.0059bdd0
lea edx, [esp + 0x4b]
lea ecx, [esp + 0x74]
push edx
mov byte [esp + 0x4f], 1
call fcn.0059bdf0
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x58d957
fld dword [ecx]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x58d957
lea eax, [esp + 0x40]
lea ecx, [esp + 0x74]
push eax
mov dword [esp + 0x44], 1
call fcn.0059bf10
jmp 0x58d969
mov ecx, dword [ecx]
mov dword [esp + 0x124], ecx
lea ecx, [esp + 0x74]
call fcn.0059bfa0
lea edx, [esp + 0x40]
xor esi, esi
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x44], esi
call fcn.0059bed0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x74]
push eax
mov dword [esp + 0x44], esi
call fcn.0059bef0
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx]
lea ecx, [esp + 0x74]
push eax
call fcn.0059c0a0
lea ecx, [esp + 0x128]
call fcn.0059e870
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
push edi
lea ecx, [esp + 0x12c]
mov byte [esp + 0x170], 2
mov dword [esp + 0x164], edx
call fcn.0059e6b0
mov eax, dword [esp + 0x1a0]
mov esi, dword [esp + 0x178]
mov eax, dword [eax]
cmp eax, 6
ja case.default.0x58d9f1
jmp dword [eax*4 + 0x58e7b4]
mov ecx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edx, dword [ecx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
mov eax, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov ebp, dword [eax]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebp
mov ebx, dword [eax + 4]
mov dword [esp + 0x24], ebx
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jmp case.default.0x58d9f1
test edi, edi
je 0x58dc66
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x58db79
fld dword [ecx]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x58db79
fld dword [esi + 0xc]
fsub dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov edx, ecx
fmul dword [0x65d6f4]
mov dword [esp + 0x30], edx
fadd dword [esi + 8]
fst dword [esp + 0x40]
fld dword [esi + 4]
fld dword [esi + 8]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ebp, eax
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
fld dword [esp + 0x8c]
fadd dword [esi + 8]
fcom dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x58dbf1
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov edx, esi
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], 0
mov ecx, dword [edx + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov dword [esp + 0x34], ecx
fstp st(0)
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jmp case.default.0x58d9f1
fst dword [esp + 0x40]
fld dword [esi + 4]
fld dword [esi + 8]
mov edx, dword [esi]
fstp dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov eax, edx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esp + 0x40]
fstp dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x18]
mov ebp, ecx
fstp dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
jmp 0x58e593
mov ecx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edx, dword [ecx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
test edi, edi
je 0x58de86
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x58dd8d
fld dword [ecx]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x58dd8d
fld dword [esi + 0xc]
fsub dword [esi + 8]
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov ecx, eax
mov dword [esp + 0x30], ecx
fstp dword [esp + 0x40]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esp + 0x40]
fmul dword [0x65d6f4]
fsubr dword [esi + 0xc]
fst dword [esp + 0x40]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x1c]
fld dword [esi + 4]
fld dword [esi + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
fstp dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ebp, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x58d9f1
fld dword [esp + 0x8c]
fadd dword [esi + 8]
fcomp dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x58de03
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], 0
mov eax, dword [ecx + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jmp case.default.0x58d9f1
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 0xc]
fsub dword [esp + 0x8c]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov edx, ecx
mov dword [esp + 0x30], edx
fst dword [esp + 0x40]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
fstp dword [esp + 0x1c]
fld dword [esi + 4]
fld dword [esi + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
fstp dword [esp + 0x18]
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ebp, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
mov eax, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [eax]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ebp
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x58d9f1
test edi, edi
je 0x58e1c7
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x58e0d0
fld dword [ecx]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x58e0d0
fld dword [esi + 4]
fsub dword [esi]
fstp dword [esp + 0x40]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esp + 0x40]
fmul dword [0x65d6f4]
fstp dword [esp + 0x4c]
fld dword [esi + 4]
fsub dword [esp + 0x4c]
fst dword [esp + 0x44]
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
fstp dword [esp + 0x18]
fld dword [esp + 0x44]
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x1c]
mov ebp, eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
mov dword [esp + 0x28], ecx
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edx
call fcn.0059bd90
fld dword [esp + 0x88]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
jne case.default.0x58d9f1
fld dword [esp + 0x88]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x58e072
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi + 4]
fsub dword [esp + 0x88]
fst dword [esp + 0x44]
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
fstp dword [esp + 0x18]
fld dword [esp + 0x44]
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ebp, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x58d9f1
mov edx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov eax, dword [edx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], ebp
mov eax, dword [edx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], edx
jmp 0x58e593
fld dword [esp + 0x88]
fadd dword [esi]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x58e145
mov ecx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edx, dword [ecx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi + 4]
fsub dword [esp + 0x88]
fst dword [esp + 0x44]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], edx
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
fstp dword [esp + 0x18]
fld dword [esp + 0x44]
mov ecx, dword [esi]
mov edx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, ecx
fstp dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
jmp 0x58e593
mov ecx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov edx, dword [ecx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
test edi, edi
je 0x58e504
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635c40]
fnstsw ax
test ah, 1
je 0x58e40f
fld dword [ecx]
fcomp qword [0x646f48]
fnstsw ax
test ah, 0x41
jne 0x58e40f
fld dword [esi + 4]
fsub dword [esi]
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov ecx, eax
mov dword [esp + 0x30], ecx
fstp dword [esp + 0x40]
fld dword [esi + 0xc]
fld dword [esp + 0x40]
fmul dword [0x65d6f4]
fst dword [esp + 0x4c]
fadd dword [esi]
fst dword [esp + 0x44]
fld dword [esi + 8]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
fstp dword [esp + 0x10]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x30]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
push ecx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
call fcn.0059bd90
fld dword [esp + 0x88]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
jne case.default.0x58d9f1
fld dword [esp + 0x88]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x58e3ad
fld dword [esi + 0xc]
fld dword [esp + 0x88]
fadd dword [esi]
mov edx, dword [esi]
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x30], eax
fst dword [esp + 0x44]
fld dword [esi + 8]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], edx
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esp + 0x44]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
fstp dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp case.default.0x58d9f1
mov eax, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [eax]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ebp
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x58d9f1
fld dword [esp + 0x88]
fadd dword [esi]
fst dword [esp + 0x44]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x58e484
mov edx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov eax, dword [edx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], ebp
mov eax, dword [edx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], edx
jmp 0x58e593
fld dword [esi + 0xc]
fld dword [esp + 0x44]
mov ecx, dword [esi]
fst dword [esp + 0x44]
fld dword [esi + 8]
mov dword [esp + 0x10], ecx
mov edx, ecx
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esp + 0x44]
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
fstp dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x58d9f1
mov edx, esi
mov dword [esp + 0x10], 0
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], 0
mov eax, dword [edx]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], ebp
mov eax, dword [edx + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], edx
jmp 0x58e593
mov ecx, esi
mov edx, dword [ecx]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x38], edx
mov eax, dword [ecx + 0xc]
mov ebp, dword [ecx]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ebp
mov ebx, dword [ecx + 4]
mov dword [esp + 0x24], ebx
mov edx, dword [ecx + 8]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x64]
call fcn.004b1a40
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 3
call fcn.004b1a40
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
mov byte [esp + 0x16c], 4
fnstsw ax
test ah, 1
je 0x58e62f
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x58e62f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
mov dword [esp + 0x134], ecx
push eax
lea ecx, [esp + 0x12c]
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], ebx
mov dword [esp + 0x13c], edx
call fcn.0059e360
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x170], 5
call fcn.004b1cc0
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 4
call fcn.00489810
fld dword [esp + 0x30]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x58e68c
fld dword [esp + 0x38]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x58e68c
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x78]
call fcn.0059bd90
lea edx, [esp + 0x44]
lea ecx, [esp + 0x74]
push edx
call fcn.004cffb0
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x170], 6
call fcn.004b1cc0
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 4
call fcn.00489810
mov eax, dword [esp + 0x60]
test eax, eax
jbe 0x58e734
fld dword [esi + 0xc]
fsub dword [esi + 8]
push 0x6e73c8
lea ecx, [esp + 0x68]
sub esp, 8
fstp qword [esp]
fld dword [esi + 4]
fsub dword [esi]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esi + 8]
push 0x68f88c
sub esp, 8
fstp qword [esp]
fld dword [esi]
push 0x68f88c
sub esp, 8
fstp qword [esp]
push 0x6a2244
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
mov ecx, eax
call fcn.004b1c00
mov ecx, eax
call fcn.004b1c70
lea eax, [esp + 0x54]
push 0x6a2238
push eax
lea ecx, [esp + 0x6c]
call fcn.004b1ca0
mov ecx, eax
call fcn.004b1c70
mov esi, dword [esp + 0x174]
lea ecx, [esp + 0x64]
push esi
call fcn.004b1ba0
mov dword [esp + 0x50], 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 3
call fcn.004b1a60
lea ecx, [esp + 0x64]
mov byte [esp + 0x16c], 2
call fcn.004b1a60
lea ecx, [esp + 0x128]
mov byte [esp + 0x16c], 1
call fcn.0059e8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x16c], 0
call fcn.0059bd50
mov ecx, dword [esp + 0x164]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x160
ret