Function at 0x588050
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x6bdbf7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov dword [esp + 0x4c], ebx
mov al, byte [esp + 0x4b]
mov dword [esp + 0x118], 1
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
push 6
push 0x704698
lea ecx, [esp + 0x30]
mov byte [esp + 0x120], 2
call fcn.0060ff10
push 4
lea ecx, [esp + 0x128]
mov byte [esp + 0x11c], 3
call fcn.00610190
push 5
lea ecx, [esp + 0x128]
mov byte [esp + 0x14], al
call fcn.00610190
lea esi, [edi + 8]
mov byte [esp + 0x2c], al
mov ecx, esi
xor ebp, ebp
call fcn.00610330
cmp ax, 0xa
jge 0x588221
push 0x70386c
lea ecx, [esp + 0x38]
push 0x703868
push ecx
call fcn.00698355
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebp
jae 0x588129
call fcn.0069788b
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x588151
mov al, byte [edi - 1]
test al, al
je 0x588151
cmp al, 0xff
je 0x588151
cmp ebp, ebx
jne 0x58817a
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x5881a8
cmp ebp, ebx
jne 0x588162
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp 0x5881a8
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x58816f
cmp eax, ebp
jae 0x588188
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414870
mov edi, dword [esp + 0x1c]
mov ecx, ebp
lea esi, [esp + 0x34]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
mov esi, dword [esp + 0x120]
mov cl, byte [esp + 0x18]
lea eax, [esp + 0x18]
mov byte [esi], cl
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov edx, dword [0x6ce1fc]
mov ecx, esi
push edx
push ebx
push eax
call fcn.004136a0
mov dword [esp + 0x4c], 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x118], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x588210
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x588207
cmp al, 0xff
je 0x588207
dec al
mov byte [ecx], al
jmp 0x588210
push ecx
call fcn.00697880
add esp, 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
jmp 0x589001
mov eax, dword [esp + 0x10]
and eax, 0xff
cmp eax, 4
ja case.default.0x588250
jmp dword [eax*4 + 0x58a850]
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x25
ja case.default.0x588250
jmp dword [eax*4 + 0x58a864]
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
mov bl, al
call fcn.00610190
movsx edx, bl
and eax, 0xff
shl edx, 8
add eax, edx
cdq
and edx, 3
add eax, edx
mov ebp, eax
sar ebp, 2
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
shl eax, 3
mov ebp, eax
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 5
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6cea60]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ceb48]
fadd qword [esp + 0x2c]
jmp 0x58921b
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
mov eax, 0x80808081
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax + 0xa]
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
lea ecx, [esp + 0x18]
push ecx
push 3
push 4
push 6
mov ecx, esi
call fcn.00610190
and al, 8
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 8
push 7
push 6
call fcn.00610190
and al, 8
jmp 0x588f8e
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
jmp 0x5898a0
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 0x7f
add eax, edx
mov ebp, eax
sar ebp, 7
jmp case.default.0x588250
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 0x7f
add eax, edx
mov ebp, eax
sar ebp, 7
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 9
jmp 0x58988b
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebp, edx
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce240]
jmp 0x58921b
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push 6
mov ecx, esi
call fcn.00610190
and al, 8
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 2
push 1
push 7
call fcn.00610190
and al, 0x40
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6c
push 0x6b
push 9
call fcn.00610190
and al, 1
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push 0xa
mov ecx, esi
call fcn.00610190
and al, 2
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x6c
push 0x6b
push 9
call fcn.00610190
and al, 1
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x23
push 0xa
push 9
call fcn.00610190
and al, 0x20
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x24
push 3
push 9
mov ecx, esi
call fcn.00610190
and al, 0x40
jmp 0x588f8e
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 8
mov ecx, esi
call fcn.00610190
push 9
mov ecx, esi
mov bl, al
call fcn.00610190
movsx edx, bl
and eax, 0xff
shl edx, 8
add eax, edx
lea ecx, [eax + eax*4]
shl ecx, 6
add ecx, eax
mov eax, 0x80010003
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp case.default.0x588250
lea ecx, [esp + 0x18]
push ecx
push 8
push 7
push 5
mov ecx, esi
call fcn.00610190
and al, 0x80
jmp 0x588f8e
push 6
mov ecx, esi
call fcn.00610190
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov eax, 0x91a2b3c5
mov ecx, ebx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x10], dl
mov ecx, 0xe10
cdq
idiv ecx
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x11], dl
mov ecx, 0x3c
cdq
idiv ecx
mov byte [esp + 0x12], dl
mov edx, dword [esp + 0x12]
mov eax, dword [esp + 0x11]
mov ecx, dword [esp + 0x10]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x40]
push str._02d:_02d:_02d
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebx
jae 0x5887a1
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5887b8
mov al, byte [edi - 1]
test al, al
je 0x5887b8
cmp al, 0xff
jne 0x5899cb
test ebx, ebx
jne 0x5887cc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp case.default.0x588250
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x589a04
jmp 0x589a00
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x30
ja case.default.0x588250
jmp dword [eax*4 + 0x58a8fc]
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*4]
shl eax, 2
sub eax, ecx
lea eax, [eax + eax*2]
lea edx, [eax + eax*8]
lea ecx, [ecx + edx*2]
jmp 0x5898a0
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 9
mov ecx, esi
call fcn.00610190
push 0xa
mov ecx, esi
mov bl, al
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov ecx, edx
add ecx, esi
sar ecx, 7
mov edx, ecx
shr edx, 0x1f
add ecx, edx
movsx edx, bl
mov eax, edx
shl eax, 7
sub eax, edx
lea esi, [eax + eax*4]
mov eax, 0x81020409
shl esi, 1
imul esi
add edx, esi
sar edx, 6
mov ebp, edx
add edx, ecx
shr ebp, 0x1f
add ebp, edx
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
and al, 0x7f
cmp al, 0xd
mov byte [esp + 0x2c], al
jae 0x5888e1
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*8]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x2c]
and eax, 0xff
lea ecx, [eax + eax*4]
lea ebp, [edx + ecx*2]
jmp case.default.0x588250
cmp al, 0x1a
jae 0x588937
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
lea eax, [eax + eax*2]
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
shl edx, 3
mov eax, 0x51eb851f
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx - 0x7e]
jmp case.default.0x588250
cmp al, 0x27
jae 0x58898d
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
lea eax, [eax + eax*2]
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
shl edx, 3
mov eax, 0x6bca1af3
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx + 4]
jmp case.default.0x588250
cmp al, 0x34
jae 0x5889e5
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
and eax, 0xff
add ecx, esi
sar ecx, 7
lea eax, [eax + eax*2]
mov edx, ecx
shr edx, 0x1f
lea esi, [eax + eax*4]
mov eax, 0xa0a0a0a1
shl esi, 3
add ecx, edx
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx - 0x7a]
jmp case.default.0x588250
cmp al, 0x40
jae 0x588a3f
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea esi, [eax + eax*4]
mov eax, 0x82082083
shl esi, 1
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx + 8]
jmp case.default.0x588250
cmp al, 0x4d
jae 0x588a95
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
lea eax, [eax + eax*2]
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
shl edx, 3
mov eax, 0x6bca1af3
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx - 0x80]
jmp case.default.0x588250
cmp al, 0x5a
jae 0x588aed
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
and eax, 0xff
add ecx, esi
sar ecx, 7
lea eax, [eax + eax*2]
mov edx, ecx
shr edx, 0x1f
lea esi, [eax + eax*4]
mov eax, 0xb81702e1
shl esi, 3
add ecx, edx
imul esi
add edx, esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx + 2]
jmp case.default.0x588250
cmp al, 0x67
jae 0x588b45
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
and eax, 0xff
add ecx, esi
sar ecx, 7
lea eax, [eax + eax*2]
mov edx, ecx
shr edx, 0x1f
lea esi, [eax + eax*4]
mov eax, 0xa0a0a0a1
shl esi, 3
add ecx, edx
imul esi
add edx, esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx - 0x7c]
jmp case.default.0x588250
cmp al, 0x74
jae 0x588b9b
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
lea eax, [eax + eax*2]
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
shl edx, 3
mov eax, 0x473c1ab7
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx + 6]
jmp case.default.0x588250
cmp al, 0x80
jae case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea esi, [eax + eax*8]
mov eax, 0x80808081
imul esi
mov eax, dword [esp + 0x2c]
mov ecx, edx
add ecx, esi
and eax, 0xff
sar ecx, 7
mov edx, ecx
shr edx, 0x1f
add ecx, edx
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea esi, [eax + eax*4]
mov eax, 0x81020409
shl esi, 1
imul esi
add edx, esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, ecx
lea ebp, [eax + edx - 0x78]
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
push 9
mov ecx, esi
mov bl, al
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
movsx ecx, bl
fmul qword [0x6cea60]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x6ceb48]
faddp st(1)
jmp 0x58921b
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 5
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x10624dd3
shl ecx, 2
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, esi
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d3548]
fadd qword [esp + 0x2c]
jmp 0x58921b
lea edx, [esp + 0x18]
push edx
push 8
push 7
push 7
jmp 0x588f85
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 5
call fcn.00610190
and al, 8
jmp 0x588f8e
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea edx, [esp + 0x34]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce240]
fstp qword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push str._.1f_:_1
push edx
call fcn.00698355
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebx
jae 0x588de1
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5887b8
mov al, byte [edi - 1]
test al, al
je 0x5887b8
jmp 0x5887b0
push 7
mov ecx, esi
call fcn.00610190
push 8
mov ecx, esi
call fcn.00610190
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 0x7f
add eax, edx
mov ebp, eax
sar ebp, 7
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce240]
jmp 0x58921b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 1
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 6
call fcn.00610190
and al, 0x40
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x6d
push 0x6e
push 7
mov ecx, esi
call fcn.00610190
and al, 0x40
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 7
call fcn.00610190
and al, 0x20
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 7
call fcn.00610190
and al, 2
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x6d
push 0x6e
push 8
mov ecx, esi
call fcn.00610190
and al, 0x10
jmp 0x588f8e
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 0xa
call fcn.00610190
and al, 2
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 0xa
mov ecx, esi
call fcn.00610190
and al, 2
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x6c
push 0x6b
push 5
call fcn.00610190
and al, 1
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 6
call fcn.00610190
and al, 1
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 6
mov ecx, esi
call fcn.00610190
and al, 2
jmp 0x588f8e
lea edx, [esp + 0x18]
push edx
push 0x6a
push 0x69
push 6
mov ecx, esi
call fcn.00610190
and al, 4
push eax
mov ecx, edi
call fcn.0058eef0
push ebp
lea edx, [esp + 0x38]
push 0x703498
push edx
call fcn.00698355
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.0064dd30
test eax, eax
jne 0x588fc4
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.004c2200
mov esi, dword [esp + 0x120]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00412ff0
lea ecx, [esp + 0x28]
mov dword [esp + 0x4c], 1
mov byte [esp + 0x118], 2
call fcn.0060ffb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x118], 1
call fcn.004131d0
lea ecx, [esp + 0x124]
mov byte [esp + 0x118], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0x110]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10c
ret 8
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 6
call fcn.00610190
and al, 0x20
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 6
mov ecx, esi
call fcn.00610190
and al, 0x40
jmp 0x588f8e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 0x80
jmp 0x588f8e
push 8
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58909e
push 9
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58909e
xor ebp, ebp
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
mov bl, al
push 9
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov eax, 0x140000
cdq
idiv ebx
mov ebp, eax
jmp case.default.0x588250
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0xd1
push 0xd0
push 0xa
call fcn.00610190
and al, 0x40
jmp 0x588f8e
lea ecx, [esp + 0x18]
push ecx
push 0x6a
push 0x69
push 6
mov ecx, esi
call fcn.00610190
and al, 0x20
jmp 0x588f8e
push 6
mov ecx, esi
call fcn.00610190
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov eax, 0x91a2b3c5
mov ecx, ebx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x10], dl
mov ecx, 0xe10
cdq
idiv ecx
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x11], dl
mov ecx, 0x3c
cdq
idiv ecx
mov byte [esp + 0x12], dl
mov edx, dword [esp + 0x12]
mov eax, dword [esp + 0x11]
mov ecx, dword [esp + 0x10]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x40]
push str._02d:_02d:_02d
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebx
jae 0x5891cb
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5891e2
mov al, byte [edi - 1]
test al, al
je 0x5891e2
cmp al, 0xff
jne 0x5899cb
test ebx, ebx
jne 0x5887cc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce828]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x3c]
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x588fa9
push 5
mov ecx, esi
call fcn.00610190
push 5
mov ecx, esi
mov bl, al
call fcn.00610190
test al, al
jne 0x58926c
push 6
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58926c
xor ebp, ebp
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
movsx edx, bl
mov cl, al
mov eax, 0x28000
and ecx, 0xff
shl edx, 8
add ecx, edx
cdq
idiv ecx
mov ebp, eax
jmp case.default.0x588250
push 7
jmp 0x58988b
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 8
mov ecx, esi
call fcn.00610190
and al, 0x80
jmp 0x588f8e
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 5
add eax, ecx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, 0x80808081
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
lea ebp, [edx + ecx - 0x67]
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x19
ja case.default.0x588250
jmp dword [eax*4 + 0x58a9c0]
push 5
jmp 0x58988b
push 6
jmp 0x58850a
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d03c8]
jmp 0x58921b
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 0x7f
add eax, edx
mov ebp, eax
sar ebp, 7
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov dword [esp + 0x10], ebx
fild dword [esp + 0x10]
fmul qword [0x6cea60]
jmp 0x58921b
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
imul eax, eax, 0x63
mov ecx, eax
jmp 0x58851f
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x58921b
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
mov eax, 0x80808081
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
lea ebp, [edx + ecx + 0xa]
jmp case.default.0x588250
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 6
call fcn.00610190
and al, 8
jmp 0x588f8e
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
lea eax, [ecx + ecx*4]
lea ecx, [ecx + eax*2]
shl ecx, 1
jmp 0x58851f
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce240]
jmp 0x58921b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x68
push 0x67
push 9
call fcn.00610190
and al, 2
jmp 0x588f8e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x66
push 0x65
push 5
call fcn.00610190
and al, 8
jmp 0x588f8e
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 6
mov ecx, eax
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebp, edx
add ebp, ecx
mov ecx, esi
sar ebp, 7
mov edx, ebp
shr edx, 0x1f
add ebp, edx
call fcn.00610190
and eax, 0xff
shl eax, 6
add ebp, eax
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
mov bl, al
push 6
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov eax, 0x91a2b3c5
mov ecx, ebx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x10], dl
mov ecx, 0xe10
cdq
idiv ecx
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x11], dl
mov ecx, 0x3c
cdq
idiv ecx
mov byte [esp + 0x12], dl
mov edx, dword [esp + 0x12]
mov eax, dword [esp + 0x11]
mov ecx, dword [esp + 0x10]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x40]
push str._02d:_02d:_02d
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebx
jae 0x589626
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x58963d
mov al, byte [edi - 1]
test al, al
je 0x58963d
cmp al, 0xff
jne 0x5899cb
test ebx, ebx
jne 0x5887cc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp case.default.0x588250
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x1a
ja case.default.0x588250
jmp dword [eax*4 + 0x58aa28]
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
mov bl, al
call fcn.00610190
movsx ecx, bl
and eax, 0xff
shl ecx, 8
add eax, ecx
cdq
and edx, 3
add eax, edx
mov ebp, eax
sar ebp, 2
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
mov bl, al
push 8
and ebx, 0xff
shl ebx, 8
jmp 0x589728
push 9
mov ecx, esi
call fcn.00610190
mov bl, al
push 0xa
and ebx, 0xff
shl ebx, 8
jmp 0x589728
push 5
mov ecx, esi
call fcn.00610190
mov bl, al
push 6
and ebx, 0xff
shl ebx, 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
add ebx, eax
mov ebp, ebx
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x588250
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 0xa
mov edi, eax
mov ecx, esi
shl edi, 8
sub edi, eax
call fcn.00610190
and eax, 0xff
add edi, eax
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fmul qword [0x6cea60]
jmp 0x58921b
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
imul eax, eax, 0x63
mov ecx, eax
jmp 0x5898a0
push 6
jmp 0x58985a
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
mov eax, 0x80808081
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax + 0xa]
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
sub eax, 0x80
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x589215
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 9
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6d3540]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d3538]
fadd qword [esp + 0x2c]
jmp 0x58921b
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebp, edx
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp case.default.0x588250
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 5
mov ecx, esi
call fcn.00610190
and al, 2
jmp 0x588f8e
lea edx, [esp + 0x18]
push edx
push 0x66
push 0x65
jmp 0x588f83
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.00610190
and eax, 0xff
add ebx, eax
mov eax, 0x91a2b3c5
mov ecx, ebx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x10], dl
mov ecx, 0xe10
cdq
idiv ecx
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x11], dl
mov ecx, 0x3c
cdq
idiv ecx
mov byte [esp + 0x12], dl
mov edx, dword [esp + 0x12]
mov eax, dword [esp + 0x11]
mov ecx, dword [esp + 0x10]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x40]
push str._02d:_02d:_02d
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
call fcn.00414860
cmp eax, ebx
jae 0x5899b8
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5899e3
mov al, byte [edi - 1]
test al, al
je 0x5899e3
cmp al, 0xff
je 0x5899e3
test ebx, ebx
jne 0x589a0f
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138a0
jmp case.default.0x588250
test ebx, ebx
jne 0x5899f7
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp case.default.0x588250
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x589a04
cmp eax, ebx
jae 0x589a1d
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414870
mov edi, dword [esp + 0x1c]
mov ecx, ebx
lea esi, [esp + 0x34]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ebx + ecx], 0
jmp case.default.0x588250
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x18
ja case.default.0x588250
jmp dword [eax*4 + 0x58aa94]
push 5
mov ecx, esi
call fcn.00610190
mov bl, al
push 6
shr bl, 3
mov ecx, esi
and bl, 0x10
call fcn.00610190
shr al, 7
add bl, al
mov byte [esp + 0x2c], bl
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x11
ja case.0x589a98.4
xor ecx, ecx
mov cl, byte [eax + 0x58ab0c]
jmp dword [ecx*4 + 0x58aaf8]
push 0x71
jmp 0x589aad
push 0x72
jmp 0x589aad
push 0x73
jmp 0x589aad
push 0x74
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xf4]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x118], 4
cmp eax, ebx
jae 0x589af3
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x589b18
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
jmp 0x589ba1
test ebx, ebx
jbe 0x589b65
cmp ebx, ecx
jne 0x589b65
mov eax, dword [esi + 4]
test eax, eax
jne 0x589b2c
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x589b65
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x589b49
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x589ba1
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x589ba1
mov esi, dword [esi + 4]
test esi, esi
jne 0x589b81
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0xf4]
mov byte [esp + 0x118], 3
test eax, eax
je case.default.0x588250
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x58a3e4
cmp al, 0xff
je 0x58a3e4
dec al
mov byte [ecx], al
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
test al, 1
push 6
mov ecx, esi
je 0x589bf5
call fcn.00610190
test al, 1
je 0x589bfe
push 0x74
jmp 0x589c04
call fcn.00610190
test al, 1
je 0x589c02
push 0x75
jmp 0x589c04
push 0x77
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x104]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x118], 5
cmp eax, ebx
jae 0x589c4a
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x589c7e
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
mov eax, dword [esp + 0x104]
mov byte [esp + 0x118], 3
jmp 0x589bb0
test ebx, ebx
jbe 0x589cdd
cmp ebx, ecx
jne 0x589cdd
mov eax, dword [esi + 4]
test eax, eax
jne 0x589c92
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x589cdd
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x589caf
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x118], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x104]
jmp 0x589bb0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x589d19
mov esi, dword [esi + 4]
test esi, esi
jne 0x589cf9
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x104]
mov byte [esp + 0x118], 3
jmp 0x589bb0
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
call fcn.00610190
and al, 4
shl al, 2
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x100
jg 0x589d77
je case.0x589d70.1
cmp eax, 0x11
ja case.0x589d70.3
xor edx, edx
mov dl, byte [eax + 0x58ab30]
jmp dword [edx*4 + 0x58ab20]
sub eax, 0x101
je case.0x589d70.0
sub eax, 0xf
je case.0x589d70.2
dec eax
jne case.0x589d70.3
push 0x75
jmp 0x589d90
push 0x74
jmp 0x589d90
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x74]
push ecx
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x118], 6
cmp eax, ebx
jae 0x589dd3
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x589e04
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
mov eax, dword [esp + 0x74]
mov byte [esp + 0x118], 3
jmp 0x589bb0
xor edi, edi
cmp ebx, edi
jbe 0x589e88
cmp ebx, ecx
jne 0x589e88
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x589e1a
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x589e88
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x589e45
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x589e3c
cmp al, 0xff
je 0x589e3c
dec al
mov byte [ecx], al
jmp 0x589e45
push ecx
call fcn.00697880
add esp, 4
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x589e5d
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x118], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x74]
jmp 0x589bb0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x589ec2
mov esi, dword [esi + 4]
test esi, esi
jne 0x589ea4
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.004141f0
mov eax, dword [esp + 0x74]
mov byte [esp + 0x118], 3
jmp 0x589bb0
push 5
mov ecx, esi
call fcn.00610190
test al, 2
push 6
mov ecx, esi
je 0x589ef1
call fcn.00610190
test al, 2
je 0x589efa
push 0x74
jmp 0x589f00
call fcn.00610190
test al, 2
je 0x589efe
push 0x75
jmp 0x589f00
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x54]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x118], 7
cmp edi, ebx
jae 0x589f44
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x589fc5
cmp dword [esp + 0x20], ebx
jae 0x589f57
call fcn.00697ab7
lea ecx, [esp + 0x18]
call fcn.00414980
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x589f6c
mov edi, eax
test edi, edi
jbe 0x589fa7
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414210
test al, al
je 0x589fa7
push esi
lea ecx, [esp + 0x1c]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
mov eax, dword [esp + 0x54]
mov byte [esp + 0x118], 3
jmp 0x589bb0
test ebx, ebx
jbe 0x58a021
cmp ebx, eax
jne 0x58a021
mov eax, dword [esi + 4]
test eax, eax
jne 0x589fd9
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x58a021
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x589ff6
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x118], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x54]
jmp 0x589bb0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x58a05b
mov esi, dword [esi + 4]
test esi, esi
jne 0x58a03d
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.004141f0
mov eax, dword [esp + 0x54]
mov byte [esp + 0x118], 3
jmp 0x589bb0
push 5
mov ecx, esi
call fcn.00610190
test al, 2
push 6
mov ecx, esi
je 0x58a08a
call fcn.00610190
test al, 2
je 0x58a093
push 0x74
jmp 0x58a099
call fcn.00610190
test al, 2
je 0x58a097
push 0x75
jmp 0x58a099
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x94]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x118], 8
cmp edi, ebx
jae 0x58a0e0
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x58a164
cmp dword [esp + 0x20], ebx
jae 0x58a0f3
call fcn.00697ab7
lea ecx, [esp + 0x18]
call fcn.00414980
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x58a108
mov edi, eax
test edi, edi
jbe 0x58a143
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414210
test al, al
je 0x58a143
push esi
lea ecx, [esp + 0x1c]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
mov eax, dword [esp + 0x94]
mov byte [esp + 0x118], 3
jmp 0x589bb0
test ebx, ebx
jbe 0x58a1c3
cmp ebx, eax
jne 0x58a1c3
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a178
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x58a1c3
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a195
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x118], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x94]
jmp 0x589bb0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x58a1fd
mov esi, dword [esi + 4]
test esi, esi
jne 0x58a1df
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.004141f0
mov eax, dword [esp + 0x94]
mov byte [esp + 0x118], 3
jmp 0x589bb0
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
call fcn.00610190
shr al, 1
and al, 0x10
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x100
jg 0x58a25a
je case.0x58a253.1
cmp eax, 0x11
ja case.0x58a253.3
xor ecx, ecx
mov cl, byte [eax + 0x58ab54]
jmp dword [ecx*4 + 0x58ab44]
sub eax, 0x101
je case.0x58a253.0
sub eax, 0xf
je case.0x58a253.2
dec eax
jne case.0x58a253.3
push 0x75
jmp 0x58a273
push 0x74
jmp 0x58a273
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xd4]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x118], 9
cmp edi, ebx
jae 0x58a2ba
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x58a32f
cmp dword [esp + 0x20], ebx
jae 0x58a2cd
call fcn.00697ab7
lea ecx, [esp + 0x18]
call fcn.00414980
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x58a2e2
mov edi, eax
test edi, edi
jbe 0x58a31d
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414210
test al, al
je 0x58a31d
push esi
lea ecx, [esp + 0x1c]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
jmp 0x58a3b6
test ebx, ebx
jbe 0x58a37c
cmp ebx, eax
jne 0x58a37c
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a343
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x58a37c
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a360
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x58a3b6
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x58a3b6
mov esi, dword [esi + 4]
test esi, esi
jne 0x58a398
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.004141f0
mov eax, dword [esp + 0xd4]
mov byte [esp + 0x118], 3
test eax, eax
je case.default.0x588250
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x58a3e4
cmp al, 0xff
je 0x58a3e4
dec al
mov byte [ecx], al
jmp case.default.0x588250
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x588250
push 5
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a403
push 0x6d
jmp 0x58a426
push 5
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a421
push 5
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a421
push 0x75
jmp 0x58a426
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xb4]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x118], 0xa
cmp edi, ebx
jae 0x58a46d
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x58a4e2
cmp dword [esp + 0x20], ebx
jae 0x58a480
call fcn.00697ab7
lea ecx, [esp + 0x18]
call fcn.00414980
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x58a495
mov edi, eax
test edi, edi
jbe 0x58a4d0
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414210
test al, al
je 0x58a4d0
push esi
lea ecx, [esp + 0x1c]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
jmp 0x58a56b
test ebx, ebx
jbe 0x58a52f
cmp ebx, eax
jne 0x58a52f
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a4f6
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x58a52f
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x58a513
mov eax, 0x6ce1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x58a56b
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x58a56b
mov esi, dword [esi + 4]
test esi, esi
jne 0x58a54b
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [ebx + ecx], 0
lea ecx, [esp + 0xb0]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
push 6
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a595
push 0x6d
jmp 0x58a5b8
push 6
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a5b3
push 6
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a5b3
push 0x75
jmp 0x58a5b8
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x64]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xb
call fcn.0044fd20
lea ecx, [esp + 0x60]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
push 7
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a61a
push 0x6d
jmp 0x58a63d
push 7
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a638
push 7
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a638
push 0x75
jmp 0x58a63d
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x84]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xc
call fcn.0044fd20
lea ecx, [esp + 0x80]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
push 8
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a6a5
push 0x6d
jmp 0x58a6c8
push 8
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a6c3
push 8
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a6c3
push 0x75
jmp 0x58a6c8
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xa4]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xd
call fcn.0044fd20
lea ecx, [esp + 0xa0]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
push 9
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a730
push 0x6d
jmp 0x58a753
push 9
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a74e
push 9
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a74e
push 0x75
jmp 0x58a753
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xc4]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xe
call fcn.0044fd20
lea ecx, [esp + 0xc0]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
push 0xa
mov ecx, esi
call fcn.00610190
test al, al
jne 0x58a7bb
push 0x6d
jmp 0x58a7de
push 0xa
mov ecx, esi
call fcn.00610190
test al, al
jbe 0x58a7d9
push 0xa
mov ecx, esi
call fcn.00610190
cmp al, 8
jae 0x58a7d9
push 0x75
jmp 0x58a7de
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.006102b0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xe4]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xf
call fcn.0044fd20
lea ecx, [esp + 0xe0]
mov byte [esp + 0x118], 3
call fcn.004131d0
jmp case.default.0x588250
lea ecx, [esp + 0x18]
push ecx
push 0x6a
push 0x69
push 5
mov ecx, esi
call fcn.00610190
and al, 0x40
jmp 0x588f8e