Function at 0x595850
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x6cd487
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 0x7147a4
lea ecx, [esp + 0x30]
mov byte [esp + 0x120], 2
call fcn.0061d820
push 4
lea ecx, [esp + 0x128]
mov byte [esp + 0x11c], 3
call fcn.0061daa0
push 5
lea ecx, [esp + 0x128]
mov byte [esp + 0x14], al
call fcn.0061daa0
lea esi, [edi + 8]
mov byte [esp + 0x2c], al
mov ecx, esi
xor ebp, ebp
call fcn.0061dc40
cmp ax, 0xa
jge 0x595a21
push 0x71386c
lea ecx, [esp + 0x38]
push 0x713868
push ecx
call fcn.006a6fa5
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.00414a50
cmp eax, ebp
jae 0x595929
call fcn.006a64db
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x595951
mov al, byte [edi - 1]
test al, al
je 0x595951
cmp al, 0xff
je 0x595951
cmp ebp, ebx
jne 0x59597a
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5959a8
cmp ebp, ebx
jne 0x595962
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5959a8
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x59596f
cmp eax, ebp
jae 0x595988
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414a60
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 [0x6dd1fc]
mov ecx, esi
push edx
push ebx
push eax
call fcn.004136c0
mov dword [esp + 0x4c], 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x118], 2
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x595a10
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x595a07
cmp al, 0xff
je 0x595a07
dec al
mov byte [ecx], al
jmp 0x595a10
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
jmp 0x596801
mov eax, dword [esp + 0x10]
and eax, 0xff
cmp eax, 4
ja case.default.0x595a50
jmp dword [eax*4 + 0x598050]
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x25
ja case.default.0x595a50
jmp dword [eax*4 + 0x598064]
push 5
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
mov bl, al
call fcn.0061daa0
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.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
shl eax, 3
mov ebp, eax
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 9
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
push 5
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6dda90]
fstp qword [esp + 0x30]
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ddb78]
fadd qword [esp + 0x2c]
jmp 0x596a1b
push 7
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 9
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 0xa
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
lea ecx, [esp + 0x18]
push ecx
push 3
push 4
push 6
mov ecx, esi
call fcn.0061daa0
and al, 8
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 8
push 7
push 6
call fcn.0061daa0
and al, 8
jmp 0x59678e
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*8]
jmp 0x5970a0
push 8
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 9
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 9
jmp 0x59708b
push 0xa
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd240]
jmp 0x596a1b
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push 6
mov ecx, esi
call fcn.0061daa0
and al, 8
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 2
push 1
push 7
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6c
push 0x6b
push 9
call fcn.0061daa0
and al, 1
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 4
push 3
push 0xa
mov ecx, esi
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x6c
push 0x6b
push 9
call fcn.0061daa0
and al, 1
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x23
push 0xa
push 9
call fcn.0061daa0
and al, 0x20
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x24
push 3
push 9
mov ecx, esi
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x80
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
jmp case.default.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 8
mov ecx, esi
call fcn.0061daa0
push 9
mov ecx, esi
mov bl, al
call fcn.0061daa0
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.0x595a50
lea ecx, [esp + 0x18]
push ecx
push 8
push 7
push 5
mov ecx, esi
call fcn.0061daa0
and al, 0x80
jmp 0x59678e
push 6
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
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.006a6fa5
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.00414a50
cmp eax, ebx
jae 0x595fa1
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x595fb8
mov al, byte [edi - 1]
test al, al
je 0x595fb8
cmp al, 0xff
jne 0x5971cb
test ebx, ebx
jne 0x595fcc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp case.default.0x595a50
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x597204
jmp 0x597200
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x30
ja case.default.0x595a50
jmp dword [eax*4 + 0x5980fc]
push 7
mov ecx, esi
call fcn.0061daa0
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 0x5970a0
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 9
mov ecx, esi
call fcn.0061daa0
push 0xa
mov ecx, esi
mov bl, al
call fcn.0061daa0
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.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
and al, 0x7f
cmp al, 0xd
mov byte [esp + 0x2c], al
jae 0x5960e1
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x1a
jae 0x596137
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x27
jae 0x59618d
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x34
jae 0x5961e5
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x40
jae 0x59623f
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x4d
jae 0x596295
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x5a
jae 0x5962ed
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x67
jae 0x596345
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x74
jae 0x59639b
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
cmp al, 0x80
jae case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
push 9
mov ecx, esi
mov bl, al
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
movsx ecx, bl
fmul qword [0x6dda90]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x6ddb78]
faddp st(1)
jmp 0x596a1b
push 0xa
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 6
mov ecx, esi
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e2580]
fadd qword [esp + 0x2c]
jmp 0x596a1b
lea edx, [esp + 0x18]
push edx
push 8
push 7
push 7
jmp 0x596785
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 9
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 5
call fcn.0061daa0
and al, 8
jmp 0x59678e
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
lea edx, [esp + 0x34]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd240]
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.006a6fa5
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.00414a50
cmp eax, ebx
jae 0x5965e1
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x595fb8
mov al, byte [edi - 1]
test al, al
je 0x595fb8
jmp 0x595fb0
push 7
mov ecx, esi
call fcn.0061daa0
push 8
mov ecx, esi
call fcn.0061daa0
jmp case.default.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd240]
jmp 0x596a1b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 6
call fcn.0061daa0
and al, 1
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 6
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x6d
push 0x6e
push 7
mov ecx, esi
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 7
call fcn.0061daa0
and al, 0x20
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 7
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x6d
push 0x6e
push 8
mov ecx, esi
call fcn.0061daa0
and al, 0x10
jmp 0x59678e
push 9
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 0xa
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 0xa
mov ecx, esi
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x6c
push 0x6b
push 5
call fcn.0061daa0
and al, 1
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x6a
push 0x69
push 6
call fcn.0061daa0
and al, 1
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 6
mov ecx, esi
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea edx, [esp + 0x18]
push edx
push 0x6a
push 0x69
push 6
mov ecx, esi
call fcn.0061daa0
and al, 4
push eax
mov ecx, edi
call fcn.0059c6f0
push ebp
lea edx, [esp + 0x38]
push 0x713498
push edx
call fcn.006a6fa5
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.004cfb90
test eax, eax
jne 0x5967c4
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.004cfae0
mov esi, dword [esp + 0x120]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00413060
lea ecx, [esp + 0x28]
mov dword [esp + 0x4c], 1
mov byte [esp + 0x118], 2
call fcn.0061d8c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x118], 1
call fcn.00419a10
lea ecx, [esp + 0x124]
mov byte [esp + 0x118], 0
call fcn.0061d8c0
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.0061daa0
and al, 0x20
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 6
mov ecx, esi
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x64
push 0x63
push 6
call fcn.0061daa0
and al, 0x80
jmp 0x59678e
push 8
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x59689e
push 9
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x59689e
xor ebp, ebp
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 9
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
and eax, 0xff
add ebx, eax
mov eax, 0x140000
cdq
idiv ebx
mov ebp, eax
jmp case.default.0x595a50
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0xd1
push 0xd0
push 0xa
call fcn.0061daa0
and al, 0x40
jmp 0x59678e
lea ecx, [esp + 0x18]
push ecx
push 0x6a
push 0x69
push 6
mov ecx, esi
call fcn.0061daa0
and al, 0x20
jmp 0x59678e
push 6
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
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.006a6fa5
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.00414a50
cmp eax, ebx
jae 0x5969cb
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5969e2
mov al, byte [edi - 1]
test al, al
je 0x5969e2
cmp al, 0xff
jne 0x5971cb
test ebx, ebx
jne 0x595fcc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x80
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd858]
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.006a6fa5
add esp, 0x10
jmp 0x5967a9
push 5
mov ecx, esi
call fcn.0061daa0
push 5
mov ecx, esi
mov bl, al
call fcn.0061daa0
test al, al
jne 0x596a6c
push 6
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x596a6c
xor ebp, ebp
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 7
jmp 0x59708b
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 8
mov ecx, esi
call fcn.0061daa0
and al, 0x80
jmp 0x59678e
push 7
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x19
ja case.default.0x595a50
jmp dword [eax*4 + 0x5981c0]
push 5
jmp 0x59708b
push 6
jmp 0x595d0a
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6df3f8]
jmp 0x596a1b
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
and eax, 0xff
add ebx, eax
mov dword [esp + 0x10], ebx
fild dword [esp + 0x10]
fmul qword [0x6dda90]
jmp 0x596a1b
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
imul eax, eax, 0x63
mov ecx, eax
jmp 0x595d1f
push 9
mov ecx, esi
call fcn.0061daa0
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 0x596a1b
push 0xa
mov ecx, esi
call fcn.0061daa0
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.0x595a50
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x63
push 0x64
push 6
call fcn.0061daa0
and al, 8
jmp 0x59678e
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ecx, eax
lea eax, [ecx + ecx*4]
lea ecx, [ecx + eax*2]
shl ecx, 1
jmp 0x595d1f
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd240]
jmp 0x596a1b
lea edx, [esp + 0x18]
mov ecx, esi
push edx
push 0x68
push 0x67
push 9
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x66
push 0x65
push 5
call fcn.0061daa0
and al, 8
jmp 0x59678e
push 7
mov ecx, esi
call fcn.0061daa0
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.0061daa0
and eax, 0xff
shl eax, 6
add ebp, eax
jmp case.default.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 6
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
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.006a6fa5
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.00414a50
cmp eax, ebx
jae 0x596e26
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x596e3d
mov al, byte [edi - 1]
test al, al
je 0x596e3d
cmp al, 0xff
jne 0x5971cb
test ebx, ebx
jne 0x595fcc
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp case.default.0x595a50
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x1a
ja case.default.0x595a50
jmp dword [eax*4 + 0x598228]
push 5
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
mov bl, al
call fcn.0061daa0
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.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 8
and ebx, 0xff
shl ebx, 8
jmp 0x596f28
push 9
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 0xa
and ebx, 0xff
shl ebx, 8
jmp 0x596f28
push 5
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 6
and ebx, 0xff
shl ebx, 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
add ebx, eax
mov ebp, ebx
jmp case.default.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x28
mov ebp, eax
jmp case.default.0x595a50
push 9
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
push 0xa
mov edi, eax
mov ecx, esi
shl edi, 8
sub edi, eax
call fcn.0061daa0
and eax, 0xff
add edi, eax
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fmul qword [0x6dda90]
jmp 0x596a1b
push 5
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
imul eax, eax, 0x63
mov ecx, eax
jmp 0x5970a0
push 6
jmp 0x59705a
push 7
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
sub eax, 0x80
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x596a15
push 0xa
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
push 9
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6e2578]
fstp qword [esp + 0x30]
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e2570]
fadd qword [esp + 0x2c]
jmp 0x596a1b
push 5
mov ecx, esi
call fcn.0061daa0
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.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
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.0x595a50
lea ecx, [esp + 0x18]
push ecx
push 0x64
push 0x63
push 5
mov ecx, esi
call fcn.0061daa0
and al, 2
jmp 0x59678e
lea edx, [esp + 0x18]
push edx
push 0x66
push 0x65
jmp 0x596783
push 5
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 7
and ebx, 0xff
mov ecx, esi
shl ebx, 8
call fcn.0061daa0
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.006a6fa5
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.00414a50
cmp eax, ebx
jae 0x5971b8
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5971e3
mov al, byte [edi - 1]
test al, al
je 0x5971e3
cmp al, 0xff
je 0x5971e3
test ebx, ebx
jne 0x59720f
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp case.default.0x595a50
test ebx, ebx
jne 0x5971f7
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp case.default.0x595a50
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x597204
cmp eax, ebx
jae 0x59721d
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414a60
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.0x595a50
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x18
ja case.default.0x595a50
jmp dword [eax*4 + 0x598294]
push 5
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 6
shr bl, 3
mov ecx, esi
and bl, 0x10
call fcn.0061daa0
shr al, 7
add bl, al
mov byte [esp + 0x2c], bl
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x11
ja case.0x597298.4
xor ecx, ecx
mov cl, byte [eax + 0x59830c]
jmp dword [ecx*4 + 0x5982f8]
push 0x71
jmp 0x5972ad
push 0x72
jmp 0x5972ad
push 0x73
jmp 0x5972ad
push 0x74
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xf4]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6dd1fc]
mov ebx, ecx
mov byte [esp + 0x118], 4
cmp eax, ebx
jae 0x5972f3
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x597318
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5973a1
test ebx, ebx
jbe 0x597365
cmp ebx, ecx
jne 0x597365
mov eax, dword [esi + 4]
test eax, eax
jne 0x59732c
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x597365
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x597349
mov eax, 0x6dd1f8
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 0x5973a1
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5973a1
mov esi, dword [esi + 4]
test esi, esi
jne 0x597381
mov esi, 0x6dd1f8
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.0x595a50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x597be4
cmp al, 0xff
je 0x597be4
dec al
mov byte [ecx], al
jmp case.default.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
test al, 1
push 6
mov ecx, esi
je 0x5973f5
call fcn.0061daa0
test al, 1
je 0x5973fe
push 0x74
jmp 0x597404
call fcn.0061daa0
test al, 1
je 0x597402
push 0x75
jmp 0x597404
push 0x77
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x104]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6dd1fc]
mov ebx, ecx
mov byte [esp + 0x118], 5
cmp eax, ebx
jae 0x59744a
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x59747e
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
mov eax, dword [esp + 0x104]
mov byte [esp + 0x118], 3
jmp 0x5973b0
test ebx, ebx
jbe 0x5974dd
cmp ebx, ecx
jne 0x5974dd
mov eax, dword [esi + 4]
test eax, eax
jne 0x597492
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5974dd
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5974af
mov eax, 0x6dd1f8
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 0x5973b0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x597519
mov esi, dword [esi + 4]
test esi, esi
jne 0x5974f9
mov esi, 0x6dd1f8
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 0x5973b0
push 5
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
call fcn.0061daa0
and al, 4
shl al, 2
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x100
jg 0x597577
je case.0x597570.1
cmp eax, 0x11
ja case.0x597570.3
xor edx, edx
mov dl, byte [eax + 0x598330]
jmp dword [edx*4 + 0x598320]
sub eax, 0x101
je case.0x597570.0
sub eax, 0xf
je case.0x597570.2
dec eax
jne case.0x597570.3
push 0x75
jmp 0x597590
push 0x74
jmp 0x597590
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0061d790
lea ecx, [esp + 0x74]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6dd1fc]
mov ebx, ecx
mov byte [esp + 0x118], 6
cmp eax, ebx
jae 0x5975d3
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x597604
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
mov eax, dword [esp + 0x74]
mov byte [esp + 0x118], 3
jmp 0x5973b0
xor edi, edi
cmp ebx, edi
jbe 0x597688
cmp ebx, ecx
jne 0x597688
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x59761a
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x597688
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x597645
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x59763c
cmp al, 0xff
je 0x59763c
dec al
mov byte [ecx], al
jmp 0x597645
push ecx
call fcn.006a64d0
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 0x59765d
mov eax, 0x6dd1f8
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 0x5973b0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5976c2
mov esi, dword [esi + 4]
test esi, esi
jne 0x5976a4
mov esi, 0x6dd1f8
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.00414210
mov eax, dword [esp + 0x74]
mov byte [esp + 0x118], 3
jmp 0x5973b0
push 5
mov ecx, esi
call fcn.0061daa0
test al, 2
push 6
mov ecx, esi
je 0x5976f1
call fcn.0061daa0
test al, 2
je 0x5976fa
push 0x74
jmp 0x597700
call fcn.0061daa0
test al, 2
je 0x5976fe
push 0x75
jmp 0x597700
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x54]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0x118], 7
cmp edi, ebx
jae 0x597744
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x5977c5
cmp dword [esp + 0x20], ebx
jae 0x597757
call fcn.006a6707
lea ecx, [esp + 0x18]
call fcn.00414b70
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x59776c
mov edi, eax
test edi, edi
jbe 0x5977a7
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.006a6c70
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414230
test al, al
je 0x5977a7
push esi
lea ecx, [esp + 0x1c]
call fcn.00414210
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
mov eax, dword [esp + 0x54]
mov byte [esp + 0x118], 3
jmp 0x5973b0
test ebx, ebx
jbe 0x597821
cmp ebx, eax
jne 0x597821
mov eax, dword [esi + 4]
test eax, eax
jne 0x5977d9
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x597821
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5977f6
mov eax, 0x6dd1f8
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 0x5973b0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x59785b
mov esi, dword [esi + 4]
test esi, esi
jne 0x59783d
mov esi, 0x6dd1f8
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.00414210
mov eax, dword [esp + 0x54]
mov byte [esp + 0x118], 3
jmp 0x5973b0
push 5
mov ecx, esi
call fcn.0061daa0
test al, 2
push 6
mov ecx, esi
je 0x59788a
call fcn.0061daa0
test al, 2
je 0x597893
push 0x74
jmp 0x597899
call fcn.0061daa0
test al, 2
je 0x597897
push 0x75
jmp 0x597899
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x94]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0x118], 8
cmp edi, ebx
jae 0x5978e0
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x597964
cmp dword [esp + 0x20], ebx
jae 0x5978f3
call fcn.006a6707
lea ecx, [esp + 0x18]
call fcn.00414b70
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x597908
mov edi, eax
test edi, edi
jbe 0x597943
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.006a6c70
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414230
test al, al
je 0x597943
push esi
lea ecx, [esp + 0x1c]
call fcn.00414210
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
mov eax, dword [esp + 0x94]
mov byte [esp + 0x118], 3
jmp 0x5973b0
test ebx, ebx
jbe 0x5979c3
cmp ebx, eax
jne 0x5979c3
mov eax, dword [esi + 4]
test eax, eax
jne 0x597978
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5979c3
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x597995
mov eax, 0x6dd1f8
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 0x5973b0
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5979fd
mov esi, dword [esi + 4]
test esi, esi
jne 0x5979df
mov esi, 0x6dd1f8
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.00414210
mov eax, dword [esp + 0x94]
mov byte [esp + 0x118], 3
jmp 0x5973b0
push 5
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
call fcn.0061daa0
push 6
mov ecx, esi
call fcn.0061daa0
shr al, 1
and al, 0x10
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x2c]
and eax, 0xff
cmp eax, 0x100
jg 0x597a5a
je case.0x597a53.1
cmp eax, 0x11
ja case.0x597a53.3
xor ecx, ecx
mov cl, byte [eax + 0x598354]
jmp dword [ecx*4 + 0x598344]
sub eax, 0x101
je case.0x597a53.0
sub eax, 0xf
je case.0x597a53.2
dec eax
jne case.0x597a53.3
push 0x75
jmp 0x597a73
push 0x74
jmp 0x597a73
push 0x6d
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xd4]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0x118], 9
cmp edi, ebx
jae 0x597aba
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x597b2f
cmp dword [esp + 0x20], ebx
jae 0x597acd
call fcn.006a6707
lea ecx, [esp + 0x18]
call fcn.00414b70
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x597ae2
mov edi, eax
test edi, edi
jbe 0x597b1d
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.006a6c70
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414230
test al, al
je 0x597b1d
push esi
lea ecx, [esp + 0x1c]
call fcn.00414210
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x597bb6
test ebx, ebx
jbe 0x597b7c
cmp ebx, eax
jne 0x597b7c
mov eax, dword [esi + 4]
test eax, eax
jne 0x597b43
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x597b7c
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x597b60
mov eax, 0x6dd1f8
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 0x597bb6
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x597bb6
mov esi, dword [esi + 4]
test esi, esi
jne 0x597b98
mov esi, 0x6dd1f8
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.00414210
mov eax, dword [esp + 0xd4]
mov byte [esp + 0x118], 3
test eax, eax
je case.default.0x595a50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x597be4
cmp al, 0xff
je 0x597be4
dec al
mov byte [ecx], al
jmp case.default.0x595a50
push ecx
call fcn.006a64d0
add esp, 4
jmp case.default.0x595a50
push 5
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597c03
push 0x6d
jmp 0x597c26
push 5
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597c21
push 5
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597c21
push 0x75
jmp 0x597c26
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xb4]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6dd1fc]
mov ebx, eax
mov byte [esp + 0x118], 0xa
cmp edi, ebx
jae 0x597c6d
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x597ce2
cmp dword [esp + 0x20], ebx
jae 0x597c80
call fcn.006a6707
lea ecx, [esp + 0x18]
call fcn.00414b70
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x597c95
mov edi, eax
test edi, edi
jbe 0x597cd0
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.006a6c70
mov esi, dword [esp + 0x2c]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x18]
push 0
push esi
call fcn.00414230
test al, al
je 0x597cd0
push esi
lea ecx, [esp + 0x1c]
call fcn.00414210
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x597d6b
test ebx, ebx
jbe 0x597d2f
cmp ebx, eax
jne 0x597d2f
mov eax, dword [esi + 4]
test eax, eax
jne 0x597cf6
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x597d2f
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x597d13
mov eax, 0x6dd1f8
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 0x597d6b
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x597d6b
mov esi, dword [esi + 4]
test esi, esi
jne 0x597d4b
mov esi, 0x6dd1f8
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.00419a10
jmp case.default.0x595a50
push 6
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597d95
push 0x6d
jmp 0x597db8
push 6
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597db3
push 6
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597db3
push 0x75
jmp 0x597db8
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x64]
push eax
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xb
call fcn.00452520
lea ecx, [esp + 0x60]
mov byte [esp + 0x118], 3
call fcn.00419a10
jmp case.default.0x595a50
push 7
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597e1a
push 0x6d
jmp 0x597e3d
push 7
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597e38
push 7
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597e38
push 0x75
jmp 0x597e3d
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0x84]
push eax
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xc
call fcn.00452520
lea ecx, [esp + 0x80]
mov byte [esp + 0x118], 3
call fcn.00419a10
jmp case.default.0x595a50
push 8
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597ea5
push 0x6d
jmp 0x597ec8
push 8
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597ec3
push 8
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597ec3
push 0x75
jmp 0x597ec8
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xa4]
push eax
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xd
call fcn.00452520
lea ecx, [esp + 0xa0]
mov byte [esp + 0x118], 3
call fcn.00419a10
jmp case.default.0x595a50
push 9
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597f30
push 0x6d
jmp 0x597f53
push 9
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597f4e
push 9
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597f4e
push 0x75
jmp 0x597f53
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xc4]
push eax
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xe
call fcn.00452520
lea ecx, [esp + 0xc0]
mov byte [esp + 0x118], 3
call fcn.00419a10
jmp case.default.0x595a50
push 0xa
mov ecx, esi
call fcn.0061daa0
test al, al
jne 0x597fbb
push 0x6d
jmp 0x597fde
push 0xa
mov ecx, esi
call fcn.0061daa0
test al, al
jbe 0x597fd9
push 0xa
mov ecx, esi
call fcn.0061daa0
cmp al, 8
jae 0x597fd9
push 0x75
jmp 0x597fde
push 0xd2
push 5
lea ecx, [esp + 0x30]
call fcn.0061dbc0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0061d790
lea eax, [esp + 0xe4]
push eax
call fcn.0061ca80
add esp, 8
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x11c], 0xf
call fcn.00452520
lea ecx, [esp + 0xe0]
mov byte [esp + 0x118], 3
call fcn.00419a10
jmp case.default.0x595a50
lea ecx, [esp + 0x18]
push ecx
push 0x6a
push 0x69
push 5
mov ecx, esi
call fcn.0061daa0
and al, 0x40
jmp 0x59678e