Function at 0x5d1390
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5fe46e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b4
push ebx
push esi
push edi
mov ebx, ecx
call fcn.005e2a56
xor esi, esi
cmp eax, esi
je 0x5d13ca
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x5d13cc
xor eax, eax
mov edx, dword [ebx + 0x20]
mov eax, dword [eax + 0xd4]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], eax
push ecx
push edx
call dword [0x600b58]
lea ecx, [esp + 0x12c]
call fcn.005e2e28
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], 0x603f20
mov eax, dword [ebx + 0x1ec]
mov byte [esp + 0x1c8], 1
cmp eax, esi
jne 0x5d148f
mov edi, dword [ebp + 8]
lea esi, [esp + 0x12c]
test edi, edi
mov dword [esp + 0x2c], esi
jne 0x5d142f
xor eax, eax
jmp 0x5d1432
mov eax, dword [edi + 4]
push eax
call dword [0x60007c]
push eax
lea ecx, [esp + 0x130]
call fcn.005e2e22
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call dword [0x600080]
push eax
lea ecx, [esp + 0x7c]
call fcn.005e2d2c
mov edi, dword [esp + 0x7c]
lea eax, [esp + 0x78]
neg eax
sbb eax, eax
and eax, edi
push eax
mov eax, dword [esp + 0x134]
push eax
call fcn.005e2e1c
mov dword [esp + 0x118], eax
jmp 0x5d1496
mov esi, dword [ebp + 8]
mov dword [esp + 0x2c], esi
mov eax, dword [ebx + 0x1ec]
test eax, eax
jne 0x5d14bb
mov ecx, dword [0x6314e0]
lea edx, [esp + 0xe0]
push ecx
push edx
mov ecx, esi
call fcn.005e2e16
jmp 0x5d1672
mov eax, dword [ebp + 8]
mov edi, dword [0x600084]
push 0x5a
mov ecx, dword [eax + 8]
push ecx
call edi
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fmul qword [0x604330]
call fcn.005e35c0
mov edx, dword [ebp + 8]
mov dword [esp + 0xe4], eax
push 0x58
mov eax, dword [edx + 8]
push eax
call edi
mov ecx, dword [ebp + 8]
push 8
mov dword [esp + 0xe4], eax
mov edx, dword [ecx + 8]
push edx
call edi
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 8]
push 0x58
mov ecx, dword [eax + 8]
push ecx
call edi
mov ecx, dword [esp + 0x64]
mov edx, dword [ebp + 8]
sub ecx, eax
push 0xa
mov eax, dword [edx + 8]
mov dword [esp + 0xec], ecx
push eax
call edi
mov ecx, dword [ebp + 8]
push 0x5a
mov dword [esp + 0x68], eax
mov edx, dword [ecx + 8]
push edx
call edi
fild dword [esp + 0x64]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul qword [0x604330]
fsubp st(1)
call fcn.005e35c0
mov ecx, dword [0x6314e4]
mov edx, dword [0x6314e8]
mov edi, dword [0x640790]
mov dword [esp + 0xec], eax
mov eax, dword [0x6314ec]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x110], eax
mov eax, dword [0x6314e0]
cmp eax, 0xffffff
mov dword [esp + 0x120], edx
mov dword [esp + 0x128], edi
mov dword [esp + 0x11c], eax
je 0x5d15e9
mov eax, 0xffffff
cmp ecx, eax
jne 0x5d15b2
mov dword [0x6314e4], 0
xor ecx, ecx
cmp edx, eax
jne 0x5d15be
mov dword [0x6314e8], ecx
cmp edi, eax
jne 0x5d15c8
mov dword [0x640790], ecx
cmp dword [0x6314f0], eax
jne 0x5d15d6
mov dword [0x6314f0], ecx
cmp dword [0x6314ec], eax
jne 0x5d15e4
mov dword [0x6314ec], ecx
mov dword [0x6314e0], eax
mov eax, dword [0x63afd0]
mov ecx, dword [ebx + 0x14c]
test eax, eax
mov dword [esp + 0xb4], ecx
jne 0x5d1666
mov eax, dword [esp + 0xe8]
test eax, eax
jle 0x5d163a
fild dword [esp + 0xe8]
push 0
fstp qword [esp + 0x48]
call dword [0x600bb0]
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fdivr qword [esp + 0x44]
fimul dword [ebx + 0x14c]
call fcn.005e35c0
mov dword [ebx + 0x14c], eax
mov ecx, dword [ebx + 0x14c]
mov eax, 1
cmp ecx, eax
jge 0x5d164f
mov dword [ebx + 0x14c], eax
mov ecx, dword [ebx + 0x14c]
mov eax, 0x32
cmp ecx, eax
jle 0x5d1672
mov dword [ebx + 0x14c], eax
jmp 0x5d1672
mov edx, dword [0x63afcc]
mov dword [ebx + 0x14c], edx
lea ecx, [esp + 0xc]
call fcn.005e2960
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c8], 2
call fcn.005e2960
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c8], 3
call fcn.005e2960
lea ecx, [esp + 0x88]
mov byte [esp + 0x1c8], 4
call fcn.005e2960
xor ecx, ecx
mov eax, 0x603ef8
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], eax
mov ecx, dword [esi + 4]
lea eax, [esp + 0x44]
push eax
push 1
push 0x62d420
push ecx
mov byte [esp + 0x1d8], 8
call dword [0x600030]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [ebx + 0xf0], edx
mov dword [ebx + 0xf4], eax
mov ecx, dword [esi + 8]
push 6
push ecx
call dword [0x600034]
push eax
call fcn.005e2e0a
lea edx, [esp + 0x164]
mov dword [esp + 0x64], eax
mov eax, dword [eax + 4]
push edx
push 0x5c
push eax
call dword [0x60008c]
xor ecx, ecx
mov cx, word [0x631558]
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fild dword [ebx + 0xf0]
fmul st(1)
fmul qword [0x601400]
call fcn.005e35c0
fild dword [ebx + 0xf4]
mov dword [esp + 0x164], eax
fmul st(1)
fmul qword [0x601400]
call fcn.005e35c0
mov edi, dword [0x600a6c]
lea edx, [esp + 0x180]
push 0x6359d4
push edx
fstp st(0)
mov dword [esp + 0x170], eax
call edi
add esp, 8
lea eax, [esp + 0x164]
push eax
call dword [0x600090]
push eax
lea ecx, [esp + 0xf4]
call fcn.005e2d2c
mov eax, 0x384
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], eax
lea ecx, [esp + 0x180]
push 0x6359b8
push ecx
call edi
add esp, 8
lea edx, [esp + 0x164]
push edx
call dword [0x600090]
push eax
lea ecx, [esp + 0xbc]
call fcn.005e2d2c
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x164]
push eax
push 0x5c
mov edx, dword [ecx + 4]
push edx
call dword [0x60008c]
fild dword [ebx + 0xf0]
fmul qword [0x608a60]
call fcn.005e35c0
fild dword [ebx + 0xf4]
mov dword [esp + 0x164], eax
fmul qword [0x608a60]
call fcn.005e35c0
mov dword [esp + 0x168], eax
lea eax, [esp + 0x180]
push 0x6359ac
push eax
mov dword [esp + 0x17c], 0x2bc
mov byte [esp + 0x183], 0
call edi
add esp, 8
lea ecx, [esp + 0x164]
push ecx
call dword [0x600090]
push eax
lea ecx, [esp + 0xa8]
call fcn.005e2d2c
mov edx, dword [esi]
lea eax, [esp + 0xf0]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x44]
push ecx
push 1
push 0x62d420
push edx
call dword [0x600030]
mov eax, dword [0x646554]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
add ecx, eax
lea eax, [ebx + 0xc8]
mov dword [ebx + 0xe8], ecx
mov dword [ebx + 0xec], edx
mov edx, dword [esp + 0xe0]
mov ecx, eax
mov dword [ecx], edx
mov edx, dword [esp + 0xe4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xe8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xec]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebx + 0xec]
mov edx, dword [eax]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*2]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fiadd dword [ebx + 0xe8]
call fcn.005e35c0
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xec]
mov edx, dword [ebx + 0xd0]
lea ecx, [eax + eax*2]
sub edx, ecx
mov dword [ebx + 0xe0], edx
mov eax, dword [ebx + 0x260]
push 0x639818
push eax
call dword [0x600a74]
add esp, 8
test eax, eax
jne 0x5d1956
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xe8]
add ecx, eax
jmp 0x5d1965
mov edx, dword [ebx + 0xe8]
mov eax, dword [ebx + 0xcc]
lea ecx, [eax + edx*2]
mov dword [ebx + 0xdc], ecx
fild dword [ebx + 0xd4]
fild dword [ebx + 0xe8]
fmul qword [0x608b40]
fsubp st(1)
call fcn.005e35c0
mov dword [ebx + 0xe4], eax
sub esp, 0x10
lea eax, [ebx + 0xd8]
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, ebx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
call fcn.005d5cb0
xor ecx, ecx
mov eax, 0x603f0c
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x94], eax
mov eax, dword [0x6314f0]
mov edi, dword [0x600098]
push eax
push 1
push 2
mov byte [esp + 0x1d4], 0x11
call edi
push eax
lea ecx, [esp + 0xdc]
call fcn.005e2d2c
mov eax, dword [0x6314f0]
push eax
push 1
push 0
call edi
push eax
lea ecx, [esp + 0xcc]
call fcn.005e2d2c
cmp dword [ebx + 0x140], 3
je 0x5d1a86
mov ecx, dword [ebx + 0x14c]
mov dword [esp + 0x10], ecx
jmp 0x5d1a8e
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
cmp eax, 1
mov dword [esp + 0x38], eax
jge 0x5d1aa8
mov dword [esp + 0x38], 1
mov eax, dword [ebx + 0x268]
test eax, eax
je 0x5d1b8b
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x5d1b8b
mov eax, dword [0x6314e8]
mov edx, dword [esp + 0x10]
push eax
push edx
push 0
call edi
push eax
lea ecx, [esp + 0x74]
call fcn.005e2d2c
mov eax, dword [0x6314e4]
push eax
mov eax, dword [esp + 0x14]
push eax
push 0
call edi
push eax
lea ecx, [esp + 0xb0]
call fcn.005e2d2c
mov eax, dword [0x6314e8]
mov ecx, dword [esp + 0x38]
or eax, 0x7f7f7f
push eax
push ecx
push 0
call edi
push eax
lea ecx, [esp + 0x84]
call fcn.005e2d2c
mov eax, dword [0x6314e4]
mov edx, dword [esp + 0x38]
or eax, 0x7f7f7f
push eax
push edx
push 0
call edi
push eax
lea ecx, [esp + 0xc4]
call fcn.005e2d2c
mov eax, dword [0x6314e8]
mov ecx, dword [0x6314e4]
or eax, ecx
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0
call edi
push eax
lea ecx, [esp + 0xfc]
call fcn.005e2d2c
mov eax, dword [0x6314e0]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push 0
call edi
push eax
lea ecx, [esp + 0xa0]
call fcn.005e2d2c
mov eax, dword [0x640790]
mov edx, dword [esp + 0x38]
push eax
push edx
jmp 0x5d1c4d
mov eax, dword [0x6314e4]
push eax
mov eax, dword [esp + 0x14]
push eax
push 0
call edi
push eax
lea ecx, [esp + 0x74]
call fcn.005e2d2c
mov eax, dword [0x6314e8]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0
call edi
push eax
lea ecx, [esp + 0xb0]
call fcn.005e2d2c
mov eax, dword [0x6314e4]
mov edx, dword [esp + 0x38]
or eax, 0x7f7f7f
push eax
push edx
push 0
call edi
push eax
lea ecx, [esp + 0x84]
call fcn.005e2d2c
mov eax, dword [0x6314e8]
or eax, 0x7f7f7f
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0
call edi
push eax
lea ecx, [esp + 0xc4]
call fcn.005e2d2c
mov eax, dword [0x6314e8]
mov edx, dword [0x6314e4]
mov ecx, dword [esp + 0x38]
or eax, edx
push eax
push ecx
push 0
call edi
push eax
lea ecx, [esp + 0xfc]
call fcn.005e2d2c
mov eax, dword [0x6314e0]
mov edx, dword [esp + 0x38]
push eax
push edx
push 0
call edi
push eax
lea ecx, [esp + 0xa0]
call fcn.005e2d2c
mov eax, dword [0x640790]
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0
call edi
push eax
lea ecx, [esp + 0x98]
call fcn.005e2d2c
push 1
mov ecx, esi
call fcn.005e2e10
mov eax, dword [0x640790]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
lea ecx, [esp + 0xd8]
push ecx
mov ecx, esi
call fcn.005e2e04
mov dword [esp + 0x114], eax
mov eax, dword [ebx + 0x148]
test eax, eax
jne 0x5d1dd7
xor edi, edi
mov dword [esp + 0x10], edi
mov eax, dword [ebx + 0xdc]
mov ecx, dword [ebx + 0xe4]
sub ecx, eax
mov eax, 0x66666667
imul ecx, edi
imul ecx
mov ecx, dword [ebx + 0xdc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, ecx
mov ecx, dword [ebx + 0xd8]
mov dword [esp + 0x20], edx
push edx
lea edx, [esp + 0x28]
push ecx
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0xe0]
push eax
push ecx
mov ecx, esi
call fcn.005e2df8
fld qword [ebx + 0x88]
fsub qword [ebx + 0x90]
fimul dword [esp + 0x10]
lea ecx, [esp + 0x30]
fmul qword [0x6034e0]
fsubr qword [ebx + 0x88]
fstp qword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
push eax
push ecx
call fcn.005440d0
add esp, 0xc
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x12
call fcn.005e2a44
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x44]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call dword [0x600030]
fild dword [esp + 0x20]
fild dword [ebx + 0xe8]
fmul qword [0x6031b8]
fsubp st(1)
call fcn.005e35c0
mov ecx, dword [ebx + 0xd8]
mov edx, dword [esp + 0x44]
sub ecx, edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], ecx
fild dword [esp + 0x68]
fild dword [ebx + 0xec]
fmul qword [0x6031b8]
fsubp st(1)
call fcn.005e35c0
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx - 8]
mov dword [esp + 0x68], edx
push dword [esp + 0x68]
mov edx, dword [esi]
push ecx
mov ecx, dword [esp + 0x60]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x64]
inc edi
cmp edi, 0xb
mov dword [esp + 0x10], edi
jl 0x5d1c9e
jmp 0x5d206e
fld qword [ebx + 0x90]
fcom qword [0x603518]
xor ecx, ecx
mov dword [esp + 0x20], ecx
fnstsw ax
test ah, 0x41
jne 0x5d1e08
fmul qword [0x6034e0]
inc ecx
fcom qword [0x603518]
fnstsw ax
test ah, 0x41
je 0x5d1df0
mov dword [esp + 0x20], ecx
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
je 0x5d1e2d
fmul qword [0x603518]
dec ecx
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
jne 0x5d1e15
mov dword [esp + 0x20], ecx
fld st(0)
call fcn.005e35c0
mov ecx, eax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fadd qword [0x605340]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
lea eax, [ecx + 1]
je 0x5d1e54
mov eax, ecx
cmp eax, 0xa
mov dword [esp + 0x13c], eax
mov edx, 1
jne 0x5d1e67
mov edx, eax
lea ecx, [esp + 0x140]
mov edi, 9
mov eax, dword [ecx - 4]
add eax, edx
cmp eax, 0xa
mov dword [ecx], eax
jl 0x5d1e84
mov edx, 0xa
add ecx, 4
dec edi
jne 0x5d1e73
mov ecx, dword [ebx + 0xe4]
mov eax, dword [ebx + 0xdc]
sub ecx, eax
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fmul qword [ebx + 0x100]
fadd qword [0x603788]
call fcn.005e35c0
fld qword [0x603518]
fild dword [esp + 0x20]
mov dword [esp + 0x8c], eax
call fcn.005e3796
fstp qword [esp + 0x44]
lea edx, [esp + 0x13c]
mov dword [esp + 0x30], 0xa
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
fild dword [esp + 0x68]
fmul qword [esp + 0x44]
mov edx, dword [ebx + 0xe4]
fstp qword [esp + 0x4c]
mov dword [esp + 0x58], edx
fild dword [esp + 0x58]
fldlg2
fld qword [esp + 0x4c]
fyl2x
fldlg2
fld qword [ebx + 0x90]
fyl2x
fsubp st(1)
fdiv qword [ebx + 0x100]
fsubp st(1)
call fcn.005e35c0
mov edi, eax
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0x20], edi
lea ecx, [eax - 1]
cmp edi, ecx
jl 0x5d2054
cmp edi, eax
jl 0x5d1f67
cmp edi, dword [esp + 0x58]
jg 0x5d1f67
mov edx, dword [ebx + 0xd8]
push edi
lea eax, [esp + 0x60]
push edx
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xe0]
push edi
push ecx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [esp + 0x68]
cmp eax, 1
je 0x5d1f8d
cmp eax, 2
je 0x5d1f8d
cmp eax, 5
je 0x5d1f8d
cmp eax, 0xa
je 0x5d1f8d
cmp eax, 0x14
je 0x5d1f8d
cmp eax, 0x32
jne 0x5d2045
cmp dword [esp + 0x8c], 5
jl 0x5d1fa5
cmp eax, 1
je 0x5d1fa5
cmp eax, 0xa
jne 0x5d2045
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.005440d0
add esp, 0xc
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x13
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esi + 4]
mov ecx, dword [eax - 8]
push ecx
push eax
push edx
call dword [0x600030]
fild dword [esp + 0x20]
fild dword [ebx + 0xe8]
mov eax, dword [esp + 0xc]
mov edi, dword [esi]
fmul qword [0x6031b8]
mov ecx, dword [eax - 8]
push ecx
push eax
fsubp st(1)
call fcn.005e35c0
mov edx, dword [ebx + 0xd8]
push eax
sub edx, dword [esp + 0x30]
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
fild dword [ebx + 0xec]
fmul qword [0x6031b8]
fsubp st(1)
call fcn.005e35c0
push eax
mov ecx, esi
call dword [edi + 0x64]
fld qword [esp + 0x4c]
fmul qword [0x603518]
jmp 0x5d1ef0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], eax
jne 0x5d1ede
mov eax, dword [ebx + 0x144]
xor ecx, ecx
cmp eax, ecx
jne 0x5d218a
mov dword [esp + 0x10], ecx
mov edi, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0xe0]
sub ecx, edi
mov eax, 0x66666667
imul ecx, dword [esp + 0x10]
imul ecx
sar edx, 2
mov ecx, dword [ebx + 0xdc]
mov eax, edx
shr eax, 0x1f
add edx, eax
push ecx
add edx, edi
mov ecx, esi
mov edi, edx
lea edx, [esp + 0x60]
push edi
push edx
call fcn.005e2dfe
mov eax, dword [ebx + 0xe4]
mov ecx, esi
push eax
push edi
call fcn.005e2df8
fld qword [ebx + 0x60]
fsub qword [ebx + 0x68]
fimul dword [esp + 0x10]
lea eax, [esp + 0x3c]
fmul qword [0x6034e0]
fadd qword [ebx + 0x68]
fstp qword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.005440d0
add esp, 0xc
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x14
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call dword [0x600030]
fild dword [ebx + 0xe8]
fmul qword [0x608b50]
fiadd dword [ebx + 0xe4]
call fcn.005e35c0
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 8]
mov dword [esp + 0x30], edx
push dword [esp + 0x30]
mov edx, dword [esi]
push eax
push ecx
push edi
mov ecx, esi
call dword [edx + 0x64]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0xb
mov dword [esp + 0x10], eax
jl 0x5d2082
jmp 0x5d23fd
fld qword [ebx + 0x68]
fcom qword [0x603518]
mov dword [esp + 0x20], ecx
fnstsw ax
test ah, 0x41
jne 0x5d21b6
fmul qword [0x6034e0]
inc ecx
fcom qword [0x603518]
fnstsw ax
test ah, 0x41
je 0x5d219e
mov dword [esp + 0x20], ecx
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
je 0x5d21db
fmul qword [0x603518]
dec ecx
fcom qword [0x6018a8]
fnstsw ax
test ah, 1
jne 0x5d21c3
mov dword [esp + 0x20], ecx
fld st(0)
call fcn.005e35c0
mov ecx, eax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
lea eax, [ecx + 1]
je 0x5d21fc
mov eax, ecx
cmp eax, 0xa
mov dword [esp + 0x13c], eax
mov edx, 1
jne 0x5d220f
mov edx, eax
lea ecx, [esp + 0x140]
mov edi, 9
mov eax, dword [ecx - 4]
add eax, edx
cmp eax, 0xa
mov dword [ecx], eax
jl 0x5d222c
mov edx, 0xa
add ecx, 4
dec edi
jne 0x5d221b
mov ecx, dword [ebx + 0xe0]
mov eax, dword [ebx + 0xd8]
sub ecx, eax
mov dword [esp + 0x3c], ecx
fild dword [esp + 0x3c]
fmul qword [ebx + 0xf8]
fadd qword [0x603788]
call fcn.005e35c0
fld qword [0x603518]
fild dword [esp + 0x20]
mov dword [esp + 0x8c], eax
call fcn.005e3796
fstp qword [esp + 0x44]
lea edx, [esp + 0x13c]
mov dword [esp + 0x58], 0xa
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
fild dword [esp + 0x68]
fmul qword [esp + 0x44]
fstp qword [esp + 0x4c]
fldlg2
mov edx, dword [ebx + 0xd8]
mov dword [esp + 0x30], edx
fld qword [esp + 0x4c]
fyl2x
fldlg2
fld qword [ebx + 0x68]
fyl2x
fsubp st(1)
fdiv qword [ebx + 0xf8]
fiadd dword [esp + 0x30]
call fcn.005e35c0
mov edi, eax
mov eax, dword [ebx + 0xe0]
mov dword [esp + 0x20], edi
lea ecx, [eax + 1]
cmp edi, ecx
jg 0x5d23e3
cmp edi, dword [esp + 0x30]
jl 0x5d230a
cmp edi, eax
jg 0x5d230a
mov edx, dword [ebx + 0xdc]
lea eax, [esp + 0x5c]
push edx
push edi
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xe4]
push ecx
push edi
mov ecx, esi
call fcn.005e2df8
mov eax, dword [esp + 0x68]
cmp eax, 1
je 0x5d2330
cmp eax, 2
je 0x5d2330
cmp eax, 5
je 0x5d2330
cmp eax, 0xa
je 0x5d2330
cmp eax, 0x14
je 0x5d2330
cmp eax, 0x32
jne 0x5d23d4
cmp dword [esp + 0x8c], 5
jl 0x5d2348
cmp eax, 1
je 0x5d2348
cmp eax, 0xa
jne 0x5d23d4
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.005440d0
add esp, 0xc
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x15
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esi + 4]
mov ecx, dword [eax - 8]
push ecx
push eax
push edx
call dword [0x600030]
fild dword [ebx + 0xe8]
mov eax, dword [esp + 0xc]
mov edi, dword [esi]
fmul qword [0x608b50]
mov ecx, dword [eax - 8]
push ecx
push eax
fiadd dword [ebx + 0xe4]
call fcn.005e35c0
push eax
mov eax, dword [esp + 0x30]
cdq
sub eax, edx
mov ecx, esi
mov edx, eax
mov eax, dword [esp + 0x2c]
sar edx, 1
sub eax, edx
push eax
call dword [edi + 0x64]
fld qword [esp + 0x4c]
fmul qword [0x603518]
jmp 0x5d2298
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x58], eax
jne 0x5d2286
lea eax, [ebx + 0x260]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2a44
cmp dword [ebx + 0x268], 1
jne 0x5d24ce
cmp dword [ebx + 0x26c], 7
jne 0x5d24ce
mov eax, dword [ebx + 0x5e0]
cmp eax, 4
ja case.default.0x5d2432
jmp dword [eax*4 + 0x5d5044]
push 0x305
jmp 0x5d245a
push 0x307
jmp 0x5d245a
push 0x308
jmp 0x5d245a
push 0x309
jmp 0x5d245a
push 0x30a
lea ecx, [esp + 0x18]
call fcn.005e295a
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
push eax
push 0x62f764
push ecx
call fcn.005e2a38
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x16
call fcn.005e2b10
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
fld qword [ebx + 0x5d8]
fadd st(0), st(0)
sub esp, 8
lea edx, [esp + 0x1c]
fdivr qword [0x6018a8]
fstp qword [esp]
push 0x63935c
push edx
call fcn.005e2b16
add esp, 0x10
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2b10
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call dword [0x600030]
mov ecx, dword [ebx + 0xe8]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xd8]
lea edi, [ebx + 0xd8]
shl ecx, 1
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [edx - 8]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x64]
mov ecx, dword [ebx + 0x70]
push 0x639818
push ecx
call dword [0x600a74]
add esp, 8
test eax, eax
je 0x5d25dd
lea edx, [ebx + 0x74]
push 0x62ec54
lea eax, [esp + 0x6c]
push edx
push eax
call fcn.005e2a32
lea ecx, [ebx + 0x70]
mov byte [esp + 0x1c8], 0x17
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.005e2a2c
push 0x62d298
lea edx, [esp + 0x40]
push eax
push edx
mov byte [esp + 0x1d4], 0x18
call fcn.005e2a32
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x19
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x18
call fcn.005e2954
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x17
call fcn.005e2954
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
jmp 0x5d25ea
lea eax, [ebx + 0x74]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2a44
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call dword [0x600030]
fild dword [ebx + 0xe8]
fmul qword [0x60d288]
fiadd dword [ebx + 0xe4]
call fcn.005e35c0
mov edx, dword [edi]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [edx - 8]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x64]
mov ecx, dword [ebx + 0x98]
push 0x639818
push ecx
call dword [0x600a74]
add esp, 8
test eax, eax
je 0x5d26ff
lea edx, [ebx + 0x9c]
push 0x62ec54
lea eax, [esp + 0x6c]
push edx
push eax
call fcn.005e2a32
lea ecx, [ebx + 0x98]
mov byte [esp + 0x1c8], 0x1a
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.005e2a2c
push 0x62d298
lea edx, [esp + 0x40]
push eax
push edx
mov byte [esp + 0x1d4], 0x1b
call fcn.005e2a32
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x1c
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x1b
call fcn.005e2954
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x1a
call fcn.005e2954
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c8], 0x11
call fcn.005e2954
jmp 0x5d270f
lea eax, [ebx + 0x9c]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2a44
mov edx, dword [esi]
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call dword [0x600030]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xe4]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
add ecx, eax
mov eax, dword [ebx + 0xec]
lea edx, [eax + eax*2]
mov eax, dword [edi]
shl edx, 1
sub eax, edx
mov edx, dword [ebx + 0xe8]
sub eax, edx
mov edx, dword [esi]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 8]
push eax
mov eax, dword [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call dword [edx + 0x64]
mov eax, dword [esp + 0x30]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x30]
lea ecx, [esp + 0xc8]
push ecx
mov ecx, esi
call fcn.005e2e04
mov edx, dword [ebx + 0xdc]
mov eax, dword [edi]
push edx
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xe0]
push edx
push eax
mov ecx, esi
call fcn.005e2df8
mov ecx, dword [ebx + 0xe4]
mov edx, dword [ebx + 0xe0]
push ecx
push edx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0xe4]
mov ecx, dword [edi]
push eax
push ecx
mov ecx, esi
call fcn.005e2df8
mov edx, dword [ebx + 0xdc]
mov eax, dword [edi]
push edx
push eax
mov ecx, esi
call fcn.005e2df8
cmp dword [ebx + 0x268], 1
jne 0x5d2839
sub esp, 0x10
mov ecx, edi
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.005d5cb0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0x60d270
mov eax, dword [ebx + 0x268]
mov byte [esp + 0x1c8], 0x1d
cmp eax, 1
jne 0x5d28b4
cmp dword [ebx + 0x26c], 5
jne 0x5d28b4
mov eax, dword [ebx + 0xc0]
cmp eax, 0x20
jbe 0x5d2885
mov edx, dword [ebx + 0xbc]
mov ecx, dword [edx + 0x100]
inc ecx
jmp 0x5d2887
mov ecx, dword [edi]
mov edi, dword [edi]
cmp ecx, edi
jge 0x5d288f
mov ecx, edi
cmp eax, 0x40
jbe 0x5d28a4
mov edx, dword [ebx + 0xbc]
mov eax, dword [edx + eax*8 - 0x108]
dec eax
jmp 0x5d28a6
mov eax, ecx
mov edx, dword [ebx + 0xe0]
cmp eax, edx
jle 0x5d28bc
mov eax, edx
jmp 0x5d28bc
mov ecx, dword [edi]
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebx + 0xe4]
mov edi, dword [ebx + 0xdc]
push edx
push eax
push edi
push ecx
call dword [0x600038]
push eax
lea ecx, [esp + 0xd4]
call fcn.005e2d2c
lea eax, [esp + 0xd0]
push 5
push eax
mov ecx, esi
call fcn.005e3182
mov eax, dword [ebx + 0x140]
cmp eax, 4
ja case.default.0x5d28ff
jmp dword [eax*4 + 0x5d5058]
mov eax, dword [ebx + 0xc0]
test eax, eax
jbe case.default.0x5d28ff
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call fcn.005e2e04
mov edx, dword [ebx + 0xbc]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
push ecx
push eax
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.005e2dfe
mov eax, dword [ebx + 0xc0]
mov edi, 1
cmp eax, edi
jbe case.default.0x5d28ff
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
push ecx
push eax
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0xc0]
inc edi
cmp edi, eax
jb 0x5d294c
jmp case.default.0x5d28ff
mov eax, dword [ebx + 0xc0]
test eax, eax
jbe case.default.0x5d28ff
lea edx, [esp + 0x70]
mov ecx, esi
push edx
call fcn.005e2e04
mov eax, dword [ebx + 0xc0]
xor edi, edi
test eax, eax
jbe case.default.0x5d28ff
mov eax, dword [ebx + 0xbc]
mov edx, dword [eax + edi*8]
mov ecx, dword [eax + edi*8 + 4]
lea eax, [eax + edi*8]
sub edx, 2
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xbc]
mov edx, dword [ecx + edi*8 + 4]
lea eax, [ecx + edi*8]
push edx
mov ecx, esi
mov eax, dword [eax]
add eax, 3
push eax
call fcn.005e2df8
mov ecx, dword [ebx + 0xbc]
mov edx, dword [ecx + edi*8 + 4]
lea eax, [ecx + edi*8]
sub edx, 2
lea ecx, [esp + 0x44]
mov eax, dword [eax]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [ebx + 0xbc]
mov ecx, dword [edx + edi*8 + 4]
lea eax, [edx + edi*8]
add ecx, 3
mov edx, dword [eax]
push ecx
push edx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0xc0]
inc edi
cmp edi, eax
jb 0x5d299c
jmp case.default.0x5d28ff
mov eax, dword [ebx + 0xc0]
test eax, eax
jbe case.default.0x5d28ff
push 0
push 0
mov ecx, ebx
call fcn.005d6050
mov dword [esp + 0x20], eax
lea eax, [esp + 0x70]
push eax
mov ecx, esi
call fcn.005e2e04
mov eax, dword [ebx + 0xc0]
xor edi, edi
test eax, eax
jbe case.default.0x5d28ff
mov edx, dword [ebx + 0xbc]
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x50]
mov eax, dword [edx + edi*8]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [ebx + 0xbc]
mov ecx, dword [edx + edi*8 + 4]
lea eax, [edx + edi*8]
push ecx
mov ecx, esi
mov edx, dword [eax]
push edx
call fcn.005e2df8
mov eax, dword [ebx + 0xc0]
inc edi
cmp edi, eax
jb 0x5d2a60
jmp case.default.0x5d28ff
mov eax, dword [ebx + 0xc0]
test eax, eax
jbe case.default.0x5d28ff
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call fcn.005e2e04
push 0
push 0
mov ecx, ebx
call fcn.005d6050
mov edi, dword [ebx + 0xc0]
mov dword [esp + 0x20], eax
cmp edi, 2
jb 0x5d2c48
test edi, edi
mov dword [esp + 0x10], 0
jbe case.default.0x5d28ff
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d2b09
mov eax, dword [ebx + 0xbc]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
jmp 0x5d2b10
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10]
inc ecx
dec edi
mov dword [esp + 0x100], ecx
cmp eax, edi
jae 0x5d2b39
mov eax, dword [ebx + 0xbc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + edx*8]
lea ecx, [eax + edx*8]
mov eax, dword [eax + edx*8 + 8]
sub eax, edi
jmp 0x5d2b4e
mov edx, dword [ebx + 0xbc]
mov eax, dword [esp + 0x10]
mov edi, dword [edx + eax*8]
lea ecx, [edx + eax*8]
mov eax, edi
sub eax, dword [ecx - 8]
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, edi
mov edi, dword [ebx + 0x140]
mov dword [esp + 0x108], eax
mov ecx, dword [ecx + 4]
cmp edi, 3
mov dword [esp + 0x104], ecx
mov dword [esp + 0x10c], edx
jne 0x5d2be2
mov ecx, dword [esp + 0x100]
mov edi, eax
sub edi, ecx
test edi, edi
jle 0x5d2ba6
mov ecx, dword [0x6314e4]
lea edx, [esp + 0x100]
push ecx
push edx
mov ecx, esi
call fcn.005e2e16
jmp 0x5d2c2f
add eax, ecx
push edx
cdq
sub eax, edx
mov ecx, esi
sar eax, 1
push eax
lea eax, [esp + 0x44]
push eax
call fcn.005e2dfe
mov edx, dword [esp + 0x100]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
add eax, edx
cdq
sub eax, edx
push ecx
sar eax, 1
push eax
mov ecx, esi
call fcn.005e2df8
jmp 0x5d2c2f
mov eax, dword [esp + 0x10]
push ecx
test eax, eax
jle 0x5d2bf9
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.005e2df8
jmp 0x5d2c0d
mov edx, dword [esp + 0x104]
lea eax, [esp + 0x34]
push edx
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
push ecx
push edx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [esp + 0x108]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 0xc0]
inc eax
cmp eax, edi
mov dword [esp + 0x10], eax
jb 0x5d2aeb
jmp case.default.0x5d28ff
mov ecx, dword [ebx + 0xbc]
push eax
lea eax, [esp + 0x6c]
mov edx, dword [ecx]
mov ecx, esi
push edx
push eax
call fcn.005e2dfe
mov eax, dword [ebx + 0xbc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, esi
call fcn.005e2df8
push esi
mov ecx, ebx
call fcn.005d8790
push 5
push 0
mov ecx, esi
call fcn.005e3182
push 1
mov ecx, esi
call fcn.005e2e10
push esi
mov ecx, ebx
call fcn.005d89a0
mov ecx, dword [0x640790]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x38]
cmp dword [ebx + 0x268], 1
jne 0x5d2dbd
cmp dword [ebx + 0x26c], 6
jne 0x5d2dbd
push 0x142
lea ecx, [esp + 0x18]
call fcn.005e295a
lea edx, [esp + 0x14]
push 0x62ee08
lea eax, [esp + 0x40]
push edx
push eax
call fcn.005e2a32
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x1cc], 0x1e
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov ecx, dword [ebx + 0xb8]
lea edx, [esp + 0xc]
push ecx
push 0x62d424
push edx
call fcn.005e2b16
add esp, 0xc
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x3c]
push eax
push ecx
push edx
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x1f
call fcn.005e2a44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [esp + 0xc]
mov edi, dword [0x600030]
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
fild dword [ebx + 0xe8]
fmul qword [0x608a60]
fiadd dword [ebx + 0xe4]
call fcn.005e35c0
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0xec]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0xc]
mov edx, ecx
mov ecx, dword [ebx + 0xe0]
mov eax, dword [eax - 8]
sub ecx, edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x10]
sub ecx, edx
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x64]
jmp 0x5d2dc3
mov edi, dword [0x600030]
cmp dword [ebx + 0x268], 1
jne 0x5d3d2a
mov eax, dword [ebx + 0xb8]
test eax, eax
jbe 0x5d3d2a
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5d3d2a
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d2ec1
mov eax, dword [ebx + 0x26c]
test eax, eax
jl 0x5d2ec1
cmp eax, 2
jg 0x5d2ec1
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.005e2e04
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0x29c]
mov ecx, dword [ebx + 0x298]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0xe4]
mov ecx, dword [ebx + 0x29c]
mov edx, dword [ebx + 0x298]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
push eax
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0xdc]
mov ecx, dword [ebx + 0x2a4]
mov edx, dword [ebx + 0x2a0]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xe4]
mov edx, dword [ebx + 0x2a4]
mov eax, dword [ebx + 0x2a0]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.005d6100
push eax
mov ecx, esi
call fcn.005e2df8
lea ecx, [esp + 0x94]
push ecx
mov ecx, esi
call fcn.005e2e04
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d2eec
cmp dword [ebx + 0x26c], 3
je 0x5d2f10
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x5d3533
cmp dword [ebx + 0x26c], 2
jne 0x5d3533
fld qword [ebx + 0x430]
fadd qword [ebx + 0x438]
sub esp, 8
lea edx, [esp + 0x14]
fstp qword [esp]
push 0x639340
push edx
call fcn.005e2b16
fld qword [ebx + 0x430]
fadd qword [ebx + 0x438]
add esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d3063
cmp eax, dword [ebx + 0xe4]
jge 0x5d3063
mov ecx, dword [ebx + 0x2a4]
mov edx, dword [ebx + 0x2a0]
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
mov dword [esp + 0x20], eax
fnstsw ax
test ah, 1
jne 0x5d2fe3
cmp dword [ebx + 0x26c], 3
jne 0x5d2fe3
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
sub ecx, edx
mov edx, dword [esi]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx - 8]
push ecx
mov ecx, dword [esp + 0x10]
push ecx
push eax
mov eax, dword [esp + 0x24]
jmp 0x5d3034
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [ebx + 0xd8]
add ecx, 5
cmp eax, ecx
jge 0x5d3010
mov eax, ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0xe8]
sub ecx, edx
mov edx, dword [esi]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx - 8]
push ecx
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x64]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0xe0]
push edx
push eax
mov ecx, esi
call fcn.005e2df8
fld qword [ebx + 0x2b0]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d315a
fld qword [ebx + 0x438]
fsub qword [0x604318]
sub esp, 8
lea ecx, [esp + 0x14]
fstp qword [esp]
push 0x639318
push ecx
call fcn.005e2b16
fld qword [ebx + 0x438]
fsub qword [0x604318]
add esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d315a
mov edx, eax
mov eax, dword [ebx + 0xe4]
cmp edx, eax
jge 0x5d315a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
sub ecx, edx
mov edx, dword [esi]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx - 8]
push ecx
mov ecx, dword [esp + 0x10]
push ecx
push eax
mov eax, dword [esp + 0x24]
mov ecx, esi
push eax
call dword [edx + 0x64]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x2b4]
mov eax, dword [ebx + 0x2b0]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.005d6100
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0xe0]
push edx
push eax
mov ecx, esi
call fcn.005e2df8
fld qword [ebx + 0x308]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d325e
fld qword [ebx + 0x310]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d325e
fld qword [ebx + 0x438]
fsub qword [0x601ae8]
sub esp, 8
lea ecx, [esp + 0x14]
fstp qword [esp]
push 0x6392f0
push ecx
call fcn.005e2b16
fld qword [ebx + 0x438]
fsub qword [0x601ae8]
add esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d325e
mov edx, eax
mov eax, dword [ebx + 0xe4]
cmp edx, eax
jge 0x5d325e
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edi, dword [esp + 0x24]
mov edx, dword [edx - 8]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
push edx
mov edx, dword [esp + 0x10]
sub ecx, edi
mov edi, dword [esi]
push edx
push eax
push ecx
mov ecx, esi
call dword [edi + 0x64]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x2cc]
mov ecx, dword [ebx + 0x2c8]
push edi
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0xe0]
push edi
push eax
mov ecx, esi
call fcn.005e2df8
mov edi, dword [0x600030]
fld qword [ebx + 0x318]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3362
fld qword [ebx + 0x320]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3362
fld qword [ebx + 0x438]
fsub qword [0x60eab8]
sub esp, 8
lea ecx, [esp + 0x14]
fstp qword [esp]
push 0x6392c8
push ecx
call fcn.005e2b16
fld qword [ebx + 0x438]
fsub qword [0x60eab8]
add esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d3362
mov edx, eax
mov eax, dword [ebx + 0xe4]
cmp edx, eax
jge 0x5d3362
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edi, dword [esp + 0x24]
mov edx, dword [edx - 8]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
push edx
mov edx, dword [esp + 0x10]
sub ecx, edi
mov edi, dword [esi]
push edx
push eax
push ecx
mov ecx, esi
call dword [edi + 0x64]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x2d4]
mov ecx, dword [ebx + 0x2d0]
push edi
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0xe0]
push edi
push eax
mov ecx, esi
call fcn.005e2df8
mov edi, dword [0x600030]
fld qword [ebx + 0x2e8]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3466
fld qword [ebx + 0x2f0]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3466
fld qword [ebx + 0x438]
fsub qword [0x603518]
sub esp, 8
lea ecx, [esp + 0x14]
fstp qword [esp]
push 0x6392a0
push ecx
call fcn.005e2b16
fld qword [ebx + 0x438]
fsub qword [0x603518]
add esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d3466
mov edx, eax
mov eax, dword [ebx + 0xe4]
cmp edx, eax
jge 0x5d3466
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edi, dword [esp + 0x24]
mov edx, dword [edx - 8]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
push edx
mov edx, dword [esp + 0x10]
sub ecx, edi
mov edi, dword [esi]
push edx
push eax
push ecx
mov ecx, esi
call dword [edi + 0x64]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x2bc]
mov ecx, dword [ebx + 0x2b8]
push edi
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0xe0]
push edi
push eax
mov ecx, esi
call fcn.005e2df8
mov edi, dword [0x600030]
mov ecx, dword [ebx + 0x43c]
mov edx, dword [ebx + 0x438]
push ecx
push edx
lea eax, [esp + 0x14]
push 0x639280
push eax
call fcn.005e2b16
mov ecx, dword [ebx + 0x43c]
mov edx, dword [ebx + 0x438]
add esp, 0x10
push ecx
push edx
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x10], eax
cmp eax, ecx
jle 0x5d3533
cmp eax, dword [ebx + 0xe4]
jge 0x5d3533
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
mov edi, dword [esp + 0x24]
mov edx, dword [edx - 8]
sub eax, ecx
mov ecx, dword [ebx + 0xe0]
push edx
mov edx, dword [esp + 0x10]
sub ecx, edi
mov edi, dword [esi]
push edx
push eax
push ecx
mov ecx, esi
call dword [edi + 0x64]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x2ac]
mov ecx, dword [ebx + 0x2a8]
push edi
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0xe0]
push edi
push eax
mov ecx, esi
call fcn.005e2df8
mov edi, dword [0x600030]
push 0x639818
lea ecx, [esp + 0x10]
call fcn.005e2a4a
lea ecx, [esp + 0xac]
push ecx
mov ecx, esi
call fcn.005e2e04
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d356c
cmp dword [ebx + 0x26c], 3
je 0x5d3590
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
je 0x5d37e5
cmp dword [ebx + 0x26c], 2
jne 0x5d37e5
fld qword [ebx + 0x2e8]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3657
fld qword [ebx + 0x2f0]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3657
mov edx, dword [ebx + 0x47c]
mov eax, dword [ebx + 0x478]
push edx
push eax
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x2ec]
mov edx, dword [ebx + 0x2e8]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0x484]
mov edx, dword [ebx + 0x480]
push ecx
push edx
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x2f0]
push eax
mov eax, dword [ebx + 0x2f4]
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
push eax
mov ecx, esi
call fcn.005e2df8
mov edx, dword [ebx + 0x33c]
mov eax, dword [ebx + 0x338]
push edx
push eax
lea ecx, [esp + 0x1c]
push 0x639264
push ecx
call fcn.005e2b16
add esp, 0x10
lea edx, [esp + 0x14]
lea ecx, [esp + 0xc]
push edx
call fcn.005e2b10
fld qword [ebx + 0x308]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d371e
fld qword [ebx + 0x310]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d371e
mov eax, dword [ebx + 0x49c]
mov ecx, dword [ebx + 0x498]
push eax
push ecx
mov ecx, ebx
call fcn.005d6050
mov edx, dword [ebx + 0x30c]
push eax
mov eax, dword [ebx + 0x308]
push edx
push eax
mov ecx, ebx
call fcn.005d6100
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [ebx + 0x4a4]
mov eax, dword [ebx + 0x4a0]
push edx
push eax
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x314]
mov edx, dword [ebx + 0x310]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
push eax
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0x344]
mov ecx, dword [ebx + 0x340]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x639248
push edx
call fcn.005e2b16
add esp, 0x10
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2b10
fld qword [ebx + 0x318]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d37e5
fld qword [ebx + 0x320]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d37e5
mov ecx, dword [ebx + 0x4ac]
mov edx, dword [ebx + 0x4a8]
push ecx
push edx
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x318]
push eax
mov eax, dword [ebx + 0x31c]
push eax
push ecx
mov ecx, ebx
call fcn.005d6100
lea edx, [esp + 0x60]
push eax
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0x4b4]
mov ecx, dword [ebx + 0x4b0]
push eax
push ecx
mov ecx, ebx
call fcn.005d6050
mov edx, dword [ebx + 0x324]
push eax
mov eax, dword [ebx + 0x320]
push edx
push eax
mov ecx, ebx
call fcn.005d6100
push eax
mov ecx, esi
call fcn.005e2df8
mov ecx, dword [ebx + 0x34c]
mov edx, dword [ebx + 0x348]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x63922c
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x10]
call fcn.005e2b10
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3842
cmp dword [ebx + 0x26c], 3
jne 0x5d3842
fld qword [ebx + 0x388]
fst qword [esp + 0x44]
fcomp qword [0x6037d8]
fnstsw ax
test ah, 0x41
jne 0x5d3842
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push edx
push eax
lea ecx, [esp + 0x1c]
push 0x63920c
push ecx
call fcn.005e2b16
add esp, 0x10
lea edx, [esp + 0x14]
lea ecx, [esp + 0xc]
push edx
call fcn.005e2b10
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d389f
cmp dword [ebx + 0x26c], 3
jne 0x5d389f
fld qword [ebx + 0x390]
fst qword [esp + 0x44]
fcomp qword [0x6037d8]
fnstsw ax
test ah, 0x41
jne 0x5d389f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x6391ec
push edx
call fcn.005e2b16
add esp, 0x10
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2b10
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d3900
cmp dword [ebx + 0x26c], 3
jne 0x5d3900
fld qword [ebx + 0x398]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 0x41
jne 0x5d3900
fld qword [ebx + 0x398]
fmul qword [0x601ad8]
sub esp, 8
lea ecx, [esp + 0x1c]
fstp qword [esp]
push 0x6391cc
push ecx
call fcn.005e2b16
add esp, 0x10
lea edx, [esp + 0x14]
lea ecx, [esp + 0xc]
push edx
call fcn.005e2b10
fld qword [ebx + 0x298]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 1
jne 0x5d395d
cmp dword [ebx + 0x26c], 3
jne 0x5d395d
fld qword [ebx + 0x3a0]
fst qword [esp + 0x44]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 0x41
jne 0x5d395d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x6391b0
push edx
call fcn.005e2b16
add esp, 0x10
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
push eax
call fcn.005e2b10
mov eax, dword [ebx + 0x26c]
cmp eax, 8
jne 0x5d3b00
push 0xe9
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x11c]
mov edx, dword [ebx + 0x118]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x63919c
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x20
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0xea
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x124]
mov edx, dword [ebx + 0x120]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x63919c
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x21
call fcn.005e2b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0xeb
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x134]
mov edx, dword [ebx + 0x130]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x63919c
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x22
call fcn.005e2b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0x302
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x13c]
mov edx, dword [ebx + 0x138]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x63918c
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x23
call fcn.005e2b10
mov byte [esp + 0x1c8], 0x1d
lea ecx, [esp + 0x18]
jmp 0x5d3c98
cmp eax, 9
jne 0x5d3c9d
push 0xe9
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x11c]
mov edx, dword [ebx + 0x118]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x639174
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x24
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0xea
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x124]
mov edx, dword [ebx + 0x120]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x639174
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x25
call fcn.005e2b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0xeb
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x134]
mov edx, dword [ebx + 0x130]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x639174
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x26
call fcn.005e2b10
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
push 0x302
lea ecx, [esp + 0x20]
call fcn.005e295a
mov ecx, dword [ebx + 0x13c]
mov edx, dword [ebx + 0x138]
push ecx
push edx
lea eax, [esp + 0x1c]
push 0x639164
push eax
call fcn.005e2b16
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x18]
push ecx
push edx
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x27
call fcn.005e2b10
mov byte [esp + 0x1c8], 0x1d
lea ecx, [esp + 0x18]
call fcn.005e2954
mov ecx, dword [esp + 0xc]
push 0x639818
push ecx
call dword [0x600a74]
add esp, 8
test eax, eax
je 0x5d3d2a
mov eax, dword [ebx + 0x160]
test eax, eax
jne 0x5d3d2a
mov eax, dword [ebx + 0x190]
test eax, eax
jne 0x5d3d2a
mov eax, dword [ebx + 0x1c0]
test eax, eax
jne 0x5d3d2a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edi, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xd8]
sub edi, eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [edx - 8]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x10]
push eax
push edi
push ecx
mov ecx, esi
call dword [edx + 0x64]
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x5d3d71
mov ecx, dword [ebx + 0x190]
test ecx, ecx
jne 0x5d3d6d
mov ecx, dword [ebx + 0x1c0]
test ecx, ecx
je 0x5d3d6d
lea esi, [ebx + 0x1b0]
lea edi, [ebx + 0x180]
mov ecx, 0xc
mov dword [ebx + 0x264], 2
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x190], eax
jmp 0x5d3db4
test eax, eax
jne 0x5d3daa
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x5d3daa
mov ecx, dword [ebx + 0x1c0]
test ecx, ecx
je 0x5d3daa
lea esi, [ebx + 0x1b0]
lea edi, [ebx + 0x150]
mov ecx, 0xc
mov dword [ebx + 0x264], 1
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x160], eax
jmp 0x5d3db4
mov dword [ebx + 0x264], 0
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x5d3f20
mov ecx, dword [ebx + 0x16c]
mov edx, dword [ebx + 0x168]
push ecx
push edx
mov ecx, ebx
call fcn.005d6100
mov dword [ebx + 0x150], eax
mov eax, dword [ebx + 0x160]
cmp eax, 1
jne 0x5d3e41
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x80]
push eax
mov ecx, esi
call fcn.005e2e04
mov eax, dword [0x6314e4]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [ebx + 0x174]
mov edx, dword [ebx + 0x170]
push ecx
push edx
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x170]
mov edx, dword [ebx + 0x174]
mov dword [ebx + 0x154], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov esi, eax
jmp 0x5d3e48
mov esi, dword [esp + 0xb4]
mov eax, dword [ebx + 0x150]
mov ecx, dword [ebx + 0xd8]
cmp eax, ecx
jl 0x5d3f20
cmp eax, dword [ebx + 0xe0]
jg 0x5d3f20
mov ecx, dword [ebx + 0xdc]
cmp esi, ecx
jl 0x5d3f20
cmp esi, dword [ebx + 0xe4]
jg 0x5d3f20
mov edi, dword [esp + 0x2c]
push ecx
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, edi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xe4]
mov edx, dword [ebx + 0x150]
push ecx
push edx
mov ecx, edi
call fcn.005e2df8
mov eax, dword [ebx + 0xd8]
push esi
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, edi
call fcn.005e2dfe
mov edx, dword [ebx + 0xe0]
push esi
push edx
mov ecx, edi
call fcn.005e2df8
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x5d4082
push 0x62fee8
lea ecx, [esp + 0x34]
call fcn.005e2d44
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 0x150]
mov byte [esp + 0x1c8], 0x28
mov ecx, dword [edx - 8]
mov dword [esp + 0x18], ecx
push dword [esp + 0x18]
mov ecx, edi
push edx
push esi
mov edi, dword [ecx]
push eax
call dword [edi + 0x64]
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x5d4082
mov edx, dword [ebx + 0x19c]
mov eax, dword [ebx + 0x198]
push edx
push eax
mov ecx, ebx
call fcn.005d6100
mov dword [ebx + 0x180], eax
mov eax, dword [ebx + 0x190]
cmp eax, 1
jne 0x5d3fa7
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.005e2e04
mov eax, dword [0x6314e4]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [ebx + 0x1a4]
mov edx, dword [ebx + 0x1a0]
push ecx
push edx
mov ecx, ebx
call fcn.005d6050
mov ecx, dword [ebx + 0x1a0]
mov edx, dword [ebx + 0x1a4]
mov dword [ebx + 0x184], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov esi, eax
jmp 0x5d3fae
mov esi, dword [esp + 0xb4]
mov eax, dword [ebx + 0x180]
mov ecx, dword [ebx + 0xd8]
cmp eax, ecx
jl 0x5d4082
cmp eax, dword [ebx + 0xe0]
jg 0x5d4082
mov ecx, dword [ebx + 0xdc]
cmp esi, ecx
jl 0x5d4082
cmp esi, dword [ebx + 0xe4]
jg 0x5d4082
mov edi, dword [esp + 0x2c]
push ecx
push eax
lea eax, [esp + 0x64]
push eax
mov ecx, edi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xe4]
mov edx, dword [ebx + 0x180]
push ecx
push edx
mov ecx, edi
call fcn.005e2df8
mov eax, dword [ebx + 0xd8]
push esi
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, edi
call fcn.005e2dfe
mov edx, dword [ebx + 0xe0]
push esi
push edx
mov ecx, edi
call fcn.005e2df8
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x5d4082
push 0x62fee4
lea ecx, [esp + 0x34]
call fcn.005e2d44
mov edx, dword [esp + 0x30]
mov eax, dword [ebx + 0x180]
mov byte [esp + 0x1c8], 0x29
mov ecx, dword [edx - 8]
mov dword [esp + 0x18], ecx
push dword [esp + 0x18]
mov ecx, edi
push edx
push esi
mov edi, dword [ecx]
push eax
call dword [edi + 0x64]
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x5d454a
mov ecx, dword [ebx + 0x190]
test ecx, ecx
je 0x5d4406
cmp eax, ecx
jne 0x5d40ba
mov edi, dword [esp + 0x2c]
cmp eax, 1
jne 0x5d40d5
mov eax, dword [0x6314e4]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x38]
jmp 0x5d40d5
mov ecx, dword [esp + 0x2c]
mov eax, dword [0x6314e8]
mov edi, dword [0x6314e4]
mov edx, dword [ecx]
or eax, edi
push eax
call dword [edx + 0x38]
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x16c]
mov eax, dword [ebx + 0x168]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push 0x635928
push ecx
call fcn.005e2b16
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x19c]
mov ecx, dword [ebx + 0x198]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x635928
push edx
call fcn.005e2b16
mov eax, dword [ebx + 0x70]
add esp, 0x28
fld qword [ebx + 0x198]
fsub qword [ebx + 0x168]
push eax
lea ecx, [esp + 0x8c]
sub esp, 8
fstp qword [esp]
push 0x639154
push ecx
call fcn.005e2b16
add esp, 0x14
lea edx, [esp + 0x14]
lea eax, [esp + 0x58]
push edx
push 0x63914c
push eax
call fcn.005e2a38
push 0x639140
lea ecx, [esp + 0x6c]
push eax
push ecx
mov byte [esp + 0x1d4], 0x2a
call fcn.005e2a32
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c8], 0x2b
push edx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005e2a2c
push 0x63912c
lea ecx, [esp + 0x40]
push eax
push ecx
mov byte [esp + 0x1d4], 0x2c
call fcn.005e2a32
lea edx, [esp + 0x88]
mov byte [esp + 0x1c8], 0x2d
push edx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x2e
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x2d
call fcn.005e2954
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x2c
call fcn.005e2954
mov byte [esp + 0x1c8], 0x2b
lea ecx, [esp + 0x30]
call fcn.005e2954
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c8], 0x2a
call fcn.005e2954
lea ecx, [esp + 0x58]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov ecx, dword [ebx + 0x98]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push 0x635928
push ecx
call fcn.005e2b16
mov edx, dword [ebx + 0x98]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x635928
push edx
call fcn.005e2b16
mov eax, dword [ebx + 0x98]
add esp, 0x28
fld qword [esp + 0x4c]
fsub qword [esp + 0x8c]
push eax
lea ecx, [esp + 0x8c]
sub esp, 8
fstp qword [esp]
push 0x635928
push ecx
call fcn.005e2b16
add esp, 0x14
lea edx, [esp + 0xc]
lea eax, [esp + 0x8c]
push 0x639124
push edx
push eax
call fcn.005e2a32
lea ecx, [esp + 0x14]
lea edx, [esp + 0x58]
push ecx
push eax
push edx
mov byte [esp + 0x1d4], 0x2f
call fcn.005e2a2c
push 0x635910
push eax
lea eax, [esp + 0x70]
mov byte [esp + 0x1d0], 0x30
push eax
call fcn.005e2a32
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x30]
push ecx
push eax
push edx
mov byte [esp + 0x1d4], 0x31
call fcn.005e2a2c
push 0x6358fc
push eax
lea eax, [esp + 0x44]
mov byte [esp + 0x1d0], 0x32
push eax
call fcn.005e2a32
lea ecx, [esp + 0x88]
mov byte [esp + 0x1c8], 0x33
push ecx
push eax
lea edx, [esp + 0x20]
push edx
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x34
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x33
call fcn.005e2954
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x32
call fcn.005e2954
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x31
call fcn.005e2954
lea ecx, [esp + 0x68]
mov byte [esp + 0x1c8], 0x30
call fcn.005e2954
lea ecx, [esp + 0x58]
mov byte [esp + 0x1c8], 0x2f
call fcn.005e2954
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [ebx + 0x1c0]
test eax, eax
je 0x5d43c2
mov eax, dword [ebx + 0x264]
test eax, eax
jle 0x5d468c
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 4]
push eax
call dword [0x600030]
mov esi, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xd8]
sub esi, eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
sar ecx, 1
jmp 0x5d466f
test eax, eax
je 0x5d454a
cmp eax, 1
jne 0x5d4426
mov edi, dword [esp + 0x2c]
mov eax, dword [0x6314e4]
push eax
mov ecx, edi
mov edx, dword [edi]
call dword [edx + 0x38]
jmp 0x5d4439
mov ecx, dword [esp + 0x2c]
mov eax, dword [0x6314e8]
push eax
mov edx, dword [ecx]
call dword [edx + 0x38]
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x16c]
mov eax, dword [ebx + 0x168]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push 0x635928
push ecx
call fcn.005e2b16
mov edx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x174]
mov ecx, dword [ebx + 0x170]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x635928
push edx
call fcn.005e2b16
add esp, 0x28
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
push 0x62ede8
push eax
push ecx
call fcn.005e2a32
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c8], 0x35
push edx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x36
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x35
call fcn.005e2954
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [ebx + 0x1c0]
test eax, eax
jne 0x5d454a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 4]
push eax
call dword [0x600030]
mov esi, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xd8]
sub esi, eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 8]
mov dword [esp + 0x18], edx
push dword [esp + 0x18]
mov edx, dword [edi]
push eax
push esi
push ecx
mov ecx, edi
call dword [edx + 0x64]
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x5d468c
mov edi, dword [esp + 0x2c]
cmp eax, 1
jne 0x5d4571
mov ecx, dword [0x6314e4]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x38]
jmp 0x5d457e
mov eax, dword [0x6314e8]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x38]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x19c]
mov eax, dword [ebx + 0x198]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push 0x635928
push ecx
call fcn.005e2b16
mov edx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x1a4]
mov ecx, dword [ebx + 0x1a0]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x635928
push edx
call fcn.005e2b16
add esp, 0x28
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
push 0x62ede8
push eax
push ecx
call fcn.005e2a32
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c8], 0x37
push edx
push eax
lea eax, [esp + 0x20]
push eax
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x38
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x37
call fcn.005e2954
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [ebx + 0x1c0]
test eax, eax
jne 0x5d469a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 4]
push eax
call dword [0x600030]
mov esi, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xd8]
sub esi, eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
sar ecx, 1
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
sub ecx, eax
mov eax, dword [edx - 8]
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0x10]
push eax
push esi
push ecx
mov ecx, edi
call dword [edx + 0x64]
mov eax, dword [ebx + 0x1c0]
test eax, eax
je 0x5d4871
mov eax, dword [ebx + 0x264]
test eax, eax
jne 0x5d4871
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call fcn.005e2e04
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0x1b0]
push edx
lea ecx, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call fcn.005e2dfe
mov edx, dword [ebx + 0xe4]
mov eax, dword [ebx + 0x1b0]
push edx
push eax
mov ecx, esi
call fcn.005e2df8
mov eax, dword [ebx + 0x1b4]
mov ecx, dword [ebx + 0xdc]
cmp eax, ecx
jl 0x5d472b
cmp eax, dword [ebx + 0xe4]
jg 0x5d472b
mov ecx, dword [ebx + 0xd8]
push eax
lea edx, [esp + 0x60]
push ecx
push edx
mov ecx, esi
call fcn.005e2dfe
mov eax, dword [ebx + 0x1b4]
mov ecx, dword [ebx + 0xe0]
push eax
push ecx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [0x6314e4]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x1cc]
mov eax, dword [ebx + 0x1c8]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push 0x635928
push ecx
call fcn.005e2b16
mov edx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x1d4]
mov ecx, dword [ebx + 0x1d0]
push edx
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x635928
push edx
call fcn.005e2b16
add esp, 0x28
lea eax, [esp + 0x14]
lea ecx, [esp + 0x30]
push eax
push 0x63911c
push ecx
call fcn.005e2a38
push 0x639110
lea edx, [esp + 0x40]
push eax
push edx
mov byte [esp + 0x1d4], 0x39
call fcn.005e2a32
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
push ecx
push eax
push edx
mov byte [esp + 0x1d4], 0x3a
call fcn.005e2a2c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1cc], 0x3b
call fcn.005e2a44
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c8], 0x3a
call fcn.005e2954
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c8], 0x39
call fcn.005e2954
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c8], 0x1d
call fcn.005e2954
mov eax, dword [esp + 0xc]
mov edi, dword [0x600030]
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [ebx + 0xdc]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xd8]
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [edx - 8]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x64]
jmp 0x5d487b
mov edi, dword [0x600030]
mov esi, dword [esp + 0x2c]
mov eax, dword [ebx + 0x264]
cmp eax, 1
jne 0x5d4890
mov dword [ebx + 0x160], 0
cmp eax, 2
jne 0x5d489f
mov dword [ebx + 0x190], 0
push 0x63afd8
lea ecx, [esp + 0x10]
call fcn.005e2a44
mov ecx, dword [esp + 0xc]
push 0x639818
push ecx
call dword [0x600a74]
add esp, 8
test eax, eax
je 0x5d4a17
mov eax, dword [0x6314e8]
mov edx, dword [0x6314e4]
or eax, edx
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x5d48e8
cmp eax, 0xffffff
jne 0x5d48e8
xor eax, eax
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esi]
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call dword [eax + 0x30]
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x44]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x5c]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
fild dword [ebx + 0xf0]
fmul qword [0x608b88]
call fcn.005e35c0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xe0]
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [esi]
push ecx
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [ebx + 0xdc]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x64]
lea edx, [esp + 0x9c]
mov ecx, esi
push edx
call fcn.005e2e04
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], 4
mov dword [esp + 0x38], eax
mov ecx, dword [ebx + 0xdc]
mov eax, dword [esp + 0x38]
add ecx, eax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fild dword [ebx + 0xf0]
fmul qword [0x6034e0]
faddp st(1)
call fcn.005e35c0
mov edx, dword [ebx + 0xe0]
mov ecx, dword [esp + 0x44]
push eax
sub edx, ecx
lea eax, [esp + 0x60]
push edx
push eax
mov ecx, esi
call fcn.005e2dfe
mov ecx, dword [ebx + 0xdc]
mov edx, dword [esp + 0x38]
add ecx, edx
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fild dword [ebx + 0xf0]
fmul qword [0x6034e0]
faddp st(1)
call fcn.005e35c0
mov edx, dword [ebx + 0xe0]
push eax
push edx
mov ecx, esi
call fcn.005e2df8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
add ecx, eax
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], eax
jne 0x5d4983
mov eax, dword [0x631504]
test eax, eax
je 0x5d4b05
mov eax, dword [0x6314e8]
mov ecx, dword [0x6314e4]
or eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x5d4a44
cmp eax, 0xffffff
jne 0x5d4a44
xor eax, eax
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esi]
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call dword [eax + 0x30]
push 0x635878
lea ecx, [esp + 0x10]
call fcn.005e2a4a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x44]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xe4]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x50]
cdq
sub eax, edx
mov edx, dword [ebx + 0xd8]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [ebx + 0xe0]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [esi]
mov eax, dword [eax - 8]
push eax
mov eax, dword [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, esi
call dword [edx + 0x64]
cmp dword [ebx + 0x268], 1
jne 0x5d4bee
cmp dword [ebx + 0x26c], 6
jne 0x5d4bee
mov eax, dword [ebx + 0x5ec]
test eax, eax
jne 0x5d4bee
fld qword [0x63eda0]
fcomp qword [0x6018b0]
fnstsw ax
test ah, 0x41
jne 0x5d4bee
push 0x635864
lea ecx, [esp + 0x10]
call fcn.005e2a4a
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x44]
push edx
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x24]
mov ecx, dword [eax - 8]
push edx
push ecx
push eax
mov eax, dword [esi + 4]
push eax
call edi
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xe4]
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x50]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [ebx + 0xe8]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0xe0]
add ecx, edx
mov edx, dword [ebx + 0xd8]
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar edi, 1
sar eax, 1
sub edi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 8]
mov dword [esp + 0x18], edx
push dword [esp + 0x18]
mov edx, dword [esi]
push eax
push ecx
push edi
mov ecx, esi
call dword [edx + 0x64]
mov ecx, dword [esp + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x30]
mov edx, dword [esp + 0x114]
mov ecx, esi
push edx
call fcn.005e2e04
lea ecx, [esp + 0xa4]
call fcn.005e2d14
lea ecx, [esp + 0x9c]
call fcn.005e2d14
lea ecx, [esp + 0xd8]
call fcn.005e2d14
lea ecx, [esp + 0xc8]
call fcn.005e2d14
lea ecx, [esp + 0x70]
call fcn.005e2d14
lea ecx, [esp + 0xac]
call fcn.005e2d14
lea ecx, [esp + 0x80]
call fcn.005e2d14
lea ecx, [esp + 0xc0]
call fcn.005e2d14
lea ecx, [esp + 0xf8]
call fcn.005e2d14
lea ecx, [esp + 0x94]
call fcn.005e2d14
lea ecx, [esp + 0xb8]
call fcn.005e2d14
lea ecx, [esp + 0xf0]
call fcn.005e2d14
mov eax, dword [ebx + 0x1ec]
test eax, eax
jne 0x5d4d83
test esi, esi
jne 0x5d4cac
xor eax, eax
jmp 0x5d4caf
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0xe8]
mov edx, dword [ebp + 8]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [esp + 0xfc]
push eax
mov eax, dword [edx + 4]
push ecx
push 0
push 0
push eax
call dword [0x6000a0]
mov eax, dword [ebx + 0x1e0]
test eax, eax
je 0x5d4d14
mov eax, dword [ebx + 0x1e8]
lea edi, [ebx + 0x1e8]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.00545280
add esp, 8
mov ecx, edi
mov dword [ebx + 0x1e0], 0
push 0x63a630
call fcn.005e2b5e
mov eax, dword [ebx + 0x1e4]
test eax, eax
je 0x5d4d5d
mov edx, dword [ebx + 0x20]
mov dword [ebx + 0x1e4], 0
push edx
call dword [0x600b34]
test eax, eax
je 0x5d4d5d
call dword [0x600b30]
test eax, eax
je 0x5d4d5d
mov edx, dword [esp + 0x7c]
lea eax, [esp + 0x78]
neg eax
sbb eax, eax
and eax, edx
push eax
push 2
call dword [0x600b2c]
call dword [0x600b28]
mov eax, dword [esp + 0x118]
test eax, eax
jne 0x5d4d74
push eax
mov eax, dword [esi + 4]
push eax
call fcn.005e2e1c
jmp 0x5d4dd0
mov eax, dword [eax + 4]
push eax
mov eax, dword [esi + 4]
push eax
call fcn.005e2e1c
jmp 0x5d4dd0
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x128]
mov dword [0x6314e4], ecx
mov ecx, dword [esp + 0x110]
mov dword [0x6314e8], edx
mov edx, dword [esp + 0x11c]
mov dword [0x640790], eax
mov eax, dword [esp + 0xb4]
mov dword [0x6314ec], ecx
mov dword [0x6314e0], edx
mov dword [ebx + 0x14c], eax
lea ecx, [esp + 0x78]
call fcn.005e2d14
lea ecx, [esp + 0xd0]
call fcn.005e2d14
lea ecx, [esp + 0x12c]
call fcn.005e2dec
mov edi, 0x602928
mov dword [ebx + 0x1ec], 0
mov dword [esp + 0xd0], edi
lea ecx, [esp + 0xd0]
mov byte [esp + 0x1c8], 0x3c
call fcn.005e2d14
mov esi, 0x602914
mov dword [esp + 0x94], edi
mov dword [esp + 0xd0], esi
lea ecx, [esp + 0x94]
mov byte [esp + 0x1c8], 0x3d
call fcn.005e2d14
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], edi
lea ecx, [esp + 0x9c]
mov byte [esp + 0x1c8], 0x3e
call fcn.005e2d14
mov dword [esp + 0x9c], esi
mov dword [esp + 0xf8], edi
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1c8], 0x3f
call fcn.005e2d14
mov dword [esp + 0xf8], esi
mov dword [esp + 0xc0], edi
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1c8], 0x40
call fcn.005e2d14
mov dword [esp + 0xc0], esi
mov dword [esp + 0x80], edi
lea ecx, [esp + 0x80]
mov byte [esp + 0x1c8], 0x41
call fcn.005e2d14
mov dword [esp + 0x80], esi
mov dword [esp + 0xac], edi
lea ecx, [esp + 0xac]
mov byte [esp + 0x1c8], 0x42
call fcn.005e2d14
mov dword [esp + 0xac], esi
mov dword [esp + 0x70], edi
lea ecx, [esp + 0x70]
mov byte [esp + 0x1c8], 0x43
call fcn.005e2d14
mov dword [esp + 0x70], esi
mov dword [esp + 0xc8], edi
lea ecx, [esp + 0xc8]
mov byte [esp + 0x1c8], 0x44
call fcn.005e2d14
mov dword [esp + 0xc8], esi
mov dword [esp + 0xd8], edi
lea ecx, [esp + 0xd8]
mov byte [esp + 0x1c8], 0x45
call fcn.005e2d14
mov dword [esp + 0xd8], esi
mov dword [esp + 0xa4], edi
lea ecx, [esp + 0xa4]
mov byte [esp + 0x1c8], 0x46
call fcn.005e2d14
mov dword [esp + 0xa4], esi
mov dword [esp + 0xb8], edi
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1c8], 0x47
call fcn.005e2d14
mov dword [esp + 0xb8], esi
mov dword [esp + 0xf0], edi
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1c8], 0x48
call fcn.005e2d14
lea ecx, [esp + 0x88]
mov dword [esp + 0xf0], esi
mov byte [esp + 0x1c8], 4
call fcn.005e2954
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c8], 3
call fcn.005e2954
lea ecx, [esp + 0x14]
mov byte [esp + 0x1c8], 2
call fcn.005e2954
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c8], 1
call fcn.005e2954
mov dword [esp + 0x78], edi
lea ecx, [esp + 0x78]
mov byte [esp + 0x1c8], 0x49
call fcn.005e2d14
lea ecx, [esp + 0x12c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x1c8], 0xffffffff
call fcn.005e2de6
mov ecx, dword [esp + 0x1c0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4