Function at 0x6087bf
Capabilities:
Get number of processors

Disassembly:
mov dword [ebp - 0xd8], 0x40
mov dword [ebp - 0x428], 0x69
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x428]
jle 0x603948
push 0xffffffffffffffff
push 0x1507f7b7
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x1509f220]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
add eax, 0x14
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x34]
add edx, 4
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x18], 0xffffffff
dec dword [ebx + 0x40c7cc45]
sbb al, 0
add byte [eax], al
invalid
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x20], 0
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x34]
add eax, 0x28
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x34]
add edx, 0x2c
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0x34]
add edx, 0x34
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx], 0
mov edx, dword [ebp - 0x30]
add edx, 8
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
add eax, 0xc
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov dword [ecx], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x150854f0]
mov dword [ecx + 0x20], edx
mov eax, dword [ebp - 0x30]
mov dword [eax], 0x15087b5c
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34]
add ecx, 0x58
call fcn.00619567
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x124], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
mov dword [ebp - 0x724], 0x1d
mov dword [ebp - 0x64c], 0x96
mov ecx, dword [ebp - 0x724]
cmp ecx, dword [ebp - 0x64c]
jle 0x6039bc
push 0xffffffffffffffff
push 0x10016178
mov eax, dword fs:[0]
push eax
push ecx
mov eax, dword [0x1001f01c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
add ecx, 4
call 0x605907
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
call 0x605907
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
mov dword [ebp - 0x564], 0x2c
mov dword [ebp - 0x560], 0x9c
mov edx, dword [ebp - 0x564]
cmp edx, dword [ebp - 0x560]
jle 0x6039f4
mov eax, dword [ebp + 0xc]
push eax
mov cx, word [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call 0x6039fb
add esp, 0xc
pop ebp
mov dword [ebp - 0x974], 0x1d
mov dword [ebp - 0x970], 0xa6
idiv bh
jmp dword [esi - 0x75000000]
test dword [esi + esi*8 - 0x7ac40001], ecx
nop
idiv bh
dec dword [edi]
invalid
lea eax, [ecx]
add byte [eax], al
sub esp, 0x51c
mov eax, dword [0x4461c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
lea eax, [ebp - 0x518]
push eax
push dword [esi + 4]
call dword [0x4361b4]
mov edi, 0x100
test eax, eax
je 0x603b44
sti
add byte [eax], al
invalid
xor eax, eax
mov byte [ebp + eax - 0x104], al
inc eax
cmp eax, edi
jb 0x603a4b
mov al, byte [ebp - 0x512]
mov byte [ebp - 0x104], 0x20
test al, al
je 0x603a96
lea ebx, [ebp - 0x511]
movzx ecx, al
movzx eax, byte [ebx]
cmp ecx, eax
ja 0x603a8e
sub eax, ecx
inc eax
push eax
lea edx, [ebp + ecx - 0x104]
push 0x20
push edx
call fcn.0060016d
add esp, 0xc
inc ebx
mov al, byte [ebx]
inc ebx
test al, al
jne 0x603a6e
push 0
push dword [esi + 0xc]
lea eax, [ebp - 0x504]
push dword [esi + 4]
push eax
push edi
lea eax, [ebp - 0x104]
push eax
push 1
push 0
call fcn.00609eeb
xor ebx, ebx
push ebx
push dword [esi + 4]
lea eax, [ebp - 0x204]
push edi
push eax
push edi
lea eax, [ebp - 0x104]
lea eax, [esi + 0x11d]
mov dword [ebp - 0x51c], 0xffffff9f
xor ecx, ecx
sub dword [ebp - 0x51c], eax
mov edx, dword [ebp - 0x51c]
lea eax, [esi + ecx + 0x11d]
add edx, eax
lea ebx, [edx + 0x20]
cmp ebx, 0x19
ja 0x603b7f
or byte [esi + ecx + 0x1d], 0x10
mov dl, cl
add dl, 0x20
jmp 0x603b8e
cmp edx, 0x19
ja 0x603b92
or byte [esi + ecx + 0x1d], 0x20
mov dl, cl
sub dl, 0x20
mov byte [eax], dl
jmp 0x603b95
mov byte [eax], 0
inc ecx
cmp ecx, edi
jb 0x603b5c
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call 0x5fcac0
leave
push 0x13
lea ecx, [ebp - 0x540]
sar dl, 0xff
call dword [ecx + 0x68]
add byte [ecx], al
add byte [eax], al
push 0x6c4570
call fcn.005fdb80
add esp, 0x10
mov dword [ebp - 0x648], 0x52
mov dword [ebp - 0x79c], 0x98
mov edx, dword [ebp - 0x648]
cmp edx, dword [ebp - 0x79c]
jle 0x603bf6
push ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
call 0x6022d1
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
mov dword [ebp - 0x55c], 0x2a
mov dword [ebp - 0xd4], 0xb7
mov eax, dword [ebp - 0x55c]
cmp eax, dword [ebp - 0xd4]
jle 0x603c45
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x603c40
push edi
lea edi, [ecx + 8]
movzx eax, word [esi]
push edi
push eax
call 0x71c47e
mov word [esi], ax
add esi, 2
add esp, 8
cmp esi, ebx
jne 0x603c28
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
mov dword [ebp - 0x424], 0x42
mov dword [ebp - 0xd0], 0xc7
mov ecx, dword [ebp - 0x424]
cmp ecx, dword [ebp - 0xd0]
jle 0x603c72
push 0
mov ecx, dword [ebp + 8]
call 0x603c74
pop ebp
mov dword [ebp - 0x188], 0x39
mov dword [ebp - 0x8b4], 0xc4
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x8b4]
jle 0x603cb2
mov eax, dword [ebp + 8]
cmp ecx, eax
je 0x603cb1
mov edx, dword [ecx + 4]
push esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov dword [eax + 4], edx
mov esi, dword [eax]
mov edx, dword [ecx]
mov dword [ecx], esi
mov dword [eax], edx
pop esi
pop ebp
mov dword [ebp - 0x798], 0x3c
mov dword [ebp - 0x96c], 0x83
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0x96c]
jle 0x603d0e
push ecx
mov dword [ebp - 4], ecx
jmp 0x603ce3
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp + 0xc]
push 0xd
lea ecx, [ebp - 0x8e0]
push ecx
push 0x100
push 0x6c4570
call fcn.005fdb80
add esp, 0x10
mov dword [ebp - 0x34c], 0x40
mov dword [ebp - 0x280], 0x88
mov edx, dword [ebp - 0x34c]
cmp edx, dword [ebp - 0x280]
jle 0x60413d
push 0xffffffffffffffff
push 0x6989fe5c
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x698b1018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
mov dword [ebp - 0x68], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push eax
lea edi, [ebp - 0x54]
call fcn.006023cc
add esp, 4
add esi, 8
push esi
lea esi, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.005e739c
mov byte [ebp - 4], 3
mov esi, dword [eax]
mov dword [ebp - 0x64], esi
cmp esi, ebx
je 0x603dc1
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call edx
add esp, 4
mov byte [ebp - 4], 4
mov dword [ebp - 0x60], ebx
cmp esi, ebx
je 0x603dec
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 0x200
lea ecx, [ebp - 0x60]
push ecx
push 0x2bc
push esi
call edx
add esp, 0x10
cmp eax, ebx
je 0x603dec
mov dword [ebp - 0x60], ebx
mov ebx, 6
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x5c]
xor edi, edi
cmp eax, edi
je 0x603e08
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
cmp dword [ebp - 0x60], edi
je 0x603fbd
mov esi, dword [0x698a1274]
push 0x5c
push 0x698a4348
call esi
add esp, 8
test eax, eax
je 0x603e38
push 0x5c
push 0x698a4348
call esi
add esp, 8
lea esi, [eax + 1]
jmp 0x603e3d
mov esi, 0x698a4348
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x30], eax
neg eax
sbb eax, eax
and eax, 0x200
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 0x201
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x18], 0x20
mov edx, 0x698a163c
lea edi, [ebp - 0x34]
mov byte [ebp - 4], 7
mov eax, edx
xor ecx, ecx
lea ecx, [ecx]
cmp byte [eax], 0
je 0x603e85
inc ecx
inc eax
jmp 0x603e7c
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.005e19ac
add esp, 0x10
mov edx, esi
test esi, esi
jne 0x603ea0
mov edx, 0x698a15dc
xor ecx, ecx
mov eax, edx
test edx, edx
je 0x603eb5
lea esp, [esp]
cmp byte [eax], 0
je 0x603eb5
inc ecx
inc eax
jmp 0x603eac
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.005e19ac
add esp, 0x10
push 1
lea ecx, [ebp - 0x58]
push ecx
push 0
push 0
mov eax, edi
mov byte [ebp - 0x58], 0x3a
call fcn.005e19ac
mov eax, dword [edi + 0x10]
and eax, 0xe00
add esp, 0x10
cmp eax, 0x400
je 0x603efd
sub eax, 0x800
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 0x10
jmp 0x603f02
mov eax, 8
push 0
push 0xc8
mov edx, 0x698a16a8
mov ecx, eax
mov ebx, edi
call fcn.005e1a6c
mov edx, 0x698a1620
add esp, 8
mov eax, edx
xor ecx, ecx
cmp byte [eax], 0
je 0x603f2c
inc ecx
inc eax
jmp 0x603f23
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.005e19ac
mov edx, 0x698a478c
add esp, 0x10
mov eax, edx
xor ecx, ecx
lea esp, [esp]
cmp byte [eax], 0
je 0x603f55
inc ecx
inc eax
jmp 0x603f4c
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.005e19ac
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
add esp, 0x10
push edx
push eax
mov eax, edi
call fcn.005f0b9c
mov edx, 0x698a47b8
add esp, 8
mov eax, edx
xor ecx, ecx
cmp byte [eax], 0
je 0x603f89
inc ecx
inc eax
jmp 0x603f80
push ecx
push edx
push 0
push 0
mov eax, edi
call fcn.005e19ac
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x34]
add esp, 0x10
test eax, eax
je 0x603fbb
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x603fbb
mov esi, dword [ebp - 0x28]
mov edx, dword [eax]
push esi
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0xc
xor edi, edi
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x64]
cmp eax, edi
je 0x603fd3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov dword [ebp - 0x5c], edi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 4], 9
mov byte [ebp - 0x24], 0
mov eax, 0x698a46e0
xor ecx, ecx
lea esp, [esp]
cmp byte [eax], 0
je 0x604005
inc ecx
inc eax
jmp 0x603ffc
mov ebx, ecx
push 0x698a46e0
lea ecx, [ebp - 0x34]
call fcn.005efd9c
lea ecx, [ebp - 0x54]
push ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x34]
push edx
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], esp
test eax, eax
je 0x60404a
mov edx, dword [eax]
push eax
mov eax, dword [edx]
call eax
add esp, 4
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.006031cc
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x2c], 0
jbe 0x60408c
mov esi, dword [ebp - 0x34]
lea edx, [ebp - 0x24]
cmp esi, edx
je 0x60408c
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x60407c
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push esi
push eax
call edx
call dword [0x698a1008]
push esi
push 0
push eax
call dword [0x698a1004]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x6040a2
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov byte [ebp - 4], 2
test edi, edi
je 0x6040b5
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
add esp, 4
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x4c], 0
jbe 0x6040ee
mov esi, dword [ebp - 0x54]
lea edx, [ebp - 0x44]
cmp esi, edx
je 0x6040ee
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x6040de
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push esi
push eax
call edx
add esp, 8
jmp 0x6040ee
call dword [0x698a1008]
push esi
push 0
push eax
call dword [0x698a1004]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x604104
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x60411d
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
xor eax, eax
jmp 0x60415a
mov dword [ebp - 0x40], 0xe
mov dword [ebp - 0x184], 0xc4
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x184]
jle 0x604262
add dword [eax], eax
add byte [ebx - 0x137c071c], al
sbb al, 0x53
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
call 0x603efa
mov esi, eax
xor ecx, ecx
mov dword [ebp - 0x644], 0x2c
mov dword [ebp - 0x640], 0x7c
mov ecx, dword [ebp - 0x644]
cmp ecx, dword [ebp - 0x640]
jle 0x604293
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0060420b
pop ebp
mov dword [ebp - 0x180], 0x4a
mov dword [ebp - 0x30c], 0x86
mov edx, dword [ebp - 0x180]
cmp edx, dword [ebp - 0x30c]
jle 0x6042cd
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp byte [ecx + 0x29], 0
jne 0x6042cc
mov edi, edi
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0x29], 0
je 0x6042c2
pop ebp
mov dword [ebp - 0x420], 0x35
mov dword [ebp - 0x17c], 0xba
mov eax, dword [ebp - 0x420]
cmp eax, dword [ebp - 0x17c]
jle 0x604364
push 0xffffffffffffffff
push 0x64faf0
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x759b6c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.006037ac
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call 0x604eec
jmp 0x604365
mov dword [ebp - 0x720], 0x19
mov dword [ebp - 0x71c], 0x89
mov ecx, dword [ebp - 0x720]
cmp ecx, dword [ebp - 0x71c]
jle 0x6047d2
test eax, esp
clc
invalid
sub esp, 0x28
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [0x6f3845f8]
mov esi, 0x6f3845f8
cmp eax, esi
je 0x6043c1
test byte [eax + 0x1c], 1
je 0x6043c1
cmp byte [eax + 0x19], 4
jb 0x6043c1
push 0x6f36e18c
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00603a45
add esp, 0x10
xor eax, eax
push eax
push eax
push 0x6f36e2e0
push eax
push 1
push eax
lea ecx, [edi + 0x9c]
call 0x6661d9
test eax, eax
jne 0x604407
mov eax, dword [0x6f3845f8]
cmp eax, esi
je 0x604407
test byte [eax + 0x1c], 1
je 0x604407
cmp byte [eax + 0x19], 2
jb 0x604407
push 0x6f36e18c
push 0xb
push dword [eax + 0x14]
lea ebx, [edi + 0x7c]
push ebx
lea ecx, [edi + 0x54]
call fcn.00607831
test eax, eax
js 0x60479d
cmp dword [ebx], 0
je 0x60479d
mov ecx, dword [0x6f3845f8]
cmp ecx, esi
je 0x604450
test byte [ecx + 0x1c], 1
je 0x604450
cmp byte [ecx + 0x19], 4
jb 0x604450
push eax
push 0x6f36e18c
push 0xd
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.00606a3c
add esp, 0x14
mov ecx, dword [ebx]
mov eax, dword [ecx]
lea ebx, [edi + 0x80]
push ebx
push dword [0x6f38400c]
call dword [eax + 0x10]
mov ecx, eax
mov dword [ebp - 4], ecx
test ecx, ecx
js 0x604725
cmp dword [ebx], 0
je 0x604725
invalid
clc
call 0x63ad90
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x60886d
push ebx
push 0x3aa6
mov ecx, edi
call fcn.00602a1e
mov eax, dword [esi + 0xc8]
add eax, 4
mov ecx, edi
mov dword [esp], 0x3aa4
call fcn.00602a1e
mov eax, dword [esi + 0xc8]
add eax, 0xc
mov ecx, edi
mov dword [esp], 0x3aa5
call fcn.00602a1e
mov eax, dword [esi + 0xc8]
add byte [ecx - 0x7d], bl
rcl byte [eax + edx*2], 0x68
cmpsd dword [esi], dword es:[edi]
cmp al, byte [eax]
add byte [edi - 1], dl
adc eax, 0x10043920
mov ebx, dword [0x10043940]
mov edi, 0x3aaa
push edi
mov ecx, esi
call ebx
test eax, eax
je 0x60884b
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp + 8]
add eax, 0x10
push edi
call fcn.00602a1e
pop ecx
mov edi, 0x3aa9
push edi
mov ecx, esi
call ebx
pop ebx
test eax, eax
je 0x60886d
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp + 8]
add eax, 8
push edi
call fcn.00602a1e
pop ecx
pop edi
pop esi
pop ebp
mov dword [ebp - 0x780], 0x25
mov dword [ebp - 0x94c], 0x94
mov edx, dword [ebp - 0x780]
cmp edx, dword [ebp - 0x94c]
jle 0x6089f6
push ecx
push ebx
push esi
push edi
call fcn.00604fab
dec dword [ebx - 0xf74f783]
mov edx, dword [esi + 0x54]
mov eax, dword [0x10017354]
mov ecx, edx
cmp dword [ecx], edi
je 0x6088bf
lea ebx, [eax + eax*2]
add ecx, 0xc
lea ebx, [edx + ebx*4]
cmp ecx, ebx
jb 0x6088ae
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
cmp ecx, eax
jae 0x6088cd
cmp dword [ecx], edi
je 0x6088cf
xor ecx, ecx
test ecx, ecx
je 0x6089e9
mov ebx, dword [ecx + 8]
test ebx, ebx
mov dword [ebp + 8], ebx
je 0x6089e9
cmp ebx, 5
jne 0x6088f6
and dword [ecx + 8], 0
xor eax, eax
inc eax
jmp 0x6089f2
cmp ebx, 1
je 0x6089e4
mov eax, dword [esi + 0x58]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x58], eax
mov eax, dword [ecx + 4]
cmp eax, 8
jne 0x6089d6
mov edx, dword [0x10017348]
mov eax, dword [0x1001734c]
add eax, edx
cmp edx, eax
jge 0x60894f
lea eax, [edx + edx*2]
shl eax, 2
mov edi, dword [esi + 0x54]
and dword [eax + edi + 8], 0
mov edi, dword [0x10017348]
mov ebx, dword [0x1001734c]
inc edx
add ebx, edi
add eax, 0xc
cmp edx, ebx
jl 0x60892e
mov ebx, dword [ebp + 8]
mov ecx, dword [ecx]
cmp ecx, 0xc000008e
mov edi, dword [esi + 0x5c]
jne 0x608965
mov dword [esi + 0x5c], 0x83
jmp 0x6089c9
cmp ecx, 0xc0000090
jne 0x608976
mov dword [esi + 0x5c], 0x81
jmp 0x6089c9
cmp ecx, 0xc0000091
jne 0x608987
mov dword [esi + 0x5c], 0x84
jmp 0x6089c9
cmp ecx, 0xc0000093
jne 0x608998
mov dword [esi + 0x5c], 0x85
jmp 0x6089c9
cmp ecx, 0xc000008d
jne 0x6089a9
mov dword [esi + 0x5c], 0x82
jmp 0x6089c9
cmp ecx, 0xc000008f
jne 0x6089ba
mov dword [esi + 0x5c], 0x86
jmp 0x6089c9
cmp ecx, 0xc0000092
jne 0x6089c9
mov dword [esi + 0x5c], 0x8a
push dword [esi + 0x5c]
push 8
call ebx
pop ecx
mov dword [esi + 0x5c], edi
jmp 0x6089dd
and dword [ecx + 8], 0
push eax
call ebx
mov eax, dword [ebp - 4]
pop ecx
mov dword [esi + 0x58], eax
or eax, 0xffffffff
jmp 0x6089f2
push dword [ebp + 0xc]
call dword [0x10013104]
pop edi
pop esi
pop ebx
leave
mov dword [ebp - 8], 0x56
mov dword [ebp - 0x1b8], 0x8e
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1b8]
jle 0x608a17
jmp 0x6037d4
mov dword [ebp - 0x3e0], 0x22
mov dword [ebp - 0x3dc], 0x93
mov ecx, dword [ebp - 0x3e0]
cmp ecx, dword [ebp - 0x3dc]
jle 0x608b94
push 0xffffffffffffffff
push 0x67b89c1b
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x67b9c018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x78], esi
mov dword [esi], eax
cmp eax, ebx
je 0x608a82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
add esp, 4
invalid
mov dword [ebp - 4], ebx
cmp dword [esi], ebx
jne 0x608b77
mov edi, 0x15
mov eax, 0x67b912e0
lea esi, [ebp - 0x6c]
mov dword [ebp - 0x58], 0xf
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
call fcn.00612f1a
mov byte [ebp - 4], 1
mov eax, 0x67b912e0
lea esi, [ebp - 0x50]
mov dword [ebp - 0x3c], 0xf
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
call fcn.00612f1a
mov dword [ebp - 0x74], 0x67b92b20
mov dword [ebp - 0x70], 0x80000046
mov byte [ebp - 4], 4
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
push eax
or eax, 0xffffffff
xor ebx, ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], 0x67b92b18
mov dword [ebp - 0x1c], 0xf
call fcn.00612e3a
mov eax, esi
lea esi, [ebp - 0xc8]
mov byte [ebp - 4], 5
call fcn.006082ea
mov byte [ebp - 4], 6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov dword [edx + eax + 0xc], 0x67b91330
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
or bh, al
inc esp
add dl, byte [eax]
push ds
add byte [eax], al
add byte [ebx + 0x8518b08], cl
lea ecx, [ebp - 0x34]
push ecx
push eax
mov dword [edx + eax + 8], 0x67b912f8
call fcn.0061a62a
add esp, 8
push 1
push ecx
lea edx, [ebp - 0x74]
push edx
push eax
call fcn.0061a83a
add esp, 0xc
push eax
lea ecx, [ebp - 0xa0]
call 0x608b9a
push 0x67b94440
lea eax, [ebp - 0xa0]
push eax
call 0x62bb20
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call 0x62b0e4
mov esp, ebp
pop ebp
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x888], 0x65
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x888]
jle 0x608bf0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 0x55c]
add eax, 0x12
cmp eax, dword [ecx + 0x870]
jae 0x608bef
push esi
lea esi, [eax*8 + 0x100]
lea edx, [ecx + eax*8 + 0x2640]
cmp esi, 0x2bd
jae 0x608bdf
mov byte [edx], 0x64
inc eax
add esi, 8
add edx, 8
cmp eax, dword [ecx + 0x870]
jb 0x608bd4
pop esi
pop ebp
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x78]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x757294], eax
mov dword [ebp - 0x474], 2
mov dword [ebp - 0x5fc], 0xa0
mov edx, dword [ebp - 0x474]
cmp edx, dword [ebp - 0x5fc]
jle 0x608cce
push 0xffffffffffffffff
push 0x3f06bd78
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x3f07fc40]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
call 0x608cd0
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
call fcn.00613de0
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 4
call fcn.0060cb60
movzx edx, al
neg edx
mov dword [ebp - 0x2cc], 0x57
mov dword [ebp - 0x1b4], 0x8d
mov eax, dword [ebp - 0x2cc]