Function at 0x5eea50
Capabilities:
Check os version
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x6c4df8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x3c], ebp
mov al, byte [esp + 0x37]
mov dword [esp + 0xbc], 1
mov byte [esp + 0x14], al
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
push 6
push 0x704698
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 2
call fcn.0060ff10
push 4
lea ecx, [esp + 0xcc]
mov byte [esp + 0xc0], 3
call fcn.00610190
push 5
lea ecx, [esp + 0xcc]
mov byte [esp + 0x28], al
call fcn.00610190
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x24]
and eax, 0xff
mov dword [esp + 0x38], ebp
sub eax, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
je 0x5ef474
dec eax
je 0x5ef1bd
dec eax
jne case.default.0x5ef48a
mov ecx, dword [esp + 0x30]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0xa
ja case.default.0x5ef48a
jmp dword [eax*4 + 0x5efa50]
push 5
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 7
cmp eax, 4
ja case.default.0x5eeb41
jmp dword [eax*4 + 0x5efa7c]
push 0x5f
jmp 0x5eeb67
push 0x6e
jmp 0x5eeb67
push 0xb6
jmp 0x5eeb67
push 0xb7
jmp 0x5eeb67
push 0xb2
jmp 0x5eeb67
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
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 esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0xbc], 7
cmp eax, ebx
jae 0x5eebaa
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5eebcd
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
jmp 0x5eec56
cmp ebx, ebp
jbe 0x5eec1a
cmp ebx, ecx
jne 0x5eec1a
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5eebe1
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5eec1a
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5eebfe
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5eec56
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5eec56
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5eec36
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x58]
mov byte [esp + 0xbc], 3
cmp eax, ebp
je case.default.0x5ef48a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5ef821
cmp al, 0xff
je 0x5ef821
dec al
mov byte [ecx], al
jmp case.default.0x5ef48a
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0xf4
push 6
mov ecx, esi
jae 0x5eecb7
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d5168]
jmp 0x5eed08
call fcn.00610190
and eax, 0xff
sub eax, 0xf4
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d5160]
fsub qword [0x6ceff0]
jmp 0x5eed08
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0xfa
push 6
mov ecx, esi
jae 0x5eed2d
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d4cb0]
fstp qword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x48]
push str._.2f
push edx
call fcn.00698355
add esp, 0x10
jmp 0x5ef66e
call fcn.00610190
and eax, 0xff
sub eax, 0xfa
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6ceb10]
fsub qword [0x6d4b40]
jmp 0x5eed08
push 5
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 7
cmp eax, 5
ja case.default.0x5eed71
jmp dword [eax*4 + 0x5efa90]
push 0x5f
jmp 0x5eed95
push 0x73
jmp 0x5eed95
push 0x78
jmp 0x5eed95
push 0x76
jmp 0x5eed95
push 0xb8
jmp 0x5eed95
push 0x75
jmp 0x5eed95
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xa8]
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 + 0xbc], 8
cmp eax, ebx
jae 0x5eeddb
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5eee0d
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
cmp ebx, ebp
jbe 0x5eee6c
cmp ebx, ecx
jne 0x5eee6c
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5eee21
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5eee6c
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5eee3e
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xbc], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0xa8]
jmp 0x5eec62
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5eeea8
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5eee88
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0xa8]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0xf4
push 6
mov ecx, esi
jae 0x5eeeed
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d5168]
jmp 0x5eed08
call fcn.00610190
and eax, 0xff
sub eax, 0xf4
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6d5160]
fsub qword [0x6ceff0]
jmp 0x5eed08
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0xfa
push 6
mov ecx, esi
jae 0x5eef40
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x5eed02
call fcn.00610190
and eax, 0xff
sub eax, 0xfa
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6ceb10]
fsub qword [0x6d4b40]
jmp 0x5eed08
push 5
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
cmp eax, 3
ja case.default.0x5eef89
jmp dword [eax*4 + 0x5efaa8]
push 0x5f
jmp 0x5eefa2
push 0x7f
jmp 0x5eefa2
push 0x69
jmp 0x5eefa2
push 0x7e
jmp 0x5eefa2
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x78]
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 + 0xbc], 9
cmp edi, ebx
jae 0x5eefe6
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x5ef064
cmp dword [esp + 0x1c], ebx
jae 0x5eeff9
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x5ef00e
mov edi, eax
cmp edi, ebp
jbe 0x5ef048
mov edx, dword [esp + 0x18]
sub eax, edi
push eax
lea ecx, [edx + ebx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push ebp
push esi
call fcn.00414210
test al, al
je 0x5ef048
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x78]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
cmp ebx, ebp
jbe 0x5ef0c0
cmp ebx, eax
jne 0x5ef0c0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef078
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5ef0c0
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef095
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xbc], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x78]
jmp 0x5eec62
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5ef0fa
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5ef0dc
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x78]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
lea ecx, [esp + 0x14]
push ecx
push 0x89
push 0x88
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
push 0x87
push 0x86
push 6
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
cmp al, 0xfa
push 6
mov ecx, esi
jae 0x5ef186
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jmp 0x5eed02
call fcn.00610190
and eax, 0xff
sub eax, 0xfa
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x6ceb10]
fsub qword [0x6d4b40]
jmp 0x5eed08
push 6
lea ecx, [esi + 8]
call fcn.00610190
jmp 0x5eed0c
mov eax, dword [esp + 0x30]
and eax, 0xff
dec eax
cmp eax, 0xf
ja case.default.0x5ef48a
jmp dword [eax*4 + 0x5efab8]
lea ecx, [esp + 0x14]
push ecx
push 4
push 3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea edx, [esp + 0x14]
push edx
push 4
push 3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea eax, [esp + 0x14]
push eax
push 4
push 3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea ecx, [esp + 0x14]
push ecx
jmp 0x5ef29a
lea edx, [esp + 0x14]
push edx
jmp 0x5ef29a
lea ecx, [esp + 0x14]
push ecx
push 4
push 3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea edx, [esp + 0x14]
push edx
jmp 0x5ef220
lea eax, [esp + 0x14]
push eax
jmp 0x5ef1fe
lea ecx, [esp + 0x14]
push ecx
push 4
push 3
push 6
jmp 0x5ef626
lea edx, [esp + 0x14]
push edx
jmp 0x5ef1dc
lea eax, [esp + 0x14]
push eax
push 4
push 3
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
push 7
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
cmp eax, 9
ja case.default.0x5ef2d8
jmp dword [eax*4 + 0x5efaf8]
push 1
jmp 0x5ef309
push 2
jmp 0x5ef309
push 3
jmp 0x5ef309
push 4
jmp 0x5ef309
push 5
jmp 0x5ef309
push 6
jmp 0x5ef309
push 7
jmp 0x5ef309
push 8
jmp 0x5ef309
push 9
jmp 0x5ef309
push 0xa
jmp 0x5ef309
push 0xb
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x98]
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 + 0xbc], 6
cmp eax, ebx
jae 0x5ef34f
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5ef381
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x98]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
cmp ebx, ebp
jbe 0x5ef3e0
cmp ebx, ecx
jne 0x5ef3e0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef395
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5ef3e0
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef3b2
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xbc], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x98]
jmp 0x5eec62
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5ef41c
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5ef3fc
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x98]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
push 4
push 3
push 6
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea eax, [esp + 0x14]
lea ecx, [esi + 8]
push eax
push 4
push 3
push 6
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
mov ecx, dword [esp + 0x30]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 6
ja case.default.0x5ef48a
jmp dword [eax*4 + 0x5efb20]
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
push 2
push 1
push 6
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
push 5
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
shr eax, 5
cmp eax, 7
ja case.default.0x5ef4d7
jmp dword [eax*4 + 0x5efb3c]
push 0x60
jmp 0x5ef4fc
push 0x61
jmp 0x5ef4fc
push 0x62
jmp 0x5ef4fc
push 0x63
jmp 0x5ef4fc
push 0x64
jmp 0x5ef4fc
push 0x65
jmp 0x5ef4fc
push 0x66
jmp 0x5ef4fc
push 0x67
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x68]
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 + 0xbc], 4
cmp eax, ebx
jae 0x5ef53f
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5ef56e
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x68]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
cmp ebx, ebp
jbe 0x5ef5ca
cmp ebx, ecx
jne 0x5ef5ca
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef582
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5ef5ca
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef59f
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xbc], 3
mov byte [eax - 1], cl
mov eax, dword [esp + 0x68]
jmp 0x5eec62
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5ef604
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5ef5e6
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x68]
mov byte [esp + 0xbc], 3
jmp 0x5eec62
lea ecx, [esp + 0x14]
push ecx
push 0xd3
push 0xd4
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.005f0700
jmp case.default.0x5ef48a
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
push 0x6c
push 0x6d
push 7
call fcn.00610190
and al, 4
push eax
mov ecx, esi
call fcn.005f08d0
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x40]
push eax
push 0x703498
push ecx
call fcn.00698355
add esp, 0xc
cmp dword [esp + 0x1c], ebp
jne 0x5ef8be
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x5ef692
call fcn.0069788b
mov edi, dword [esp + 0x18]
cmp edi, ebp
je 0x5ef867
mov al, byte [edi - 1]
test al, al
je 0x5ef867
cmp al, 0xff
je 0x5ef867
cmp ebx, ebp
jne 0x5ef890
dec al
push ebp
lea ecx, [esp + 0x18]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x5ef8be
push 5
push 2
lea ecx, [esp + 0x18]
call fcn.006102b0
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 3
cmp eax, 3
ja case.default.0x5ef6ec
jmp dword [eax*4 + 0x5efb5c]
push 0x68
jmp 0x5ef701
push 0x69
jmp 0x5ef701
push 0x6a
jmp 0x5ef701
push 0x6b
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x88]
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 + 0xbc], 5
cmp eax, ebx
jae 0x5ef747
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x5ef76a
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x1c]
call fcn.004140d0
jmp 0x5ef7f3
cmp ebx, ebp
jbe 0x5ef7b7
cmp ebx, ecx
jne 0x5ef7b7
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef77e
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5ef7b7
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x5ef79b
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5ef7f3
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x5ef7f3
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x5ef7d3
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
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 + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x88]
mov byte [esp + 0xbc], 3
cmp eax, ebp
je case.default.0x5ef48a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5ef821
cmp al, 0xff
je 0x5ef821
dec al
mov byte [ecx], al
jmp case.default.0x5ef48a
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x5ef48a
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x38], eax
jmp case.default.0x5ef48a
lea edx, [esp + 0x14]
lea ecx, [esi + 8]
push edx
push 0x95
push 0xa0
push 6
call fcn.00610190
and al, 8
jmp 0x5ef64f
cmp ebx, ebp
jne 0x5ef878
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
jmp 0x5ef8be
mov eax, dword [esp + 0x20]
cmp eax, 0x1f
ja 0x5ef885
cmp eax, ebx
jae 0x5ef89e
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x18]
call fcn.00414870
mov edi, dword [esp + 0x18]
mov ecx, ebx
lea esi, [esp + 0x40]
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 + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [eax + ebx], 0
mov ebp, dword [esp + 0xc4]
mov cl, byte [esp + 0x14]
mov eax, dword [esp + 0x1c]
xor edi, edi
mov byte [ebp], cl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x6ce1fc]
mov ebx, eax
cmp esi, ebx
jae 0x5ef8e9
mov ebx, esi
lea edx, [esp + 0x14]
cmp ebp, edx
jne 0x5ef94b
cmp ebx, edi
jbe 0x5ef8fa
call fcn.00697ab7
mov ecx, ebp
call fcn.00414980
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x5ef90c
mov esi, eax
cmp esi, edi
jbe 0x5ef93f
mov ecx, dword [ebp + 4]
sub eax, esi
add ebx, ecx
push eax
lea ecx, [esi + ebx]
push ecx
push ebx
call fcn.00698020
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.00414210
test al, al
je 0x5ef93f
push ebx
mov ecx, ebp
call fcn.004141f0
mov ecx, ebp
call fcn.00414980
jmp 0x5ef9d2
cmp ebx, edi
jbe 0x5ef997
cmp ebx, eax
jne 0x5ef997
mov eax, dword [esp + 0x18]
cmp eax, edi
jne 0x5ef960
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5ef997
push 1
mov ecx, ebp
call fcn.004138a0
mov eax, dword [esp + 0x18]
cmp eax, edi
jne 0x5ef97c
mov eax, 0x6ce1f8
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [ebp + 4], eax
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ecx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5ef9d2
push 1
push ebx
mov ecx, ebp
call fcn.00414210
test al, al
je 0x5ef9d2
mov esi, dword [esp + 0x18]
cmp esi, edi
jne 0x5ef9b2
mov esi, 0x6ce1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
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 [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor edi, edi
mov byte [ebx], 0
mov dword [esp + 0x3c], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0xbc], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x5efa10
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5efa07
cmp al, 0xff
je 0x5efa07
dec al
mov byte [ecx], al
jmp 0x5efa10
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0xc8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov byte [esp + 0xbc], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0xb4]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xb0
ret 8