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

Disassembly:
push 0xffffffffffffffff
push 0x665fa9
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.005cef20
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.00498be0
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x194]
push eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0xd8], edx
call fcn.00498be0
lea ecx, [esp + 0x4b]
mov byte [esp + 0x4b], 1
push ecx
lea ecx, [esp + 0x84]
call fcn.005ceff0
lea edx, [esp + 0x4b]
lea ecx, [esp + 0x80]
push edx
mov byte [esp + 0x4f], 1
call fcn.005cf010
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5bf1c3
fld dword [ecx]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
jne 0x5bf1c3
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x44], 1
call fcn.005cf130
jmp 0x5bf1d8
mov ecx, dword [ecx]
mov dword [esp + 0x130], ecx
lea ecx, [esp + 0x80]
call fcn.005cf1c0
lea edx, [esp + 0x40]
xor esi, esi
push edx
lea ecx, [esp + 0x84]
mov dword [esp + 0x44], esi
call fcn.005cf0f0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x44], esi
call fcn.005cf110
mov ecx, dword [esp + 0x190]
mov eax, dword [ecx]
cmp eax, esi
je 0x5bf216
add eax, 0xc
jmp 0x5bf21b
mov eax, 0x73d674
push eax
lea ecx, [esp + 0x84]
call fcn.005cf2c0
lea ecx, [esp + 0x134]
call fcn.005d1ed0
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.005d1c70
mov eax, dword [esp + 0x1ac]
mov esi, dword [esp + 0x184]
mov eax, dword [eax]
cmp eax, 6
ja case.default.0x5bf277
jmp dword [eax*4 + 0x5c0180]
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.0x5bf277
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.0x5bf277
test edi, edi
je 0x5bf4ec
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5bf3ff
fld dword [ecx]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
jne 0x5bf3ff
fld dword [esi + 0xc]
fsub dword [esi + 8]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov edx, ecx
fmul dword [0x6aba88]
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.0x5bf277
fld dword [esp + 0x98]
fadd dword [esi + 8]
fcom dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x5bf477
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.0x5bf277
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 0x5bfe1f
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.0x5bf277
test edi, edi
je 0x5bf70c
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5bf613
fld dword [ecx]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
jne 0x5bf613
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 [0x6aba88]
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.0x5bf277
fld dword [esp + 0x98]
fadd dword [esi + 8]
fcomp dword [esi + 0xc]
fnstsw ax
test ah, 0x41
jne 0x5bf689
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.0x5bf277
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.0x5bf277
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.0x5bf277
test edi, edi
je 0x5bfa50
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5bf959
fld dword [ecx]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
jne 0x5bf959
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 [0x6aba88]
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.005cefb0
fld dword [esp + 0x94]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne case.default.0x5bf277
fld dword [esp + 0x94]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x5bf8fb
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.0x5bf277
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 0x5bfe1f
fld dword [esp + 0x94]
fadd dword [esi]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x5bf9ce
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.0x5bf277
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 0x5bfe1f
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.0x5bf277
test edi, edi
je 0x5bfd90
mov ecx, dword [esp + 0x1a8]
fld dword [ecx]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5bfc9b
fld dword [ecx]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
jne 0x5bfc9b
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 [0x6aba88]
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.005cefb0
fld dword [esp + 0x94]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne case.default.0x5bf277
fld dword [esp + 0x94]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x5bfc39
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.0x5bf277
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.0x5bf277
fld dword [esp + 0x94]
fadd dword [esi]
fst dword [esp + 0x4c]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
jne 0x5bfd10
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 0x5bfe1f
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.0x5bf277
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 0x5bfe1f
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.004c3d90
lea ecx, [esp + 0x60]
mov byte [esp + 0x178], 3
call fcn.004c3d90
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
mov byte [esp + 0x178], 4
fnstsw ax
test ah, 1
je 0x5bfef1
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x5bfef1
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.005d1680
mov ecx, dword [eax]
xor ebx, ebx
cmp ecx, ebx
mov byte [esp + 0x178], 5
je 0x5bfeb9
add ecx, 0xc
mov dword [esp + 0x40], ecx
jmp 0x5bfebd
mov dword [esp + 0x40], ebx
mov eax, dword [eax]
cmp eax, ebx
je 0x5bfecc
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
jmp 0x5bfed0
mov dword [esp + 0x44], ebx
lea edx, [esp + 0x40]
lea ecx, [esp + 0x60]
push edx
call fcn.004c3f00
lea ecx, [esp + 0x4c]
mov byte [esp + 0x178], 4
call fcn.00498970
jmp 0x5bfef3
xor ebx, ebx
fld dword [esp + 0x30]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x5bff80
fld dword [esp + 0x38]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x5bff80
lea eax, [esp + 0x30]
lea ecx, [esp + 0x80]
push eax
call fcn.005cefb0
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x84]
call fcn.004e7930
mov ecx, dword [eax]
mov byte [esp + 0x178], 6
cmp ecx, ebx
je 0x5bff4a
add ecx, 0xc
mov dword [esp + 0x40], ecx
jmp 0x5bff4e
mov dword [esp + 0x40], ebx
mov eax, dword [eax]
cmp eax, ebx
je 0x5bff5d
mov edx, dword [eax + 4]
mov dword [esp + 0x44], edx
jmp 0x5bff61
mov dword [esp + 0x44], ebx
lea eax, [esp + 0x40]
lea ecx, [esp + 0x60]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x4c]
mov byte [esp + 0x178], 4
call fcn.00498970
cmp dword [esp + 0x68], ebx
jle 0x5c0101
mov edi, str._re_W_n_n
mov ecx, edi
mov dword [esp + 0x4c], edi
test ecx, ecx
je 0x5bffab
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 0x5bffaf
mov dword [esp + 0x50], ebx
mov edx, 0x6e0e1c
mov eax, edx
mov dword [esp + 0x40], edx
test eax, eax
je 0x5bffd2
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 0x5bffd6
mov dword [esp + 0x44], ebx
mov ecx, edx
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x5bfff4
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 0x5bfff8
mov dword [esp + 0x58], ebx
mov eax, edx
mov dword [esp + 0x10], edx
test eax, eax
je 0x5c0016
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 0x5c001a
mov dword [esp + 0x14], ebx
mov edi, 0x6ee31c
mov ecx, edi
mov dword [esp + 0x20], edi
test ecx, ecx
je 0x5c003b
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 0x5c003f
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.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov edi, 0x6ee1a8
mov ecx, edi
mov dword [esp + 0x20], edi
test ecx, ecx
je 0x5c00e3
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], ecx
jmp 0x5c00e7
mov dword [esp + 0x24], ebx
lea edx, [esp + 0x20]
lea eax, [esp + 0x60]
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.004c4010
mov ecx, eax
call fcn.004c3f00
mov esi, dword [esp + 0x180]
lea ecx, [esp + 0x70]
push esi
call fcn.004c3ed0
mov dword [esp + 0x5c], 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x178], 3
call fcn.004c3db0
lea ecx, [esp + 0x70]
mov byte [esp + 0x178], 2
call fcn.004c3db0
lea ecx, [esp + 0x134]
mov byte [esp + 0x178], 1
call fcn.005d1f20
lea ecx, [esp + 0xb4]
mov byte [esp + 0x178], 0
call fcn.005cef70
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