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

Disassembly:
push 0xffffffffffffffff
push 0x6d0c8c
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.0061aaa0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.005548f0
mov ecx, dword [0x720b3c]
mov edx, dword [0x720b40]
mov al, byte [0x720b44]
mov dword [esp + 0x50], ecx
push 6
push 0x7147a4
lea ecx, [esp + 0x30]
mov byte [esp + 0x144], 4
mov dword [esp + 0x5c], edx
mov byte [esp + 0x60], al
call fcn.0061d820
push 4
lea ecx, [esp + 0x14c]
mov byte [esp + 0x140], 5
call fcn.0061daa0
push 5
lea ecx, [esp + 0x14c]
mov byte [esp + 0x14], al
call fcn.0061daa0
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x2c], al
and ebx, 0xff
cmp ebx, 6
ja case.default.0x5c956b
jmp dword [ebx*4 + 0x5cb5c0]
mov al, 2
jmp 0x5c9592
mov al, 1
jmp 0x5c9592
mov al, 0xb
jmp 0x5c9592
mov al, 5
jmp 0x5c9592
mov al, 4
jmp 0x5c9592
mov al, 7
jmp 0x5c9592
mov al, 6
jmp 0x5c9592
mov al, byte [esp + 0x3b]
mov cl, byte [0x72bd0c]
test cl, cl
je 0x5c95c6
lea ebp, [esi + 8]
call fcn.006a7255
cdq
mov ecx, 0xff
idiv ecx
mov ecx, ebp
push edx
push edi
call fcn.0061dbc0
inc edi
cmp di, 0x32
jl 0x5c959f
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x5c961a
mov cl, byte [esi + 0xc]
mov byte [esp + 0x56], al
cmp al, cl
je 0x5c961a
cmp al, 0xff
je 0x5c961a
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.00555a50
lea ecx, [esp + 0x80]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push ecx
lea ecx, [esp + 0x64]
call fcn.0061afb0
lea ecx, [esi + 8]
call fcn.0061dab0
xor ebp, ebp
cmp ebx, 6
ja case.default.0x5c96e9
jmp dword [ebx*4 + 0x5cb5dc]
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x20
jge 0x5c96d3
push 0x71386c
lea edx, [esp + 0x40]
push 0x713868
push edx
call fcn.006a6fa5
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.00414230
test al, al
je 0x5c969b
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 [0x6dd1fc]
push eax
push edi
push ecx
mov ecx, esi
call fcn.004136c0
mov dword [esp + 0x34], 1
jmp 0x5caacf
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0xd
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb5f8]
push 5
mov ecx, esi
call fcn.0061daa0
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.0x5c96e9
push 6
mov ecx, esi
call fcn.0061daa0
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.0x5c96e9
push 7
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x5c96e9
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dd240]
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.006a6fa5
add esp, 0x10
jmp 0x5c9952
push 9
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ebp, eax
jmp case.default.0x5c96e9
push 0xa
mov ecx, esi
call fcn.0061daa0
mov bl, al
push 0xb
and ebx, 0xff
shl ebx, 8
jmp 0x5cb3ad
push 0xc
mov ecx, esi
call fcn.0061daa0
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.0061daa0
and eax, 0xff
shl eax, 1
jmp 0x5ca9be
push 0xe
mov ecx, esi
call fcn.0061daa0
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.0061daa0
and eax, 0xff
shl eax, 1
jmp 0x5ca9be
push 0x10
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6dda90]
jmp 0x5c9781
push 0x13
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
push 0x12
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6e3898]
fstp qword [esp + 0x30]
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3890]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x1c
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
jmp 0x5c992a
push 0x1d
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
jmp 0x5c993d
push 0x1e
jmp 0x5c98c6
push 0x20
mov ecx, esi
call fcn.0061daa0
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 0x713498
push edx
call fcn.006a6fa5
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x5cb419
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 0x5c9978
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5cb3c2
mov al, byte [edi - 1]
test al, al
je 0x5cb3c2
cmp al, 0xff
je 0x5cb3c2
test ebx, ebx
jne 0x5cb3eb
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5cb419
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x19
jge 0x5c9a4c
push 0x71386c
lea ecx, [esp + 0x40]
push 0x713868
push ecx
call fcn.006a6fa5
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.00414230
test al, al
je 0x5c9a22
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 [0x6dd1fc]
push edx
push edi
push eax
jmp 0x5caac0
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 8
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb630]
push 5
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5c9ae1
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fsub qword [0x6e3880]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 7
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 8
mov ecx, esi
jae 0x5c9bc6
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fsub qword [0x6e3880]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 9
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0xa
mov ecx, esi
jae 0x5c9cab
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3888]
fsub qword [0x6e3880]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0xb
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0xc
mov ecx, esi
jae 0x5c9d91
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x19
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x1a
mov ecx, esi
jae 0x5c9e78
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x1b
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x1c
mov ecx, esi
jae 0x5c9f5f
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x1f
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x1f
mov ecx, esi
jae 0x5ca01f
call fcn.0061daa0
and eax, 0xff
push 0x20
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6e3888]
fstp qword [esp + 0x30]
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3868]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
and eax, 0xff
push 0x20
mov dword [esp + 0x14], eax
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x6e3888]
fsub qword [0x6e3880]
fstp qword [esp + 0x30]
call fcn.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3868]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x21
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x22
mov ecx, esi
jae 0x5ca0ad
call fcn.0061daa0
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.0061daa0
and eax, 0xff
add ebp, eax
jmp case.default.0x5c96e9
call fcn.0061daa0
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.0061daa0
and eax, 0xff
lea ebp, [edi + eax - 0x100]
jmp case.default.0x5c96e9
push 0x23
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x24
mov ecx, esi
jae 0x5ca161
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x18
jge 0x5ca243
push 0x71386c
lea ecx, [esp + 0x40]
push 0x713868
push ecx
call fcn.006a6fa5
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.00414230
test al, al
je 0x5c9a22
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 0x5c9a22
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb654]
push 5
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5ca271
push 3
jmp 0x5ca273
push 4
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 + 0x108]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x13c], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x108]
mov byte [esp + 0x13c], 5
test eax, eax
je case.default.0x5c96e9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5cb0a6
cmp al, 0xff
je 0x5cb0a6
dec al
mov byte [ecx], al
jmp case.default.0x5c96e9
push 6
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5ca301
push 0x34
jmp 0x5ca303
push 4
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 + 0xe8]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x13c], 7
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 0x16
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5ca36f
push 3
jmp 0x5ca371
push 4
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 + 0xa8]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x13c], 8
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 0x17
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5ca3dd
push 7
jmp 0x5ca3df
push 8
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 + 0x128]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x13c], 9
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x128]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 0x18
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5ca44b
push 7
jmp 0x5ca44d
push 8
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 + 0xf8]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x13c], 0xa
push ecx
push 0
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0xb
jge 0x5ca51c
push 0x71386c
lea edx, [esp + 0x40]
push 0x713868
push edx
call fcn.006a6fa5
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.00414230
test al, al
je 0x5caa9c
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 0x5caa9c
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 3
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb668]
push 5
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 5
mov ecx, esi
jae 0x5ca578
call fcn.0061daa0
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 0x5ca9b2
call fcn.0061daa0
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 0x5ca6e5
push 7
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 7
mov ecx, esi
jae 0x5ca5e5
call fcn.0061daa0
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 0x5ca9b2
call fcn.0061daa0
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 0x5ca6e5
push 9
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 9
mov ecx, esi
jae 0x5ca652
call fcn.0061daa0
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 0x5ca9b2
call fcn.0061daa0
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 0x5ca6e5
push 0xb
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0xb
mov ecx, esi
jae 0x5ca6bc
call fcn.0061daa0
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 0x5ca9b2
call fcn.0061daa0
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.0061daa0
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.0x5c96e9
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x1b
jl 0x5c99c7
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb678]
push 5
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5ca7b9
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 7
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 8
mov ecx, esi
jae 0x5ca8a0
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fadd qword [esp + 0x2c]
jmp 0x5c9781
call fcn.0061daa0
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.0061daa0
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x6e3878]
fsub qword [0x6e3870]
fadd qword [esp + 0x2c]
jmp 0x5c9781
push 0x19
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x19
mov ecx, esi
jae 0x5ca94a
call fcn.0061daa0
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 0x5ca9b2
call fcn.0061daa0
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 0x5caa03
push 0x1b
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x1b
mov ecx, esi
jae 0x5ca9da
call fcn.0061daa0
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.0061daa0
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.0x5c96e9
call fcn.0061daa0
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.0061daa0
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.0x5c96e9
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0xd
jge 0x5cab51
push 0x71386c
lea edx, [esp + 0x40]
push 0x713868
push edx
call fcn.006a6fa5
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.00414230
test al, al
je 0x5caa9c
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 [0x6dd1fc]
push eax
push edi
push ecx
mov ecx, esi
call fcn.004136c0
mov dword [esp + 0x34], 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x13c], 4
call fcn.0061d8c0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.005549b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0061ab90
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5cab2a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5cab21
cmp al, 0xff
je 0x5cab21
dec al
mov byte [ecx], al
jmp 0x5cab2a
push ecx
call fcn.006a64d0
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.0061d8c0
mov eax, esi
jmp 0x5cb5a4
mov edx, dword [esp + 0x2c]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 3
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb688]
push 8
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5cab7f
push 7
jmp 0x5cab81
push 8
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 + 0xd8]
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 + 0x13c], 0xb
cmp eax, ebx
jae 0x5cabc7
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5cabfb
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 + 0xd8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
test ebx, ebx
jbe 0x5cac5a
cmp ebx, ecx
jne 0x5cac5a
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cac0f
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5cac5a
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cac2c
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0xd8]
jmp 0x5ca2c9
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5cac96
mov esi, dword [esi + 4]
test esi, esi
jne 0x5cac76
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 [ecx + ebx], 0
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 9
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5cacbb
push 1
jmp 0x5cacbd
push 2
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 + 0x118]
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 + 0x13c], 0xc
cmp eax, ebx
jae 0x5cad03
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5cad37
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 + 0x118]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
test ebx, ebx
jbe 0x5cad96
cmp ebx, ecx
jne 0x5cad96
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cad4b
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5cad96
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cad68
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0x118]
jmp 0x5ca2c9
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5cadd2
mov esi, dword [esi + 4]
test esi, esi
jne 0x5cadb2
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 [ecx + ebx], 0
mov eax, dword [esp + 0x118]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 7
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5cadf7
push 1
jmp 0x5cadf9
push 2
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 + 0xb8]
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 + 0x13c], 0xd
cmp eax, ebx
jae 0x5cae3f
mov ebx, eax
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5cae73
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 + 0xb8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
test ebx, ebx
jbe 0x5caed2
cmp ebx, ecx
jne 0x5caed2
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cae87
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5caed2
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5caea4
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 + 0x13c], 5
mov byte [eax - 1], cl
mov eax, dword [esp + 0xb8]
jmp 0x5ca2c9
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5caf0e
mov esi, dword [esi + 4]
test esi, esi
jne 0x5caeee
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 [ecx + ebx], 0
mov eax, dword [esp + 0xb8]
mov byte [esp + 0x13c], 5
jmp 0x5ca2c9
push 0xd
mov ecx, esi
call fcn.0061daa0
test al, 1
je 0x5caf33
push 0x35
jmp 0x5caf35
push 0x36
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 + 0xc8]
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 + 0x13c], 0xe
cmp edi, ebx
jae 0x5caf7c
mov ebx, edi
lea ecx, [esp + 0x18]
cmp ecx, esi
jne 0x5caff1
cmp dword [esp + 0x20], ebx
jae 0x5caf8f
call fcn.006a6707
lea ecx, [esp + 0x18]
call fcn.00414b70
mov eax, dword [esp + 0x20]
sub eax, ebx
cmp eax, edi
jae 0x5cafa4
mov edi, eax
test edi, edi
jbe 0x5cafdf
mov edx, dword [esp + 0x1c]
sub eax, edi
push eax
lea ecx, [edx + ebx]
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 0x5cafdf
push esi
lea ecx, [esp + 0x1c]
call fcn.00414210
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5cb078
test ebx, ebx
jbe 0x5cb03e
cmp ebx, eax
jne 0x5cb03e
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cb005
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5cb03e
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x5cb022
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 0x5cb078
push 1
push ebx
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5cb078
mov esi, dword [esi + 4]
test esi, esi
jne 0x5cb05a
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 + 0xc8]
mov byte [esp + 0x13c], 5
test eax, eax
je case.default.0x5c96e9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5cb0a6
cmp al, 0xff
je 0x5cb0a6
dec al
mov byte [ecx], al
jmp case.default.0x5c96e9
push ecx
call fcn.006a64d0
add esp, 4
jmp case.default.0x5c96e9
add esi, 8
mov ecx, esi
call fcn.0061dc40
cmp ax, 0x10
jge 0x5cb2d2
push 0x71386c
lea ecx, [esp + 0x40]
push 0x713868
push ecx
call fcn.006a6fa5
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 0x5cb0f9
call fcn.006a64db
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5cb121
mov al, byte [edi - 1]
test al, al
je 0x5cb121
cmp al, 0xff
je 0x5cb121
test ebx, ebx
jne 0x5cb14a
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5cb178
test ebx, ebx
jne 0x5cb132
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5cb178
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5cb13f
cmp eax, ebx
jae 0x5cb158
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 + 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 [0x6dd1fc]
mov ebp, ecx
cmp eax, ebp
jae 0x5cb1a1
mov ebp, eax
lea edx, [esp + 0x18]
cmp ebx, edx
jne 0x5cb1c0
push eax
push ebp
mov ecx, ebx
call fcn.004140f0
push edi
push edi
mov ecx, ebx
call fcn.004140f0
jmp 0x5cb248
cmp ebp, edi
jbe 0x5cb20c
cmp ebp, ecx
jne 0x5cb20c
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x5cb1d5
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5cb20c
push 1
mov ecx, ebx
call fcn.004138c0
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x5cb1f1
mov eax, 0x6dd1f8
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 0x5cb248
push 1
push ebp
mov ecx, ebx
call fcn.00414230
test al, al
je 0x5cb248
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x5cb227
mov esi, 0x6dd1f8
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.0061d8c0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.005549b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0061ab90
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5cb2ab
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5cb2a2
cmp al, 0xff
je 0x5cb2a2
dec al
mov byte [ecx], al
jmp 0x5cb2ab
push ecx
call fcn.006a64d0
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.0061d8c0
mov eax, ebx
jmp 0x5cb5a4
mov ecx, dword [esp + 0x2c]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 3
ja case.default.0x5c96e9
jmp dword [eax*4 + 0x5cb698]
push 5
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 5
mov ecx, esi
jae 0x5cb349
jmp 0x5cb326
push 6
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 6
mov ecx, esi
jae 0x5cb349
jmp 0x5cb326
push 7
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 7
mov ecx, esi
jae 0x5cb349
call fcn.0061daa0
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 0x5c9936
call fcn.0061daa0
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.0x5c96e9
push 0x10
mov ecx, esi
call fcn.0061daa0
cmp al, 0x80
push 0x10
mov ecx, esi
jae 0x5cb395
call fcn.0061daa0
mov bl, al
and ebx, 0xff
jmp 0x5cb3a8
call fcn.0061daa0
mov bl, al
and ebx, 0xff
sub ebx, 0x100
shl ebx, 8
push 0x11
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
add ebx, eax
mov ebp, ebx
jmp case.default.0x5c96e9
test ebx, ebx
jne 0x5cb3d3
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5cb419
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5cb3e0
cmp eax, ebx
jae 0x5cb3f9
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 + 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 [0x6dd1fc]
mov ebx, edx
cmp esi, ebx
jae 0x5cb444
mov ebx, esi
lea eax, [esp + 0x18]
cmp ebp, eax
jne 0x5cb4a6
cmp ebx, edi
jbe 0x5cb455
call fcn.006a6707
mov ecx, ebp
call fcn.00414b70
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x5cb467
mov esi, eax
cmp esi, edi
jbe 0x5cb49d
mov ecx, dword [ebp + 4]
sub eax, esi
add ecx, ebx
push eax
lea edx, [ecx + esi]
push edx
push ecx
call fcn.006a6c70
mov edi, dword [ebp + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebp
push 0
push edi
call fcn.00414230
test al, al
je 0x5cb49b
push edi
mov ecx, ebp
call fcn.00414210
xor edi, edi
mov ecx, ebp
call fcn.00414b70
jmp 0x5cb51f
cmp ebx, edi
jbe 0x5cb4e7
cmp ebx, edx
jne 0x5cb4e7
mov eax, dword [esp + 0x1c]
mov ecx, 0x6dd1f8
cmp eax, edi
je 0x5cb4bd
mov ecx, eax
cmp byte [ecx - 1], 0xfe
jae 0x5cb4e7
cmp eax, edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
jne 0x5cb4d5
mov eax, 0x6dd1f8
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 0x5cb51f
push 1
push ebx
mov ecx, ebp
call fcn.00414230
test al, al
je 0x5cb51f
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x5cb502
mov esi, 0x6dd1f8
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.00414210
xor edi, edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], 1
mov byte [esp + 0x13c], 4
call fcn.0061d8c0
lea ecx, [esp + 0x80]
mov byte [esp + 0x13c], 3
call fcn.005549b0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x13c], 2
call fcn.0061ab90
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x5cb582
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5cb579
cmp al, 0xff
je 0x5cb579
dec al
mov byte [ecx], al
jmp 0x5cb582
push ecx
call fcn.006a64d0
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.0061d8c0
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