Function at 0x5c3500
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x66b2d9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
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 + 0x80]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
call fcn.005d43e0
mov esi, dword [esp + 0x1a4]
mov eax, dword [esp + 0x19c]
mov ecx, 5
lea edi, [esp + 0xb8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0x178], 1
push ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd0], eax
call fcn.00499cd0
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x194]
push eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0xd8], edx
call fcn.00499cd0
lea ecx, [esp + 0x4b]
mov byte [esp + 0x4b], 1
push ecx
lea ecx, [esp + 0x84]
call fcn.005d44b0
lea edx, [esp + 0x4b]
lea ecx, [esp + 0x80]
push edx
mov byte [esp + 0x4f], 1
call fcn.005d44d0
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x675070]
fnstsw ax
test ah, 1
je 0x5c3683
fld dword [ecx]
fcomp qword [0x68bfa8]
fnstsw ax
test ah, 0x41
jne 0x5c3683
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x44], 1
call fcn.005d45d0
jmp 0x5c3698
mov ecx, dword [ecx]
mov dword [esp + 0x130], ecx
lea ecx, [esp + 0x80]
call fcn.005d4660
lea edx, [esp + 0x40]
xor esi, esi
push edx
lea ecx, [esp + 0x84]
mov dword [esp + 0x44], esi
call fcn.005d4590
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x44], esi
call fcn.005d45b0
mov ecx, dword [esp + 0x190]
mov eax, dword [ecx]
cmp eax, esi
je 0x5c36d6
add eax, 0xc
jmp 0x5c36db
mov eax, 0x7427dc
push eax
lea ecx, [esp + 0x84]
call fcn.005d4760
lea ecx, [esp + 0x134]
call fcn.005d7370
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
push edi
lea ecx, [esp + 0x138]
mov byte [esp + 0x17c], 2
mov dword [esp + 0x170], edx
call fcn.005d7110
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x184]
mov eax, dword [eax]
cmp eax, 6
ja case.default.0x5c3737
jmp dword [eax*4 + 0x5c4640]
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.0x5c3737
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.0x5c3737
test edi, edi
je 0x5c39ac
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x675070]
fnstsw ax
test ah, 1
je 0x5c38bf
fld dword [ecx]
fcomp qword [0x68bfa8]
fnstsw ax
test ah, 0x41
jne 0x5c38bf
fld dword [esi + 0xc]
fsub dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov edx, ecx
fmul dword [0x6b0fe0]
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.0x5c3737
fld dword [esp + 0x98]
fadd dword [esi + 8]
fcom dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x5c3937
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.0x5c3737
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 0x5c42df
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.0x5c3737
test edi, edi
je 0x5c3bcc
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x675070]
fnstsw ax
test ah, 1
je 0x5c3ad3
fld dword [ecx]
fcomp qword [0x68bfa8]
fnstsw ax
test ah, 0x41
jne 0x5c3ad3
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 [0x6b0fe0]
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.0x5c3737
fld dword [esp + 0x98]
fadd dword [esi + 8]
fcomp dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x5c3b49
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.0x5c3737
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 0xc]
fsub dword [esp + 0x98]
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.0x5c3737
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.0x5c3737
test edi, edi
je 0x5c3f10
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x675070]
fnstsw ax
test ah, 1
je 0x5c3e19
fld dword [ecx]
fcomp qword [0x68bfa8]
fnstsw ax
test ah, 0x41
jne 0x5c3e19
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 [0x6b0fe0]
fstp dword [esp + 0x54]
fld dword [esi + 4]
fsub dword [esp + 0x54]
fst dword [esp + 0x4c]
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 + 0x4c]
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 + 0x84]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edx
call fcn.005d4470
fld dword [esp + 0x94]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne case.default.0x5c3737
fld dword [esp + 0x94]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x5c3dbb
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi + 4]
fsub dword [esp + 0x94]
fst dword [esp + 0x4c]
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 + 0x4c]
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.0x5c3737
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 0x5c42df
fld dword [esp + 0x94]
fadd dword [esi]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x5c3e8e
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.0x5c3737
fld dword [esi + 0xc]
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi + 4]
fsub dword [esp + 0x94]
fst dword [esp + 0x4c]
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 + 0x4c]
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 0x5c42df
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.0x5c3737
test edi, edi
je 0x5c4250
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x675070]
fnstsw ax
test ah, 1
je 0x5c415b
fld dword [ecx]
fcomp qword [0x68bfa8]
fnstsw ax
test ah, 0x41
jne 0x5c415b
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 [0x6b0fe0]
fst dword [esp + 0x54]
fadd dword [esi]
fst dword [esp + 0x4c]
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 + 0x4c]
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 + 0x84]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
call fcn.005d4470
fld dword [esp + 0x94]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne case.default.0x5c3737
fld dword [esp + 0x94]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x5c40f9
fld dword [esi + 0xc]
fld dword [esp + 0x94]
fadd dword [esi]
mov edx, dword [esi]
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x30], eax
fst dword [esp + 0x4c]
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 + 0x4c]
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.0x5c3737
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.0x5c3737
fld dword [esp + 0x94]
fadd dword [esi]
fst dword [esp + 0x4c]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x5c41d0
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 0x5c42df
fld dword [esi + 0xc]
fld dword [esp + 0x4c]
mov ecx, dword [esi]
fst dword [esp + 0x4c]
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 + 0x4c]
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.0x5c3737
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 0x5c42df
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 + 0x70]
call fcn.004c50a0
lea ecx, [esp + 0x60]
mov byte [esp + 0x178], 3
call fcn.004c50a0
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
mov byte [esp + 0x178], 4
fnstsw ax
test ah, 1
je 0x5c43b1
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x5c43b1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x4c]
mov dword [esp + 0x140], ecx
push eax
lea ecx, [esp + 0x138]
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], ebx
mov dword [esp + 0x148], edx
call fcn.005d6b20
mov ecx, dword [eax]
xor ebx, ebx
cmp ecx, ebx
mov byte [esp + 0x178], 5
je 0x5c4379
add ecx, 0xc
mov dword [esp + 0x40], ecx
jmp 0x5c437d
mov dword [esp + 0x40], ebx
mov eax, dword [eax]
cmp eax, ebx
je 0x5c438c
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
jmp 0x5c4390
mov dword [esp + 0x44], ebx
lea edx, [esp + 0x40]
lea ecx, [esp + 0x60]
push edx
call fcn.004c5210
lea ecx, [esp + 0x4c]
mov byte [esp + 0x178], 4
call fcn.00499a60
jmp 0x5c43b3
xor ebx, ebx
fld dword [esp + 0x30]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x5c4440
fld dword [esp + 0x38]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x5c4440
lea eax, [esp + 0x30]
lea ecx, [esp + 0x80]
push eax
call fcn.005d4470
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x84]
call fcn.004e9310
mov ecx, dword [eax]
mov byte [esp + 0x178], 6
cmp ecx, ebx
je 0x5c440a
add ecx, 0xc
mov dword [esp + 0x40], ecx
jmp 0x5c440e
mov dword [esp + 0x40], ebx
mov eax, dword [eax]
cmp eax, ebx
je 0x5c441d
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
jmp 0x5c4421
mov dword [esp + 0x44], ebx
lea eax, [esp + 0x40]
lea ecx, [esp + 0x60]
push eax
call fcn.004c5210
lea ecx, [esp + 0x4c]
mov byte [esp + 0x178], 4
call fcn.00499a60
cmp dword [esp + 0x68], ebx
jle 0x5c45c1
mov edi, 0x731fd4
mov ecx, edi
mov dword [esp + 0x4c], edi
test ecx, ecx
je 0x5c446b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebx, ebx
mov dword [esp + 0x50], ecx
jmp 0x5c446f
mov dword [esp + 0x50], ebx
mov edx, 0x6e5e1c
mov eax, edx
mov dword [esp + 0x40], edx
test eax, eax
je 0x5c4492
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebx, ebx
mov dword [esp + 0x44], ecx
jmp 0x5c4496
mov dword [esp + 0x44], ebx
mov ecx, edx
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x5c44b4
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebx, ebx
mov dword [esp + 0x58], ecx
jmp 0x5c44b8
mov dword [esp + 0x58], ebx
mov eax, edx
mov dword [esp + 0x10], edx
test eax, eax
je 0x5c44d6
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebx, ebx
mov dword [esp + 0x14], ecx
jmp 0x5c44da
mov dword [esp + 0x14], ebx
mov edi, 0x6f3354
mov ecx, edi
mov dword [esp + 0x20], edi
test ecx, ecx
je 0x5c44fb
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor ebx, ebx
mov dword [esp + 0x24], ecx
jmp 0x5c44ff
mov dword [esp + 0x24], ebx
fld dword [esi + 0xc]
fsub dword [esi + 8]
lea edx, [esp + 0x4c]
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0x58]
sub esp, 8
lea edx, [esp + 0x1c]
fstp qword [esp]
fld dword [esi + 4]
fsub dword [esi]
push eax
lea eax, [esp + 0x30]
sub esp, 8
fstp qword [esp]
fld dword [esi + 8]
push ecx
lea ecx, [esp + 0x8c]
sub esp, 8
fstp qword [esp]
fld dword [esi]
push edx
sub esp, 8
fstp qword [esp]
push eax
call fcn.004c5210
mov ecx, eax
call fcn.004c52b0
mov ecx, eax
call fcn.004c5210
mov ecx, eax
call fcn.004c52b0
mov ecx, eax
call fcn.004c5210
mov ecx, eax
call fcn.004c52b0
mov ecx, eax
call fcn.004c5210
mov ecx, eax
call fcn.004c52b0
mov ecx, eax
call fcn.004c5210
mov edi, 0x6f31e0
mov ecx, edi
mov dword [esp + 0x20], edi
test ecx, ecx
je 0x5c45a3
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], ecx
jmp 0x5c45a7
mov dword [esp + 0x24], ebx
lea edx, [esp + 0x20]
lea eax, [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.004c5320
mov ecx, eax
call fcn.004c5210
mov esi, dword [esp + 0x180]
lea ecx, [esp + 0x70]
push esi
call fcn.004c51e0
mov dword [esp + 0x5c], 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x178], 3
call fcn.004c50c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x178], 2
call fcn.004c50c0
lea ecx, [esp + 0x134]
mov byte [esp + 0x178], 1
call fcn.005d73c0
lea ecx, [esp + 0xb4]
mov byte [esp + 0x178], 0
call fcn.005d4430
mov ecx, dword [esp + 0x170]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x16c
ret