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

Disassembly:
push 0xffffffffffffffff
push 0x62c929
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.0059bbb0
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.00489500
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x188]
push eax
lea ecx, [esp + 0xd0]
mov dword [esp + 0xcc], edx
call fcn.00489500
lea ecx, [esp + 0x4b]
mov byte [esp + 0x4b], 1
push ecx
lea ecx, [esp + 0x78]
call fcn.0059bc80
lea edx, [esp + 0x4b]
lea ecx, [esp + 0x74]
push edx
mov byte [esp + 0x4f], 1
call fcn.0059bca0
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635bb0]
fnstsw ax
test ah, 1
je 0x58d7d7
fld dword [ecx]
fcomp qword [0x646eb8]
fnstsw ax
test ah, 0x41
jne 0x58d7d7
lea eax, [esp + 0x40]
lea ecx, [esp + 0x74]
push eax
mov dword [esp + 0x44], 1
call fcn.0059bdc0
jmp 0x58d7e9
mov ecx, dword [ecx]
mov dword [esp + 0x124], ecx
lea ecx, [esp + 0x74]
call fcn.0059be50
lea edx, [esp + 0x40]
xor esi, esi
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x44], esi
call fcn.0059bd80
lea eax, [esp + 0x40]
lea ecx, [esp + 0x74]
push eax
mov dword [esp + 0x44], esi
call fcn.0059bda0
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx]
lea ecx, [esp + 0x74]
push eax
call fcn.0059bf50
lea ecx, [esp + 0x128]
call fcn.0059e720
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.0059e560
mov eax, dword [esp + 0x1a0]
mov esi, dword [esp + 0x178]
mov eax, dword [eax]
cmp eax, 6
ja case.default.0x58d871
jmp dword [eax*4 + 0x58e634]
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.0x58d871
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.0x58d871
test edi, edi
je 0x58dae6
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635bb0]
fnstsw ax
test ah, 1
je 0x58d9f9
fld dword [ecx]
fcomp qword [0x646eb8]
fnstsw ax
test ah, 0x41
jne 0x58d9f9
fld dword [esi + 0xc]
fsub dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov edx, ecx
fmul dword [0x65d65c]
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.0x58d871
fld dword [esp + 0x8c]
fadd dword [esi + 8]
fcom dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x58da71
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.0x58d871
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 0x58e413
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.0x58d871
test edi, edi
je 0x58dd06
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635bb0]
fnstsw ax
test ah, 1
je 0x58dc0d
fld dword [ecx]
fcomp qword [0x646eb8]
fnstsw ax
test ah, 0x41
jne 0x58dc0d
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 [0x65d65c]
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.0x58d871
fld dword [esp + 0x8c]
fadd dword [esi + 8]
fcomp dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x58dc83
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.0x58d871
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.0x58d871
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.0x58d871
test edi, edi
je 0x58e047
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635bb0]
fnstsw ax
test ah, 1
je 0x58df50
fld dword [ecx]
fcomp qword [0x646eb8]
fnstsw ax
test ah, 0x41
jne 0x58df50
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 [0x65d65c]
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.0059bc40
fld dword [esp + 0x88]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
jne case.default.0x58d871
fld dword [esp + 0x88]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x58def2
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.0x58d871
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 0x58e413
fld dword [esp + 0x88]
fadd dword [esi]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x58dfc5
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.0x58d871
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 0x58e413
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.0x58d871
test edi, edi
je 0x58e384
mov ecx, dword [esp + 0x19c]
fld dword [ecx]
fcomp qword [0x635bb0]
fnstsw ax
test ah, 1
je 0x58e28f
fld dword [ecx]
fcomp qword [0x646eb8]
fnstsw ax
test ah, 0x41
jne 0x58e28f
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 [0x65d65c]
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.0059bc40
fld dword [esp + 0x88]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
jne case.default.0x58d871
fld dword [esp + 0x88]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x58e22d
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.0x58d871
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.0x58d871
fld dword [esp + 0x88]
fadd dword [esi]
fst dword [esp + 0x44]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x58e304
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 0x58e413
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.0x58d871
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 0x58e413
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.004b1370
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 3
call fcn.004b1370
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
mov byte [esp + 0x16c], 4
fnstsw ax
test ah, 1
je 0x58e4af
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x58e4af
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.0059e210
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x170], 5
call fcn.004b15f0
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 4
call fcn.004892e0
fld dword [esp + 0x30]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x58e50c
fld dword [esp + 0x38]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x58e50c
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x78]
call fcn.0059bc40
lea edx, [esp + 0x44]
lea ecx, [esp + 0x74]
push edx
call fcn.004cfc80
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x170], 6
call fcn.004b15f0
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 4
call fcn.004892e0
mov eax, dword [esp + 0x60]
test eax, eax
jbe 0x58e5b4
fld dword [esi + 0xc]
fsub dword [esi + 8]
push str._re_W_n_n
lea ecx, [esp + 0x68]
sub esp, 8
fstp qword [esp]
fld dword [esi + 4]
fsub dword [esi]
push 0x68f8b0
sub esp, 8
fstp qword [esp]
fld dword [esi + 8]
push 0x68f8b0
sub esp, 8
fstp qword [esp]
fld dword [esi]
push 0x68f8b0
sub esp, 8
fstp qword [esp]
push 0x6a225c
call fcn.004b15a0
mov ecx, eax
call fcn.004b1530
mov ecx, eax
call fcn.004b15a0
mov ecx, eax
call fcn.004b1530
mov ecx, eax
call fcn.004b15a0
mov ecx, eax
call fcn.004b1530
mov ecx, eax
call fcn.004b15a0
mov ecx, eax
call fcn.004b1530
mov ecx, eax
call fcn.004b15a0
lea eax, [esp + 0x54]
push 0x6a2250
push eax
lea ecx, [esp + 0x6c]
call fcn.004b15d0
mov ecx, eax
call fcn.004b15a0
mov esi, dword [esp + 0x174]
lea ecx, [esp + 0x64]
push esi
call fcn.004b14d0
mov dword [esp + 0x50], 1
lea ecx, [esp + 0x54]
mov byte [esp + 0x16c], 3
call fcn.004b1390
lea ecx, [esp + 0x64]
mov byte [esp + 0x16c], 2
call fcn.004b1390
lea ecx, [esp + 0x128]
mov byte [esp + 0x16c], 1
call fcn.0059e770
lea ecx, [esp + 0xa8]
mov byte [esp + 0x16c], 0
call fcn.0059bc00
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