Function at 0x4b12f0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x599b61
mov eax, dword fs:[0]
push eax
sub esp, 0x900
mov eax, dword [0x62d12c]
xor eax, esp
mov dword [esp + 0x8f8], eax
push ebx
push esi
push edi
mov eax, dword [0x62d12c]
xor eax, esp
push eax
lea eax, [esp + 0x910]
mov dword fs:[0], eax
lea eax, [esp + 0x1c]
mov edi, ecx
push eax
mov dword [esp + 0x30], edi
call fcn.004b10b0
push 0
push 0
push 0
mov esi, eax
push 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], esi
call fcn.004bf880
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x91c], 0
call fcn.004b7910
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bf1f0
movzx edx, byte [edi + 0x5b]
or ebx, 0xffffffff
push edx
lea ecx, [esp + 0x88]
mov byte [esp + 0x91c], 2
mov dword [esp + 0x2c], ebx
call fcn.004b7ae0
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x1c]
push eax
lea edx, [ecx*4]
push edx
push esi
lea ecx, [esp + 0x6e0]
call fcn.004af190
test eax, eax
je 0x4b140b
push esi
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], ebx
call fcn.004bf2c0
lea eax, [ebx + 0x26]
jmp 0x4b2398
cmp dword [edi + 0x644], 0
jle 0x4b1470
lea eax, [edi + 0x64]
push eax
lea ecx, [esp + 0x88]
call fcn.004b7b20
test al, al
jne 0x4b1470
push esi
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], ebx
call fcn.004bf2c0
mov eax, 0x29
jmp 0x4b2398
lea ecx, [esp + 0x30]
push ecx
xor ebx, ebx
push ebx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x28], ebx
call fcn.004b92e0
test eax, eax
jne 0x4b1587
cmp ebx, 0xa
jae 0x4b153b
lea ecx, [esp + 0x30]
call fcn.004beed0
mov edx, dword [esp + 0x20]
mov esi, eax
lea ecx, [esp + 0x30]
mov dword [esp + edx*8 + 0x6e4], esi
call fcn.004beee0
cmp dword [edi + 0x644], 0
mov ebx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + eax*8 + 0x6e8], ebx
jle 0x4b150f
push ebx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
push esi
lea ecx, [esp + 0x88]
mov edi, eax
call fcn.004bbdc0
add ebx, edi
dec edi
lea ecx, [eax - 1]
mov eax, dword [esp + 0x20]
not edi
not ecx
and ebx, edi
mov edi, dword [esp + 0x2c]
and ecx, esi
dec ebx
mov dword [esp + eax*8 + 0x6e4], ecx
mov dword [esp + eax*8 + 0x6e8], ebx
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x30]
inc ebx
push edx
push ebx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x28], ebx
call fcn.004b92e0
mov esi, dword [esp + 0x18]
test eax, eax
je 0x4b1490
cmp ebx, 0xa
jb 0x4b1587
push esi
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x28
jmp 0x4b2398
cmp dword [edi + 0x20], 0x60000
jb 0x4b15e4
cmp ebx, dword [edi + 0x644]
je 0x4b15e4
push esi
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x1d
jmp 0x4b2398
cmp dword [edi + 0x644], 0
mov dword [esp + 0x10], 0
jle 0x4b17a3
mov eax, dword [edi + 0x28]
push eax
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x8c]
call fcn.004bc4b0
test eax, eax
je 0x4b165e
push esi
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x25
jmp 0x4b2398
cmp byte [esp + 0x680], 0
lea ecx, [esp + 0x30]
je 0x4b16db
call fcn.004beed0
lea ecx, [esp + 0x30]
mov dword [esp + 0x774], eax
call fcn.004beee0
push 0
push 0x32
lea ecx, [esp + 0x6dc]
mov dword [esp + 0x780], eax
call fcn.004ae4c0
test eax, eax
je 0x4b16b3
mov eax, dword [eax + 4]
mov dword [esp + 0x77c], eax
mov dword [esp + 0x28], 1
jmp 0x4b1794
lea ecx, [esp + 0x30]
call fcn.004beee0
inc eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x77c], eax
call fcn.004beee0
inc eax
mov dword [esp + 0x28], 1
jmp 0x4b1794
call fcn.004beee0
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
lea ecx, [esp + 0x30]
mov ebx, eax
call fcn.004beed0
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
lea esi, [eax - 1]
lea ecx, [esp + 0x30]
not esi
call fcn.004beed0
and eax, esi
lea edi, [ebx - 1]
lea ecx, [esp + 0x30]
mov dword [esp + 0x774], eax
not edi
call fcn.004beee0
add eax, ebx
and eax, edi
lea edx, [esp + 0x30]
dec eax
push edx
lea ecx, [esp + 0x88]
mov dword [esp + 0x77c], eax
call fcn.004bc740
test eax, eax
je 0x4b1755
mov eax, dword [esp + 0x18]
push eax
jmp 0x4b1613
lea ecx, [esp + 0x30]
call fcn.004beed0
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
lea esi, [eax - 1]
lea ecx, [esp + 0x30]
not esi
call fcn.004beed0
and eax, esi
lea ecx, [esp + 0x30]
mov dword [esp + 0x77c], eax
call fcn.004beee0
add eax, ebx
and eax, edi
mov edi, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x780], eax
push 0
push 0x100
lea ecx, [esp + 0x6dc]
call fcn.004ae4c0
mov ebx, eax
test ebx, ebx
je 0x4b1e35
movzx eax, byte [ebx]
cmp eax, 0x3d
ja case.0x4b17d3.13
movzx ecx, byte [eax + 0x4b24a0]
jmp dword [ecx*4 + 0x4b2464]
mov edx, dword [esp + 0x2c]
mov byte [edx + 0x5e], 1
jmp case.0x4b17d3.0
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
add esi, esi
add esi, esi
add esi, esi
push 0
lea edi, [esp + esi + 0x778]
push 0x1a
lea ecx, [esp + 0x6dc]
mov dword [edi], eax
call fcn.004ae4c0
test eax, eax
je 0x4b161b
mov ecx, dword [eax + 4]
mov dword [esp + esi + 0x778], ecx
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], ecx
mov dword [esp + esi + 0x778], edx
jmp 0x4b1da7
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
lea esi, [ecx*8]
lea edi, [esp + esi + 0x774]
mov dword [edi], eax
mov dword [esp + esi + 0x778], edx
cmp dword [esp + 0x28], ecx
jae 0x4b1da7
mov ecx, dword [esp + 0x28]
dec eax
mov dword [esp + ecx*8 + 0x778], eax
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
add esi, esi
add esi, esi
add esi, esi
lea edx, [esp + esi + 0x778]
mov dword [edx], eax
xor eax, eax
lea edi, [esp + esi + 0x774]
mov dword [edi], ecx
mov dword [esp + 0x24], edx
cmp dword [esp + 0x20], eax
jbe 0x4b1da7
mov edx, dword [esp + 0x20]
jmp 0x4b18c0
cmp ecx, dword [esp + eax*8 + 0x6e4]
jb 0x4b18d2
cmp ecx, dword [esp + eax*8 + 0x6e8]
jbe 0x4b18dc
inc eax
cmp eax, edx
jb 0x4b18c0
jmp 0x4b1da7
mov ecx, dword [ebx + 8]
cmp ecx, dword [esp + eax*8 + 0x6e4]
jb 0x4b18f5
cmp ecx, dword [esp + eax*8 + 0x6e8]
jbe 0x4b1da7
xor ecx, ecx
jmp 0x4b1900
mov edx, dword [ebx + 8]
cmp edx, dword [esp + ecx*8 + 0x6e4]
jb 0x4b1915
cmp edx, dword [esp + ecx*8 + 0x6e8]
jbe 0x4b1921
inc ecx
cmp ecx, dword [esp + 0x20]
jb 0x4b1900
jmp 0x4b1da7
mov eax, dword [esp + eax*8 + 0x6e8]
mov ecx, dword [esp + ecx*8 + 0x6e4]
lea edx, [eax + 1]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
cmp edx, ecx
jne 0x4b161b
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov esi, eax
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x1c]
lea edx, [esi + ecx]
mov ecx, dword [esp + 0x14]
dec eax
dec esi
not eax
and dword [edi], eax
mov eax, dword [esp + 0x24]
not esi
and edx, esi
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 8]
inc eax
lea esi, [eax*8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
lea edi, [esp + esi + 0x774]
mov dword [edi], ecx
mov dword [esp + esi + 0x778], edx
mov byte [eax + 0x649], 1
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
add esi, esi
add esi, esi
add esi, esi
push 0
lea edi, [esp + esi + 0x778]
push 8
lea ecx, [esp + 0x6dc]
mov dword [esp + 0x24], 0xffffffff
mov dword [edi], eax
call fcn.004ae4c0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4b1a07
push eax
push 0x15
lea ecx, [esp + 0x6dc]
call fcn.004ae4c0
mov dword [esp + 0x24], eax
test eax, eax
je 0x4b161b
mov ecx, eax
mov eax, dword [ecx + 0x10]
jmp 0x4b1a0b
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 8]
mov dword [esp + esi + 0x778], ecx
cmp eax, 0xffffffff
jne 0x4b1a50
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x18], eax
call fcn.004bbdc0
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
push ecx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp eax, dword [esp + esi + 0x778]
jae 0x4b1ab7
lea ecx, [ecx]
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
test eax, eax
je 0x4b1ab7
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx + 4]
jne 0x4b1e82
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + esi + 0x778]
jb 0x4b1a60
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jbe 0x4b1da7
mov eax, dword [edi]
mov edx, dword [esp + 0x20]
lea esp, [esp]
cmp eax, dword [esp + ecx*8 + 0x6e4]
jb 0x4b1ae2
cmp eax, dword [esp + ecx*8 + 0x6e8]
jbe 0x4b1aec
inc ecx
cmp ecx, edx
jb 0x4b1ad0
jmp 0x4b1da7
mov edx, dword [esp + esi + 0x778]
cmp edx, dword [esp + ecx*8 + 0x6e4]
jb 0x4b1b09
cmp edx, dword [esp + ecx*8 + 0x6e8]
jbe 0x4b1da7
xor eax, eax
jmp 0x4b1b17
mov edx, dword [esp + esi + 0x778]
cmp edx, dword [esp + eax*8 + 0x6e4]
jb 0x4b1b29
cmp edx, dword [esp + eax*8 + 0x6e8]
jbe 0x4b1b35
inc eax
cmp eax, dword [esp + 0x20]
jb 0x4b1b10
jmp 0x4b1da7
mov ecx, dword [esp + ecx*8 + 0x6e8]
mov eax, dword [esp + eax*8 + 0x6e4]
mov dword [esp + 0x1c], ecx
inc ecx
mov dword [esp + 0x14], eax
cmp ecx, eax
jne 0x4b174b
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [edi]
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x28], eax
call fcn.004bbdc0
mov edx, dword [esp + esi + 0x778]
mov ecx, dword [esp + 0x24]
dec eax
not eax
and dword [edi], eax
lea eax, [esp + esi + 0x778]
mov dword [esp + esi + 0x780], edx
mov edx, dword [esp + 0x1c]
add edx, ecx
dec ecx
not ecx
and edx, ecx
mov ecx, dword [esp + 0x2c]
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
inc eax
lea esi, [eax*8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
lea edi, [esp + esi + 0x774]
mov dword [edi], eax
mov byte [ecx + 0x649], 1
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], eax
mov dword [esp + esi + 0x778], ecx
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x4b1da7
lea ecx, [ecx]
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, eax
test ecx, ecx
je 0x4b1da7
mov eax, dword [ebx + 4]
xor edx, edx
div ecx
test edx, edx
jne 0x4b1ed2
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + esi + 0x778]
jb 0x4b1c00
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], ecx
mov dword [esp + esi + 0x778], edx
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], eax
mov dword [esp + esi + 0x778], ecx
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x4b1da7
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
test eax, eax
je 0x4b1da7
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
cmp eax, dword [ebx + 4]
jne 0x4b1e82
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + esi + 0x778]
jb 0x4b1ca4
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
add esi, esi
add esi, esi
add esi, esi
mov eax, dword [esp + esi + 0x774]
lea edi, [esp + esi + 0x774]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [ebx + 4]
mov dword [edi], ecx
cmp eax, 0x2000
ja 0x4b1d36
mov eax, 0x2000
lea ecx, [eax + ecx - 1]
mov dword [esp + esi + 0x778], ecx
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], ecx
mov dword [esp + esi + 0x778], edx
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], eax
mov dword [esp + esi + 0x778], ecx
jmp 0x4b1da7
mov esi, dword [esp + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add esi, esi
add esi, esi
add esi, esi
lea edi, [esp + esi + 0x774]
mov dword [edi], edx
mov dword [esp + esi + 0x778], eax
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x644], 0
jle 0x4b1e03
cmp byte [esp + 0x680], 0
jne 0x4b1e03
mov eax, dword [esp + esi + 0x778]
lea esi, [esp + esi + 0x778]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov dword [esp + 0x1c], eax
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x88]
call fcn.004bbdc0
mov ecx, dword [esp + 0x1c]
dec eax
not eax
and eax, dword [edi]
mov dword [edi], eax
mov eax, dword [esi]
add eax, ecx
dec ecx
not ecx
and eax, ecx
dec eax
mov dword [esi], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x32
jae 0x4b1ed9
push ebx
push 0x100
lea ecx, [esp + 0x6dc]
call fcn.004ae4c0
mov ebx, eax
test ebx, ebx
jne 0x4b17c0
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x644]
xor esi, esi
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4b2104
cmp byte [edi + 0x5a], 0
jne 0x4b2104
cmp byte [esp + 0x680], 0
jne 0x4b2104
xor ebx, ebx
cmp dword [esp + 0x20], ebx
jbe 0x4b2104
lea eax, [edi + 0x68]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x4b1eed
mov ecx, dword [edi + 0x68]
jmp 0x4b1efd
mov edx, dword [esp + 0x18]
push edx
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x36
jmp 0x4b2398
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4b1e87
mov eax, dword [esp + 0x18]
push eax
jmp 0x4b153c
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4b1613
cmp eax, dword [esp + 0x20]
jne 0x4b219e
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
xor edx, edx
mov eax, 0x5cafc8
cmp ecx, dword [eax - 0x48]
je 0x4b1f50
cmp ecx, dword [eax]
je 0x4b1f3b
cmp ecx, dword [eax + 0x48]
je 0x4b1f3e
cmp ecx, dword [eax + 0x90]
je 0x4b1f43
cmp ecx, dword [eax + 0xd8]
je 0x4b1f48
cmp ecx, dword [eax + 0x120]
je 0x4b1f4d
add eax, 0x1b0
add edx, 6
cmp eax, 0x5cb838
jl 0x4b1f04
jmp 0x4b1f50
inc edx
jmp 0x4b1f50
add edx, 2
jmp 0x4b1f50
add edx, 3
jmp 0x4b1f50
add edx, 4
jmp 0x4b1f50
add edx, 5
lea eax, [edx + edx*8]
add eax, eax
add eax, eax
mov ecx, dword [eax + eax + 0x5cafb8]
add eax, eax
cmp ecx, 3
ja case.default.0x4b1f69
jmp dword [ecx*4 + 0x4b24e0]
mov eax, dword [esp + ebx*8 + 0x6e4]
cmp eax, 0x1000000
jne 0x4b1fad
mov eax, dword [esp + ebx*8 + 0x6e8]
lea ecx, [eax - 0x1ffff]
mov dword [esp + esi*8 + 0x734], ecx
mov dword [esp + esi*8 + 0x738], eax
inc esi
cmp esi, 8
jb case.0x4b1f69.0
mov edx, dword [esp + 0x18]
push edx
jmp 0x4b153c
cmp eax, 0x2000000
jne 0x4b1fcb
mov dword [esp + esi*8 + 0x734], eax
mov dword [esp + esi*8 + 0x738], 0x201ffff
jmp 0x4b20e7
mov dword [esp + esi*8 + 0x734], eax
add eax, 0x1ffff
mov dword [esp + esi*8 + 0x738], eax
inc esi
cmp esi, 8
jae 0x4b2091
mov eax, dword [esp + ebx*8 + 0x6e8]
lea edx, [eax - 0x1ffff]
mov dword [esp + esi*8 + 0x734], edx
mov dword [esp + esi*8 + 0x738], eax
inc esi
cmp esi, 8
jae 0x4b1fa3
jmp case.0x4b1f69.0
mov ecx, dword [edi + 0x28]
cmp ecx, 0x84000d03
je 0x4b2041
cmp ecx, 0x84000e03
je 0x4b2041
cmp ecx, 0x8d000e03
je 0x4b2041
cmp ecx, 0x84000f03
je 0x4b2041
cmp ecx, 0x96000f03
je 0x4b2041
cmp ecx, 0x8d000f03
jne 0x4b204b
cmp byte [edi + 0x5b], 0
je case.0x4b1f69.0
mov ecx, dword [esp + ebx*8 + 0x6e4]
mov eax, dword [eax + 0x5cafbc]
mov dword [esp + esi*8 + 0x734], ecx
add ecx, eax
mov dword [esp + esi*8 + 0x738], ecx
inc esi
cmp esi, 8
jae 0x4b1ed9
mov ecx, dword [esp + ebx*8 + 0x6e8]
mov edx, ecx
sub edx, eax
mov dword [esp + esi*8 + 0x734], edx
mov dword [esp + esi*8 + 0x738], ecx
inc esi
cmp esi, 8
jb case.0x4b1f69.0
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4b153c
cmp dword [esp + ebx*8 + 0x6e4], 0
jne 0x4b20c9
mov eax, dword [eax + 0x5cafbc]
mov dword [esp + esi*8 + 0x734], 0
mov dword [esp + esi*8 + 0x738], eax
inc esi
cmp esi, 8
jae 0x4b1fa3
jmp case.0x4b1f69.0
mov ecx, dword [eax + 0x5cafbc]
add ecx, 0x1000000
mov dword [esp + esi*8 + 0x734], 0x1000000
mov dword [esp + esi*8 + 0x738], ecx
inc esi
cmp esi, 8
jae 0x4b1ed9
add dword [esp + 0x28], 0xbc
inc ebx
cmp ebx, dword [esp + 0x20]
jb 0x4b1e74
cmp dword [esp + 0x10], 0
mov dword [esp + 0x24], 0
jbe 0x4b2350
jmp 0x4b2120
cmp byte [esp + 0x680], 0
je 0x4b21a8
mov eax, dword [esp + 0x24]
mov edi, dword [esp + eax*8 + 0x778]
lea ecx, [esp + 0x774]
mov edx, dword [ecx + eax*8]
cmp edx, edi
ja 0x4b23bc
mov ebx, eax
jmp 0x4b222e
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x29
jmp 0x4b2398
mov edx, dword [esp + 0x18]
push edx
jmp 0x4b1599
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + ebx*8 + 0x778]
lea eax, [esp + 0x774]
mov eax, dword [eax + ebx*8]
mov dword [esp + 0x14], eax
cmp eax, edi
jae case.0x4b17d3.13
test al, 3
jne case.0x4b17d3.13
lea eax, [edi + 1]
test al, 3
jne case.0x4b17d3.13
cmp dword [esp + 0x1c], 0
jle 0x4b222a
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x88]
call fcn.004bbdc0
lea ebx, [eax - 1]
not ebx
and ebx, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x88]
call fcn.004bbdc0
lea ecx, [eax - 1]
not ecx
add eax, edi
and ecx, eax
dec ecx
cmp dword [esp + 0x14], ebx
jne 0x4b174b
cmp edi, ecx
jne 0x4b174b
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
xor eax, eax
test ecx, ecx
je 0x4b2257
jmp 0x4b2240
cmp edx, dword [esp + eax*8 + 0x6e4]
jb 0x4b2252
cmp edi, dword [esp + eax*8 + 0x6e8]
jbe 0x4b22a7
inc eax
cmp eax, ecx
jb 0x4b2240
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x26
jmp 0x4b2398
lea eax, [ebx + 1]
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x10]
jae 0x4b22e4
lea ecx, [esp + 0x774]
mov ecx, dword [ecx + eax*8]
cmp ecx, edx
jb 0x4b22ca
cmp ecx, edi
jbe 0x4b23c6
mov ecx, dword [esp + eax*8 + 0x778]
cmp ecx, edx
jb 0x4b22dd
cmp ecx, edi
jbe 0x4b23c6
inc eax
cmp eax, dword [esp + 0x10]
jb 0x4b22b4
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x644]
mov dword [esp + 0x1c], ecx
test ecx, ecx
jle 0x4b233e
test ebx, ebx
je 0x4b233e
cmp byte [eax + 0x5a], 0
jne 0x4b233e
xor eax, eax
test esi, esi
je 0x4b233e
jmp 0x4b2310
mov ecx, dword [esp + eax*8 + 0x734]
cmp edx, ecx
jb 0x4b2328
cmp edx, dword [esp + eax*8 + 0x738]
jbe 0x4b2413
cmp edi, ecx
jb 0x4b2339
cmp edi, dword [esp + eax*8 + 0x738]
jbe 0x4b2413
inc eax
cmp eax, esi
jb 0x4b2310
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x10]
jb 0x4b2120
mov edx, dword [esp + 0x18]
push edx
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
xor eax, eax
mov ecx, dword [esp + 0x910]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8f8]
xor ecx, esp
call fcn.00558b78
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x18]
push edx
jmp 0x4b1613
mov edx, dword [esp + 0x18]
push edx
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x27
jmp 0x4b2398
mov eax, dword [esp + 0x18]
push eax
call fcn.0055a04a
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x918], 1
call fcn.004bee60
lea ecx, [esp + 0x84]
mov byte [esp + 0x918], 0
call fcn.004b7a70
lea ecx, [esp + 0x48]
mov dword [esp + 0x918], 0xffffffff
call fcn.004bf2c0
mov eax, 0x2a
jmp 0x4b2398