Function at 0x536510
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6b873f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x30], ebx
mov al, byte [esp + 0x13]
mov dword [esp + 0x80], 1
mov byte [esp + 0x34], al
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
push 6
push 0x704698
lea ecx, [esp + 0x28]
mov byte [esp + 0x88], 2
call fcn.0060ff10
push 4
lea ecx, [ebp + 0xc]
mov byte [esp + 0x84], 3
call fcn.00610190
push 5
lea ecx, [ebp + 0xc]
mov byte [esp + 0x28], al
call fcn.00610190
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x24]
and eax, 0xff
cmp eax, 8
ja case.default.0x5365c3
jmp dword [eax*4 + 0x537ebc]
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x21
ja case.default.0x5365c3
jmp dword [eax*4 + 0x537ee0]
add esi, 8
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
mov bl, al
call fcn.00610190
and eax, 0xff
mov ecx, eax
lea eax, [ecx*8]
sub eax, ecx
lea edx, [eax + eax*2]
mov eax, 0x80808081
lea esi, [ecx + edx*2]
shl esi, 1
imul esi
mov ecx, edx
add ecx, esi
sar ecx, 7
mov eax, ecx
shr eax, 0x1f
add ecx, eax
jmp 0x536e92
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
lea ecx, [ecx + ecx*4]
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebx, edx
jmp case.default.0x5365c3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
lea ecx, [esp + 0x34]
push ecx
push 4
push 3
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea edx, [esp + 0x34]
push edx
push 4
push 3
jmp 0x5375f0
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
cmp al, 0xfd
jbe 0x5366a9
push 0x63
jmp 0x5366ab
push 0x64
push 5
lea ecx, [esp + 0x28]
call fcn.006102b0
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x48]
push ecx
call fcn.0060f170
add esp, 8
mov edi, eax
mov ecx, dword [edi + 8]
mov eax, dword [0x6ce1fc]
mov esi, ecx
mov byte [esp + 0x80], 4
cmp eax, esi
mov dword [esp + 0x14], esi
jae 0x5366f6
mov esi, eax
mov dword [esp + 0x14], esi
lea edx, [esp + 0x34]
cmp edx, edi
jne 0x53676a
mov edi, eax
mov eax, dword [esp + 0x3c]
cmp eax, esi
jae 0x53670d
call fcn.00697ab7
lea ecx, [esp + 0x34]
call fcn.00414980
mov eax, dword [esp + 0x3c]
sub eax, esi
cmp eax, edi
jae 0x536722
mov edi, eax
test edi, edi
jbe 0x53675c
mov ecx, dword [esp + 0x38]
sub eax, edi
add ecx, esi
push eax
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x48]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x34]
push 0
push esi
call fcn.00414210
test al, al
je 0x53675c
push esi
lea ecx, [esp + 0x38]
call fcn.004141f0
lea ecx, [esp + 0x34]
call fcn.00414980
jmp 0x53687f
test esi, esi
jbe 0x5367e0
cmp esi, ecx
jne 0x5367e0
mov eax, dword [edi + 4]
test eax, eax
jne 0x53677e
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5367e0
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x5367a7
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x53679e
cmp al, 0xff
je 0x53679e
dec al
mov byte [ecx], al
jmp 0x5367a7
push ecx
call fcn.00697880
add esp, 4
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov eax, dword [edi + 4]
cmp eax, ecx
jne 0x5367c1
mov eax, 0x6ce1f8
mov dword [esp + 0x38], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x40], ecx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x53687f
lea ecx, [esp + 0x34]
call fcn.00414860
cmp eax, esi
jae 0x5367f2
call fcn.0069788b
mov edx, dword [esp + 0x38]
test edx, edx
je 0x53681a
mov al, byte [edx - 1]
test al, al
je 0x53681a
cmp al, 0xff
je 0x53681a
test esi, esi
jne 0x536843
dec al
push esi
lea ecx, [esp + 0x38]
mov byte [edx - 1], al
call fcn.004138a0
jmp 0x53687f
test esi, esi
jne 0x53682b
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
jmp 0x53687f
mov eax, dword [esp + 0x40]
cmp eax, 0x1f
ja 0x536838
cmp eax, esi
jae 0x536851
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
push esi
lea ecx, [esp + 0x38]
call fcn.00414870
mov edx, dword [esp + 0x38]
mov esi, dword [edi + 4]
test esi, esi
jne 0x53685d
mov esi, 0x6ce1f8
mov eax, dword [esp + 0x14]
mov edi, edx
mov ecx, eax
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 ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov byte [eax + ecx], 0
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x80], 3
test ecx, ecx
je case.default.0x5365c3
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x5375cf
cmp al, 0xff
je 0x5375cf
dec al
mov byte [ecx], al
jmp case.default.0x5365c3
add esi, 8
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 9
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6d2ac0]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab8]
fadd qword [esp + 0x14]
jmp 0x537b60
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 5
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
lea edx, [esp + 0x34]
lea ecx, [esi + 8]
push edx
push 0xd4
push 0xd3
push 7
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea eax, [esp + 0x34]
lea ecx, [esi + 8]
push eax
push 0xd4
push 0xd3
push 7
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea ecx, [esp + 0x34]
push ecx
push 0xd4
push 0xd3
push 7
jmp 0x5375f2
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
sub eax, 0x28
mov ebx, eax
jmp case.default.0x5365c3
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
lea edx, [esp + 0x34]
push edx
push 4
push 3
push 9
lea ecx, [esi + 8]
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab0]
jmp 0x537b60
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab0]
jmp 0x537b60
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl eax, 5
add eax, ecx
lea ecx, [eax + eax*2]
jmp 0x5377db
lea ecx, [esp + 0x34]
push ecx
push 0x68
push 0x67
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
add esi, 8
push 5
mov ecx, esi
call fcn.00610190
mov dl, al
push 6
and edx, 0xff
mov ecx, esi
shl edx, 8
mov dword [esp + 0x28], edx
call fcn.00610190
mov ecx, dword [esp + 0x24]
and eax, 0xff
add ecx, eax
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esp + 0x24], 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 + 0x25], dl
mov ecx, 0x3c
cdq
idiv ecx
mov byte [esp + 0x26], dl
mov edx, dword [esp + 0x26]
mov eax, dword [esp + 0x25]
mov ecx, dword [esp + 0x24]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
lea edx, [esp + 0x70]
push str._02d:_02d:_02d
push edx
call fcn.00698355
lea edi, [esp + 0x78]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xfffffffd
mov dword [esp + 0x14], ecx
jbe 0x536bce
call fcn.0069788b
mov edi, dword [esp + 0x38]
xor ecx, ecx
cmp edi, ecx
je 0x536c04
mov al, byte [edi - 1]
test al, al
je 0x536c04
cmp al, 0xff
je 0x536c04
mov edx, dword [esp + 0x14]
cmp edx, ecx
jne 0x536c01
dec al
mov byte [edi - 1], al
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
jmp case.default.0x5365c3
push edx
jmp 0x536c35
mov esi, dword [esp + 0x14]
cmp esi, ecx
jne 0x536c1c
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
jmp case.default.0x5365c3
mov eax, dword [esp + 0x40]
cmp eax, 0x1f
ja 0x536c29
cmp eax, esi
jae 0x536c42
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
push esi
lea ecx, [esp + 0x38]
call fcn.00414870
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x64]
mov ecx, eax
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 ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov byte [eax + ecx], 0
jmp case.default.0x5365c3
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2aa8]
jmp 0x537b60
lea edx, [esp + 0x34]
push edx
push 0x76
push 0x71
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea eax, [esp + 0x34]
push eax
jmp 0x536c92
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x13
ja case.default.0x5365c3
jmp dword [eax*4 + 0x537f68]
lea edx, [esp + 0x34]
lea ecx, [esi + 8]
push edx
push 0x6a
push 0x69
push 8
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea ebx, [esi + 8]
push 7
mov ecx, ebx
call fcn.00610190
cmp al, 0x80
push 7
mov ecx, ebx
jae 0x536d61
call fcn.00610190
and eax, 0xff
push 8
mov ecx, eax
shl ecx, 7
sub ecx, eax
mov eax, 0x81020409
shl ecx, 5
imul ecx
mov esi, edx
add esi, ecx
sar esi, 6
mov ecx, esi
shr ecx, 0x1f
add esi, ecx
mov ecx, ebx
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ebx, edx
add edx, esi
shr ebx, 0x1f
add ebx, edx
jmp case.default.0x5365c3
call fcn.00610190
and eax, 0xff
push 8
mov ecx, eax
shl eax, 7
sub eax, ecx
mov ecx, ebx
shl eax, 5
sub eax, 0x7f
cdq
and edx, 0x7f
add eax, edx
mov esi, eax
sar esi, 7
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, esi
lea ebx, [eax + edx - 0x1000]
jmp case.default.0x5365c3
lea edx, [esp + 0x34]
push edx
jmp 0x5375ec
lea eax, [esp + 0x34]
push eax
push 0x6a
push 0x69
push 9
jmp 0x5375f2
lea ecx, [esp + 0x34]
push ecx
push 0x6a
push 0x69
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
lea edx, [esp + 0x34]
push edx
push 0x6a
push 0x69
push 9
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
push 9
jmp 0x5377c5
add esi, 8
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov edx, ebx
shr edx, 0x1f
add ebx, edx
jmp 0x537633
add esi, 8
push 5
mov ecx, esi
call fcn.00610190
push 6
mov ecx, esi
mov bl, al
call fcn.00610190
and eax, 0xff
mov ecx, eax
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax + eax*2]
lea esi, [ecx + eax*2]
mov eax, 0x80808081
shl esi, 1
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, 4
add eax, edx
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
lea esi, [edx + eax*4]
mov eax, 0x81020409
shl esi, 1
imul esi
add edx, esi
sar edx, 6
mov ebx, edx
add edx, ecx
shr ebx, 0x1f
add ebx, edx
jmp case.default.0x5365c3
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
add esi, 8
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 9
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6d2ac0]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab8]
fadd qword [esp + 0x14]
jmp 0x537b60
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 5
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
lea ecx, [esp + 0x34]
push ecx
jmp 0x5369e0
mov edx, dword [esp + 0x14]
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0xd
ja case.default.0x5365c3
jmp dword [eax*4 + 0x537fb8]
lea eax, [esp + 0x34]
push eax
jmp 0x53666c
lea ecx, [esp + 0x34]
push ecx
push 4
push 3
jmp 0x5375f0
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmul qword [0x6d1920]
jmp 0x537b60
lea eax, [esp + 0x34]
push eax
jmp 0x536df8
lea ecx, [esp + 0x34]
push ecx
push 0x6a
push 0x69
push 0xa
jmp 0x536dfe
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov ebx, eax
jmp case.default.0x5365c3
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6d2ac0]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab8]
fadd qword [esp + 0x14]
jmp 0x537b60
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
cmp eax, 0xd
ja case.default.0x5365c3
jmp dword [eax*4 + 0x537ff0]
lea ecx, [esp + 0x34]
push ecx
push 0x64
push 0x63
jmp 0x5375f0
lea edx, [esp + 0x34]
push edx
push 0x64
push 0x63
jmp 0x536670
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1920]
jmp 0x537b60
lea ecx, [esp + 0x34]
push ecx
push 0x6a
push 0x69
push 9
jmp 0x536672
lea edx, [esp + 0x34]
push edx
push 0x6a
push 0x69
push 0xa
jmp 0x536672
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
add esi, 8
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 6
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov edx, ebx
shr edx, 0x1f
add ebx, edx
jmp 0x537635
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6d2ac0]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab8]
fadd qword [esp + 0x14]
jmp 0x537b60
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
cmp eax, 0xa
ja case.default.0x5365c3
jmp dword [eax*4 + 0x538028]
lea ecx, [esp + 0x34]
push ecx
push 0x64
push 0x63
jmp 0x536670
lea edx, [esp + 0x34]
push edx
push 0x64
push 0x63
jmp 0x5375f0
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1920]
jmp 0x537b60
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov edx, ebx
shr edx, 0x1f
add ebx, edx
jmp 0x537784
add esi, 8
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 6
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov eax, ebx
shr eax, 0x1f
add ebx, eax
jmp 0x537635
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6d2ac0]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab8]
fadd qword [esp + 0x14]
jmp 0x537b60
add esi, 8
push 9
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 8
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 9
ja case.default.0x5365c3
jmp dword [eax*4 + 0x538054]
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
cmp al, 0xfd
jbe 0x5373d9
push 0x63
jmp 0x5373db
push 0x64
push 5
lea ecx, [esp + 0x28]
call fcn.006102b0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x58]
push eax
call fcn.0060f170
add esp, 8
mov edi, eax
mov ecx, dword [edi + 8]
mov eax, dword [0x6ce1fc]
mov esi, ecx
mov byte [esp + 0x80], 5
cmp eax, esi
mov dword [esp + 0x14], esi
jae 0x537426
mov esi, eax
mov dword [esp + 0x14], esi
lea edx, [esp + 0x34]
cmp edx, edi
jne 0x53749c
mov edi, eax
mov eax, dword [esp + 0x3c]
cmp eax, esi
jae 0x53743d
call fcn.00697ab7
lea ecx, [esp + 0x34]
call fcn.00414980
mov eax, dword [esp + 0x3c]
sub eax, esi
cmp eax, edi
jae 0x537452
mov edi, eax
test edi, edi
jbe 0x53748e
mov ecx, dword [esp + 0x38]
sub eax, edi
add ecx, esi
push eax
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x48]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x34]
push 0
push esi
call fcn.00414210
test al, al
je 0x53748e
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], esi
mov byte [esi + edx], 0
lea ecx, [esp + 0x34]
call fcn.00414980
jmp 0x5375a9
test esi, esi
jbe 0x537512
cmp esi, ecx
jne 0x537512
mov eax, dword [edi + 4]
test eax, eax
jne 0x5374b0
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x537512
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x5374d9
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x5374d0
cmp al, 0xff
je 0x5374d0
dec al
mov byte [ecx], al
jmp 0x5374d9
push ecx
call fcn.00697880
add esp, 4
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov eax, dword [edi + 4]
cmp eax, ecx
jne 0x5374f3
mov eax, 0x6ce1f8
mov dword [esp + 0x38], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x40], ecx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5375a9
cmp esi, 0xfffffffd
jbe 0x53751c
call fcn.0069788b
mov edx, dword [esp + 0x38]
test edx, edx
je 0x537544
mov al, byte [edx - 1]
test al, al
je 0x537544
cmp al, 0xff
je 0x537544
test esi, esi
jne 0x53756d
dec al
push esi
lea ecx, [esp + 0x38]
mov byte [edx - 1], al
call fcn.004138a0
jmp 0x5375a9
test esi, esi
jne 0x537555
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
jmp 0x5375a9
mov eax, dword [esp + 0x40]
cmp eax, 0x1f
ja 0x537562
cmp eax, esi
jae 0x53757b
push 1
lea ecx, [esp + 0x38]
call fcn.004138a0
push esi
lea ecx, [esp + 0x38]
call fcn.00414870
mov edx, dword [esp + 0x38]
mov esi, dword [edi + 4]
test esi, esi
jne 0x537587
mov esi, 0x6ce1f8
mov eax, dword [esp + 0x14]
mov edi, edx
mov ecx, eax
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 ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov byte [eax + ecx], 0
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x80], 3
test ecx, ecx
je case.default.0x5365c3
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x5375cf
cmp al, 0xff
je 0x5375cf
dec al
mov byte [ecx], al
jmp case.default.0x5365c3
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x5365c3
lea edx, [esp + 0x34]
push edx
push 0x6a
push 0x69
push 7
jmp 0x5375f2
lea eax, [esp + 0x34]
push eax
push 0x6a
push 0x69
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0058eef0
jmp case.default.0x5365c3
add esi, 8
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 5
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov eax, ebx
shr eax, 0x1f
add ebx, eax
push 7
mov ecx, esi
call fcn.00610190
and eax, 0xff
shl eax, 5
add ebx, eax
push ebx
lea edx, [esp + 0x68]
push 0x703498
push edx
call fcn.00698355
add esp, 0xc
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
jne 0x537c2e
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x537681
call fcn.0069788b
mov edi, dword [esp + 0x38]
xor esi, esi
cmp edi, esi
je 0x537b85
mov al, byte [edi - 1]
test al, al
je 0x537b85
cmp al, 0xff
je 0x537b85
cmp ebx, esi
jne 0x537bf6
dec al
mov byte [edi - 1], al
jmp 0x537baa
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
push 5
mov dword [esp + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmul qword [0x6cf550]
fstp qword [esp + 0x18]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [esp + 0x14]
jmp 0x537b60
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 7
ja case.default.0x5365c3
jmp dword [eax*4 + 0x53807c]
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab0]
jmp 0x537b60
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d2ab0]
jmp 0x537b60
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, eax
shl ecx, 6
sub ecx, eax
mov eax, 0x80808081
imul ecx
mov ebx, edx
add ebx, ecx
sar ebx, 7
mov ecx, ebx
shr ecx, 0x1f
add ebx, ecx
push 5
mov ecx, esi
call fcn.00610190
and eax, 0xff
shl eax, 6
jmp 0x537644
push 5
jmp 0x5369a2
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d03c8]
jmp 0x537b60
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebx, edx
jmp case.default.0x5365c3
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0xf
ja case.default.0x5365c3
jmp dword [eax*4 + 0x53809c]
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 7
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 8
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 7
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 8
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
cmp eax, 0xf
ja case.default.0x5365c3
jmp dword [eax*4 + 0x5380dc]
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d1928]
jmp 0x537b60
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov ebx, eax
jmp case.default.0x5365c3
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 7
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 8
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x537b5a
push 7
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
jmp 0x537b5a
push 8
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x537b5a
push 9
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fmul qword [0x6d2aa0]
fstp qword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
lea ecx, [esp + 0x6c]
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x53765b
cmp ebx, esi
jne 0x537bbc
cmp edi, esi
je 0x537baa
mov al, byte [edi - 1]
lea ecx, [edi - 1]
test al, al
je 0x537ba1
cmp al, 0xff
je 0x537ba1
dec al
mov byte [ecx], al
jmp 0x537baa
push ecx
call fcn.00697880
add esp, 4
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
jmp 0x537c32
mov eax, dword [esp + 0x40]
cmp eax, 0x1f
ja 0x537bc9
cmp eax, ebx
jae 0x537c04
cmp edi, esi
je 0x537bea
mov al, byte [edi - 1]
lea ecx, [edi - 1]
test al, al
je 0x537be1
cmp al, 0xff
je 0x537be1
dec al
mov byte [ecx], al
jmp 0x537bea
push ecx
call fcn.00697880
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
push ebx
lea ecx, [esp + 0x38]
call fcn.00414870
mov edi, dword [esp + 0x38]
mov ecx, ebx
lea esi, [esp + 0x64]
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 + 0x38]
mov dword [esp + 0x3c], ebx
mov byte [ecx + ebx], 0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
jmp 0x537c32
mov edi, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
mov dl, byte [esp + 0x34]
xor eax, eax
mov esi, ecx
mov byte [ebx], dl
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov eax, dword [0x6ce1fc]
mov dword [esp + 0x14], esi
cmp eax, esi
jae 0x537c5b
mov dword [esp + 0x14], eax
mov esi, eax
lea edx, [esp + 0x34]
cmp ebx, edx
jne 0x537d3f
mov edi, eax
test esi, esi
mov dword [esp + 0x14], edi
jbe 0x537c76
call fcn.00697ab7
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x24], eax
je 0x537cb4
mov al, byte [eax - 1]
test al, al
je 0x537cb4
cmp al, 0xff
je 0x537cb4
push 1
mov ecx, ebx
call fcn.004138a0
mov edi, dword [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
push ecx
push eax
mov ecx, ebx
call fcn.00414030
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
sub eax, esi
cmp eax, edi
jae 0x537cc3
mov dword [esp + 0x14], eax
mov edi, eax
test edi, edi
jbe 0x537cfe
mov ecx, dword [ebx + 4]
sub eax, edi
add esi, ecx
push eax
lea ecx, [esi + edi]
push ecx
push esi
call fcn.00698020
mov edi, dword [ebx + 8]
mov eax, dword [esp + 0x20]
add esp, 0xc
sub edi, eax
mov ecx, ebx
push 0
push edi
call fcn.00414210
test al, al
je 0x537cfe
mov eax, dword [ebx + 4]
mov dword [ebx + 8], edi
add eax, edi
mov byte [eax], 0
mov esi, dword [ebx + 4]
test esi, esi
je 0x537e47
mov al, byte [esi - 1]
test al, al
je 0x537e47
cmp al, 0xff
je 0x537e47
push 1
mov ecx, ebx
call fcn.004138a0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
mov ecx, ebx
call fcn.00414030
jmp 0x537e47
xor edx, edx
cmp esi, edx
jbe 0x537d83
cmp esi, ecx
jne 0x537d83
cmp edi, edx
mov eax, 0x6ce1f8
je 0x537d54
mov eax, edi
cmp byte [eax - 1], 0xfe
jae 0x537d83
cmp edi, edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov eax, 0x6ce1f8
je 0x537d6e
mov eax, edi
mov edx, dword [esp + 0x40]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
inc byte [eax - 1]
jmp 0x537e47
cmp esi, 0xfffffffd
jbe 0x537d93
call fcn.0069788b
mov edi, dword [esp + 0x38]
xor edx, edx
mov ecx, dword [ebx + 4]
cmp ecx, edx
je 0x537dbc
mov al, byte [ecx - 1]
test al, al
je 0x537dbc
cmp al, 0xff
je 0x537dbc
cmp esi, edx
jne 0x537e0a
dec al
mov byte [ecx - 1], al
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
jmp 0x537e47
cmp esi, edx
jne 0x537df5
cmp ecx, edx
je 0x537dea
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x537ddf
cmp al, 0xff
je 0x537ddf
dec al
mov byte [ecx], al
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
jmp 0x537e47
push ecx
call fcn.00697880
add esp, 4
xor edx, edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
jmp 0x537e47
mov eax, dword [ebx + 0xc]
cmp eax, 0x1f
ja 0x537e01
cmp eax, esi
jae 0x537e18
push 1
mov ecx, ebx
call fcn.004138a0
push esi
mov ecx, ebx
call fcn.00414870
mov edi, dword [esp + 0x38]
xor edx, edx
cmp edi, edx
mov eax, 0x6ce1f8
je 0x537e23
mov eax, edi
mov edi, dword [ebx + 4]
mov ecx, esi
mov esi, eax
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 + 0x14]
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 8], ecx
mov byte [eax], 0
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x38]
xor esi, esi
cmp eax, esi
je 0x537e87
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x537e7e
cmp al, 0xff
je 0x537e7e
dec al
mov byte [ecx], al
jmp 0x537e87
push ecx
call fcn.00697880
add esp, 4
lea ecx, [ebp + 0xc]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0x80], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0x78]
pop edi
mov eax, ebx
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8