Function at 0x5bbbf0
Capabilities:
Check os version
Encrypt data using rc4 ksa

Disassembly:
push 0xffffffffffffffff
push 0x6c13fc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
push ebx
push ebp
push esi
push edi
xor edi, edi
mov esi, ecx
mov dword [esp + 0x34], edi
mov al, byte [esp + 0x3b]
mov dword [esp + 0x13c], 1
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0060d180
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.00546ec0
mov ecx, dword [0x7109c4]
mov edx, dword [0x7109c8]
mov al, byte [0x7109cc]
mov dword [esp + 0x50], ecx
push 6
push 0x704698
lea ecx, [esp + 0x30]
mov byte [esp + 0x144], 4
mov dword [esp + 0x5c], edx
mov byte [esp + 0x60], al
call fcn.0060ff10
push 4
lea ecx, [esp + 0x14c]
mov byte [esp + 0x140], 5
call fcn.00610190
push 5
lea ecx, [esp + 0x14c]
mov byte [esp + 0x14], al
call fcn.00610190
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x2c], al
and ebx, 0xff
cmp ebx, 6
ja case.default.0x5bbccb
jmp dword [ebx*4 + 0x5bdd20]
mov al, 2
jmp 0x5bbcf2
mov al, 1
jmp 0x5bbcf2
mov al, 0xb
jmp 0x5bbcf2
mov al, 5
jmp 0x5bbcf2
mov al, 4
jmp 0x5bbcf2
mov al, 7
jmp 0x5bbcf2
mov al, 6
jmp 0x5bbcf2
mov al, byte [esp + 0x3b]
mov cl, byte [0x71bb5c]
test cl, cl
je 0x5bbd26
lea ebp, [esi + 8]
call fcn.00698605
cdq
mov ecx, 0xff
idiv ecx
mov ecx, ebp
push edx
push edi
call fcn.006102b0
inc edi
cmp di, 0x32
jl 0x5bbcff
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x5bbd7a
mov cl, byte [esi + 0xc]
mov byte [esp + 0x56], al
cmp al, cl
je 0x5bbd7a
cmp al, 0xff
je 0x5bbd7a
sub esp, 0x24
mov byte [esi + 0xc], al
mov edx, esp
mov dword [esp + 0x34], esp
lea eax, [esp + 0x74]
push 1
push eax
push edx
lea ecx, [esp + 0xb0]
call fcn.00547f90
lea ecx, [esp + 0x80]
call fcn.0060d330
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push ecx
lea ecx, [esp + 0x64]
call fcn.0060d6b0
lea ecx, [esi + 8]
call fcn.006101a0
xor ebp, ebp
cmp ebx, 6
ja case.default.0x5bbe49
jmp dword [ebx*4 + 0x5bdd3c]
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0x20
jge 0x5bbe33
push 0x70386c
lea edx, [esp + 0x40]
push 0x703868
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00414210
test al, al
je 0x5bbdfb
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x3c]
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 [ecx + ebx], 0
mov esi, dword [esp + 0x144]
mov dl, byte [esp + 0x18]
xor edi, edi
lea ecx, [esp + 0x18]
mov byte [esi], dl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov eax, dword [0x6ce1fc]
push eax
push edi
push ecx
mov ecx, esi
call fcn.004136a0
mov dword [esp + 0x34], 1
jmp 0x5bd22f
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0xd
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bdd58]
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 6
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
lea ebp, [edx + eax - 0x30]
jmp case.default.0x5bbe49
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 6
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
lea ebp, [edx + ecx - 0x30]
jmp case.default.0x5bbe49
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x5bbe49
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6ce240]
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x44]
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x5bc0b2
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x5bbe49
push 0xa
mov ecx, esi
call fcn.00610190
mov bl, al
push 0xb
and ebx, 0xff
shl ebx, 8
jmp 0x5bdb0d
push 0xc
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 0xd
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*4]
mov eax, 0x80808081
imul ecx
mov edi, edx
add edi, ecx
mov ecx, esi
sar edi, 7
mov eax, edi
shr eax, 0x1f
add edi, eax
call fcn.00610190
and eax, 0xff
shl eax, 1
jmp 0x5bd11e
push 0xe
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 0xf
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*4]
mov eax, 0x80808081
imul ecx
mov edi, edx
add edi, ecx
mov ecx, esi
sar edi, 7
mov edx, edi
shr edx, 0x1f
add edi, edx
call fcn.00610190
and eax, 0xff
shl eax, 1
jmp 0x5bd11e
push 0x10
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6cea60]
jmp 0x5bbee1
push 0x13
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 0x12
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6d4860]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d4858]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x1c
mov ecx, esi
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
jmp 0x5bc08a
push 0x1d
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
jmp 0x5bc09d
push 0x1e
jmp 0x5bc026
push 0x20
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*2]
shl ecx, 1
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
push ebp
lea edx, [esp + 0x40]
push 0x703498
push edx
call fcn.00698355
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x5bdb79
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x5bc0d8
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5bdb22
mov al, byte [edi - 1]
test al, al
je 0x5bdb22
cmp al, 0xff
je 0x5bdb22
test ebx, ebx
jne 0x5bdb4b
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x5bdb79
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0x19
jge 0x5bc1ac
push 0x70386c
lea ecx, [esp + 0x40]
push 0x703868
push ecx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00414210
test al, al
je 0x5bc182
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x3c]
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], ebx
mov byte [eax + ebx], 0
mov esi, dword [esp + 0x144]
mov cl, byte [esp + 0x18]
xor edi, edi
lea eax, [esp + 0x18]
mov byte [esi], cl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov edx, dword [0x6ce1fc]
push edx
push edi
push eax
jmp 0x5bd220
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 8
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bdd90]
push 5
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5bc241
call fcn.00610190
and eax, 0xff
push 5
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 5
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fsub qword [0x6d4848]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 7
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 8
mov ecx, esi
jae 0x5bc326
call fcn.00610190
and eax, 0xff
push 7
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 7
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fsub qword [0x6d4848]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 9
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0xa
mov ecx, esi
jae 0x5bc40b
call fcn.00610190
and eax, 0xff
push 9
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 9
mov ecx, eax
mov eax, 0x80808081
lea ecx, [ecx + ecx*2]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
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 [0x6d4850]
fsub qword [0x6d4848]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0xb
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0xc
mov ecx, esi
jae 0x5bc4f1
call fcn.00610190
and eax, 0xff
push 0xb
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 0xb
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x19
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x1a
mov ecx, esi
jae 0x5bc5d8
call fcn.00610190
and eax, 0xff
push 0x19
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 0x19
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x1b
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x1c
mov ecx, esi
jae 0x5bc6bf
call fcn.00610190
and eax, 0xff
push 0x1b
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 0x1b
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x1f
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x1f
mov ecx, esi
jae 0x5bc77f
call fcn.00610190
and eax, 0xff
push 0x20
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6d4850]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d4830]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 0x20
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6d4850]
fsub qword [0x6d4848]
fstp qword [esp + 0x30]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6d4830]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x21
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x22
mov ecx, esi
jae 0x5bc80d
call fcn.00610190
and eax, 0xff
push 0x21
mov 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
add ebp, eax
jmp case.default.0x5bbe49
call fcn.00610190
and eax, 0xff
push 0x21
mov ecx, eax
mov eax, 0x80808081
imul ecx
mov edi, edx
add edi, ecx
mov ecx, esi
sar edi, 7
mov eax, edi
shr eax, 0x1f
add edi, eax
call fcn.00610190
and eax, 0xff
lea ebp, [edi + eax - 0x100]
jmp case.default.0x5bbe49
push 0x23
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x24
mov ecx, esi
jae 0x5bc8c1
call fcn.00610190
and eax, 0xff
push 0x23
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
mov eax, 0x51eb851f
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, esi
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 0x23
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
mov eax, 0x51eb851f
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, esi
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0x18
jge 0x5bc9a3
push 0x70386c
lea ecx, [esp + 0x40]
push 0x703868
push ecx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00414210
test al, al
je 0x5bc182
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x3c]
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], ebx
mov byte [ebx + eax], 0
jmp 0x5bc182
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bddb4]
push 5
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bc9d1
push 3
jmp 0x5bc9d3
push 4
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 + 0x108]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x13c], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136a0
mov eax, dword [esp + 0x108]
mov byte [esp + 0x13c], 5
test eax, eax
je case.default.0x5bbe49
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5bd806
cmp al, 0xff
je 0x5bd806
dec al
mov byte [ecx], al
jmp case.default.0x5bbe49
push 6
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bca61
push 0x34
jmp 0x5bca63
push 4
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 + 0xe8]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x13c], 7
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136a0
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 0x16
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bcacf
push 3
jmp 0x5bcad1
push 4
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 + 0xa8]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x13c], 8
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136a0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 0x17
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bcb3d
push 7
jmp 0x5bcb3f
push 8
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 + 0x128]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x13c], 9
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136a0
mov eax, dword [esp + 0x128]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 0x18
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bcbab
push 7
jmp 0x5bcbad
push 8
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 + 0xf8]
push eax
call fcn.0060f170
add esp, 8
mov ecx, dword [0x6ce1fc]
mov byte [esp + 0x13c], 0xa
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136a0
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0xb
jge 0x5bcc7c
push 0x70386c
lea edx, [esp + 0x40]
push 0x703868
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00414210
test al, al
je 0x5bd1fc
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x3c]
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 0x5bd1fc
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 3
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bddc8]
push 5
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 5
mov ecx, esi
jae 0x5bccd8
call fcn.00610190
and eax, 0xff
push 6
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov eax, edi
shr eax, 0x1f
add edi, eax
jmp 0x5bd112
call fcn.00610190
and eax, 0xff
push 6
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
jmp 0x5bce45
push 7
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 7
mov ecx, esi
jae 0x5bcd45
call fcn.00610190
and eax, 0xff
push 8
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
jmp 0x5bd112
call fcn.00610190
and eax, 0xff
push 8
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov edx, edi
shr edx, 0x1f
add edi, edx
jmp 0x5bce45
push 9
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 9
mov ecx, esi
jae 0x5bcdb2
call fcn.00610190
and eax, 0xff
push 0xa
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
jmp 0x5bd112
call fcn.00610190
and eax, 0xff
push 0xa
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov edx, edi
shr edx, 0x1f
add edi, edx
jmp 0x5bce45
push 0xb
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0xb
mov ecx, esi
jae 0x5bce1c
call fcn.00610190
and eax, 0xff
push 0xc
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov ecx, edi
shr ecx, 0x1f
add edi, ecx
jmp 0x5bd112
call fcn.00610190
and eax, 0xff
push 0xc
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov edx, edi
shr edx, 0x1f
add edi, edx
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, edi
lea ebp, [eax + edx - 0x61]
jmp case.default.0x5bbe49
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0x1b
jl 0x5bc127
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bddd8]
push 5
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5bcf19
call fcn.00610190
and eax, 0xff
push 5
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 5
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 7
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 8
mov ecx, esi
jae 0x5bd000
call fcn.00610190
and eax, 0xff
push 7
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
call fcn.00610190
and eax, 0xff
push 7
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
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 [0x6d4840]
fsub qword [0x6d4838]
fadd qword [esp + 0x2c]
jmp 0x5bbee1
push 0x19
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x19
mov ecx, esi
jae 0x5bd0aa
call fcn.00610190
and eax, 0xff
push 0x1a
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov edx, edi
shr edx, 0x1f
add edi, edx
jmp 0x5bd112
call fcn.00610190
and eax, 0xff
push 0x1a
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov eax, edi
shr eax, 0x1f
add edi, eax
jmp 0x5bd163
push 0x1b
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x1b
mov ecx, esi
jae 0x5bd13a
call fcn.00610190
and eax, 0xff
push 0x1c
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov edx, edi
shr edx, 0x1f
add edi, edx
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ebp, edx
add edx, edi
shr ebp, 0x1f
add ebp, edx
jmp case.default.0x5bbe49
call fcn.00610190
and eax, 0xff
push 0x1c
mov ecx, eax
mov eax, 0x81020409
lea ecx, [ecx + ecx*2]
shl ecx, 4
imul ecx
mov edi, edx
add edi, ecx
sar edi, 6
mov eax, edi
shr eax, 0x1f
add edi, eax
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, edi
lea ebp, [ecx + edx - 0x61]
jmp case.default.0x5bbe49
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0xd
jge 0x5bd2b1
push 0x70386c
lea edx, [esp + 0x40]
push 0x703868
push edx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00414210
test al, al
je 0x5bd1fc
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x3c]
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 [ecx + ebx], 0
mov esi, dword [esp + 0x144]
mov dl, byte [esp + 0x18]
xor edi, edi
lea ecx, [esp + 0x18]
mov byte [esi], dl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov eax, dword [0x6ce1fc]
push eax
push edi
push ecx
mov ecx, esi
call fcn.004136a0
mov dword [esp + 0x34], 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x13c], 4
call fcn.0060ffb0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.00546f80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0060d280
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5bd28a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5bd281
cmp al, 0xff
je 0x5bd281
dec al
mov byte [ecx], al
jmp 0x5bd28a
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x148]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov byte [esp + 0x13c], 0
call fcn.0060ffb0
mov eax, esi
jmp 0x5bdd04
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 3
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bdde8]
push 8
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bd2df
push 7
jmp 0x5bd2e1
push 8
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 + 0xd8]
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 + 0x13c], 0xb
cmp eax, ebx
jae 0x5bd327
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5bd35b
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 + 0xd8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
test ebx, ebx
jbe 0x5bd3ba
cmp ebx, ecx
jne 0x5bd3ba
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd36f
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5bd3ba
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd38c
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0xd8]
jmp 0x5bca29
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x5bd3f6
mov esi, dword [esi + 4]
test esi, esi
jne 0x5bd3d6
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 [ecx + ebx], 0
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 9
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bd41b
push 1
jmp 0x5bd41d
push 2
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 + 0x118]
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 + 0x13c], 0xc
cmp eax, ebx
jae 0x5bd463
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5bd497
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 + 0x118]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
test ebx, ebx
jbe 0x5bd4f6
cmp ebx, ecx
jne 0x5bd4f6
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd4ab
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5bd4f6
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd4c8
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0x118]
jmp 0x5bca29
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x5bd532
mov esi, dword [esi + 4]
test esi, esi
jne 0x5bd512
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 [ecx + ebx], 0
mov eax, dword [esp + 0x118]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 7
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bd557
push 1
jmp 0x5bd559
push 2
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 + 0xb8]
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 + 0x13c], 0xd
cmp eax, ebx
jae 0x5bd59f
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5bd5d3
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 + 0xb8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
test ebx, ebx
jbe 0x5bd632
cmp ebx, ecx
jne 0x5bd632
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd5e7
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5bd632
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd604
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0xb8]
jmp 0x5bca29
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x5bd66e
mov esi, dword [esi + 4]
test esi, esi
jne 0x5bd64e
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 [ecx + ebx], 0
mov eax, dword [esp + 0xb8]
mov byte [esp + 0x13c], 5
jmp 0x5bca29
push 0xd
mov ecx, esi
call fcn.00610190
test al, 1
je 0x5bd693
push 0x35
jmp 0x5bd695
push 0x36
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 + 0xc8]
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 + 0x13c], 0xe
cmp edi, ebx
jae 0x5bd6dc
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x5bd751
cmp dword [esp + 0x20], ebx
jae 0x5bd6ef
call fcn.00697ab7
lea ecx, [esp + 0x18]
call fcn.00414980
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x5bd704
mov edi, eax
test edi, edi
jbe 0x5bd73f
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [edx + ebx]
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 0x5bd73f
push esi
lea ecx, [esp + 0x1c]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140d0
jmp 0x5bd7d8
test ebx, ebx
jbe 0x5bd79e
cmp ebx, eax
jne 0x5bd79e
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd765
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5bd79e
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5bd782
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 0x5bd7d8
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414210
test al, al
je 0x5bd7d8
mov esi, dword [esi + 4]
test esi, esi
jne 0x5bd7ba
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 + 0xc8]
mov byte [esp + 0x13c], 5
test eax, eax
je case.default.0x5bbe49
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5bd806
cmp al, 0xff
je 0x5bd806
dec al
mov byte [ecx], al
jmp case.default.0x5bbe49
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x5bbe49
add esi, 8
mov ecx, esi
call fcn.00610330
cmp ax, 0x10
jge 0x5bda32
push 0x70386c
lea ecx, [esp + 0x40]
push 0x703868
push ecx
call fcn.00698355
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x5bd859
call fcn.0069788b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5bd881
mov al, byte [edi - 1]
test al, al
je 0x5bd881
cmp al, 0xff
je 0x5bd881
test ebx, ebx
jne 0x5bd8aa
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x5bd8d8
test ebx, ebx
jne 0x5bd892
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp 0x5bd8d8
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5bd89f
cmp eax, ebx
jae 0x5bd8b8
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 + 0x3c]
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], ebx
mov byte [eax + ebx], 0
mov ebx, dword [esp + 0x144]
mov cl, byte [esp + 0x18]
xor edi, edi
mov byte [ebx], cl
mov ecx, dword [esp + 0x20]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov eax, dword [0x6ce1fc]
mov ebp, ecx
cmp eax, ebp
jae 0x5bd901
mov ebp, eax
lea edx, [esp + 0x18]
cmp ebx, edx
jne 0x5bd920
push eax
push ebp
mov ecx, ebx
call fcn.004140d0
push edi
push edi
mov ecx, ebx
call fcn.004140d0
jmp 0x5bd9a8
cmp ebp, edi
jbe 0x5bd96c
cmp ebp, ecx
jne 0x5bd96c
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x5bd935
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5bd96c
push 1
mov ecx, ebx
call fcn.004138a0
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x5bd951
mov eax, 0x6ce1f8
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5bd9a8
push 1
push ebp
mov ecx, ebx
call fcn.00414210
test al, al
je 0x5bd9a8
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x5bd987
mov esi, 0x6ce1f8
mov edi, dword [ebx + 4]
mov ecx, ebp
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 eax, dword [ebx + 4]
mov dword [ebx + 8], ebp
add ebp, eax
xor edi, edi
mov byte [ebp], 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], 1
mov byte [esp + 0x13c], 4
call fcn.0060ffb0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.00546f80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0060d280
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5bda0b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5bda02
cmp al, 0xff
je 0x5bda02
dec al
mov byte [ecx], al
jmp 0x5bda0b
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x148]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov byte [esp + 0x13c], 0
call fcn.0060ffb0
mov eax, ebx
jmp 0x5bdd04
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x5bbe49
jmp dword [eax*4 + 0x5bddf8]
push 5
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 5
mov ecx, esi
jae 0x5bdaa9
jmp 0x5bda86
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5bdaa9
jmp 0x5bda86
push 7
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 7
mov ecx, esi
jae 0x5bdaa9
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x81020409
lea ecx, [ecx + ecx*4]
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 6
jmp 0x5bc096
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x81020409
lea ecx, [ecx + ecx*4]
shl ecx, 1
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
lea ebp, [edx + ecx - 0x65]
jmp case.default.0x5bbe49
push 0x10
mov ecx, esi
call fcn.00610190
cmp al, 0x80
push 0x10
mov ecx, esi
jae 0x5bdaf5
call fcn.00610190
mov bl, al
and ebx, 0xff
jmp 0x5bdb08
call fcn.00610190
mov bl, al
and ebx, 0xff
sub ebx, 0x100
shl ebx, 8
push 0x11
mov ecx, esi
call fcn.00610190
and eax, 0xff
add ebx, eax
mov ebp, ebx
jmp case.default.0x5bbe49
test ebx, ebx
jne 0x5bdb33
push 1
lea ecx, [esp + 0x1c]
call fcn.004138a0
jmp 0x5bdb79
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5bdb40
cmp eax, ebx
jae 0x5bdb59
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 + 0x3c]
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 [ecx + ebx], 0
mov ebp, dword [esp + 0x144]
mov dl, byte [esp + 0x18]
xor edi, edi
mov byte [ebp], dl
mov edx, dword [esp + 0x20]
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x6ce1fc]
mov ebx, edx
cmp esi, ebx
jae 0x5bdba4
mov ebx, esi
lea eax, [esp + 0x18]
cmp ebp, eax
jne 0x5bdc06
cmp ebx, edi
jbe 0x5bdbb5
call fcn.00697ab7
mov ecx, ebp
call fcn.00414980
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x5bdbc7
mov esi, eax
cmp esi, edi
jbe 0x5bdbfd
mov ecx, dword [ebp + 4]
sub eax, esi
add ecx, ebx
push eax
lea edx, [ecx + esi]
push edx
push ecx
call fcn.00698020
mov edi, dword [ebp + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebp
push 0
push edi
call fcn.00414210
test al, al
je 0x5bdbfb
push edi
mov ecx, ebp
call fcn.004141f0
xor edi, edi
mov ecx, ebp
call fcn.00414980
jmp 0x5bdc7f
cmp ebx, edi
jbe 0x5bdc47
cmp ebx, edx
jne 0x5bdc47
mov eax, dword [esp + 0x1c]
mov ecx, 0x6ce1f8
cmp eax, edi
je 0x5bdc1d
mov ecx, eax
cmp byte [ecx - 1], 0xfe
jae 0x5bdc47
cmp eax, edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
jne 0x5bdc35
mov eax, 0x6ce1f8
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x24]
mov dword [ebp + 4], eax
mov dword [ebp + 0xc], edx
inc byte [eax - 1]
jmp 0x5bdc7f
push 1
push ebx
mov ecx, ebp
call fcn.00414210
test al, al
je 0x5bdc7f
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x5bdc62
mov esi, 0x6ce1f8
mov edi, dword [ebp + 4]
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]
mov ecx, ebp
call fcn.004141f0
xor edi, edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], 1
mov byte [esp + 0x13c], 4
call fcn.0060ffb0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.00546f80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0060d280
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5bdce2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5bdcd9
cmp al, 0xff
je 0x5bdcd9
dec al
mov byte [ecx], al
jmp 0x5bdce2
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x148]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov byte [esp + 0x13c], 0
call fcn.0060ffb0
mov eax, ebp
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x130
ret 8