Function at 0x10059260
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b6e14
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov edi, dword [eax + 0x14]
mov ebx, dword [ecx + 4]
test edi, edi
je 0x100592ae
mov ecx, dword [edi + 0x84]
jmp 0x100592b0
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test ax, ax
je 0x10059bc5
test edi, edi
je 0x100592ce
mov ecx, dword [edi + 0x84]
jmp 0x100592d0
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
dec eax
movzx eax, ax
mov dword [esp + 0x50], eax
test edi, edi
je 0x100592ed
mov ecx, dword [edi + 0x84]
jmp 0x100592ef
xor ecx, ecx
movzx edx, ax
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp edx, eax
jae 0x10059307
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4]
jmp 0x10059309
xor eax, eax
mov eax, dword [eax]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov eax, 0xffff
cmp dx, ax
je 0x10059bc5
test edi, edi
je 0x1005932c
mov ecx, dword [edi + 0x84]
jmp 0x1005932e
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
cmp dx, ax
jae 0x10059bc5
mov esi, dword [ebp + 8]
cmp esi, ebx
ja 0x10059bc5
mov ecx, dword [esp + 0x28]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x10]
add ebx, ecx
mov dword [esp + 0x28], ecx
test edi, edi
je 0x10059367
mov ecx, dword [edi + 0x84]
jmp 0x10059369
xor ecx, ecx
push edx
call fcn.100955a0
cmp dword [esp + 0x28], 0x3000
mov eax, dword [eax]
mov edx, dword [eax + 0x14]
jb 0x10059bc5
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
cmp ebx, eax
jbe 0x10059390
lea ebx, [eax - 1]
mov eax, dword [ecx]
lea edi, [ebx - 1]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], edi
lea ecx, [eax - 1]
add ecx, ebx
cmp edi, edx
jbe 0x100593b8
mov al, byte [ecx]
lea ecx, [ecx - 1]
test al, al
jne 0x100593b4
dec edi
cmp edi, edx
ja 0x100593a6
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.1009bea0
mov dword [esp + 0x6c], eax
mov dword [esp + 0xf0], 4
xor al, al
mov byte [esp + 0x12], al
lea ecx, [esp + 0x84]
mov byte [esp + 0x15], al
xor bl, bl
mov byte [esp + 0x11], al
mov byte [esp + 0x16], al
mov byte [esp + 0x17], al
mov byte [esp + 0x22], al
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x30]
push esi
mov byte [esp + 0x14], bl
mov byte [esp + 0x18], bl
push dword [eax + 4]
mov byte [esp + 0x1b], bl
push dword [eax]
call fcn.1001d150
cmp esi, edi
jae 0x10059b73
mov eax, 1
jmp 0x10059450
cmp eax, 0x190
jge 0x10059b1e
lea edx, [esi + 4]
mov dword [esp + 0x24], edx
cmp edx, edi
jae 0x10059605
cmp eax, 0xa
jge 0x10059605
test bl, bl
mov ebx, dword [esp + 0x3c]
jne 0x10059609
cmp byte [ebx + esi], 0xe8
jne 0x10059609
movzx eax, byte [0x100d0d6d]
mov edi, esi
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
push ecx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x7c]
call fcn.1009d290
cmp byte [esp + 0x80], 0
jne 0x100594d3
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push 5
call fcn.1001d130
mov edi, dword [esp + 0x1c]
jmp 0x10059ae2
lea ecx, [ebx + 1]
add ecx, esi
call fcn.1001ca30
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov byte [esp + 0xf0], 5
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x30]
push esi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x10059543
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push 5
call fcn.1001d130
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x60]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
jmp 0x10059ae2
mov edx, dword [esp + 0x64]
mov ecx, edx
mov eax, dword [esp + 0x60]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x1005956f
cmp eax, edx
je 0x10059571
mov ecx, dword [esp + 0x50]
nop
cmp word [eax + 4], cx
je 0x1005956f
add eax, 8
cmp eax, edx
jne 0x10059560
jmp 0x10059571
mov edi, dword [eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
push 1
push ecx
add eax, 5
mov dword [esp + 0x80], edi
lea ecx, [esp + 0x20]
add eax, edi
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x28], eax
call fcn.100951f0
test al, al
je 0x10059517
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp eax, dword [ecx + 4]
ja 0x10059517
cmp byte [eax + ebx], 0x5d
jne 0x100595eb
mov bl, 1
lea ecx, [esp + 0x84]
push 6
mov byte [esp + 0x14], bl
add esi, 5
call fcn.1001d130
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x60]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
jmp 0x10059ae6
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x60]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
jmp 0x10059ac7
mov ebx, dword [esp + 0x3c]
mov al, byte [esp + 0x10]
lea ecx, [esi + 2]
cmp ecx, edi
jae 0x1005963e
test al, al
je 0x1005963e
cmp byte [ebx + esi], 0x83
jne 0x1005963e
cmp byte [ebx + esi + 1], 0xed
jne 0x1005963e
cmp byte [ebx + esi + 2], 5
jne 0x1005963e
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov byte [esp + 0x14], 1
jmp 0x10059ac7
cmp edx, edi
jae 0x10059672
test al, al
je 0x10059672
cmp byte [esp + 0x14], 0
je 0x10059672
cmp byte [esp + 0x13], 0
jne 0x10059672
cmp byte [ebx + esi], 0xb8
jne 0x10059672
lea ecx, [esi + 1]
add ecx, ebx
call fcn.1001ca30
mov dword [esp + 0x74], eax
mov byte [esp + 0x13], 1
jmp 0x10059ac7
lea eax, [esi + 1]
cmp eax, edi
jae 0x100596ad
cmp byte [esp + 0x10], 0
je 0x100596ad
cmp byte [esp + 0x14], 0
je 0x100596ad
cmp byte [esp + 0x13], 0
je 0x100596ad
cmp byte [ebx + esi], 0x2b
jne 0x100596ad
cmp byte [ebx + esi + 1], 0xe8
jne 0x100596ad
mov eax, dword [esp + 0x74]
sub dword [esp + 0x38], eax
mov byte [esp + 0x12], 1
jmp 0x10059ac7
lea eax, [esi + 5]
cmp eax, edi
mov al, byte [esp + 0x13]
mov ah, byte [esp + 0x12]
jae 0x100596fc
cmp byte [esp + 0x10], 0
je 0x100596fc
cmp byte [esp + 0x14], 0
je 0x100596fc
test al, al
je 0x100596fc
test ah, ah
je 0x100596fc
cmp byte [ebx + esi], 0x8b
jne 0x100596fc
cmp byte [ebx + esi + 1], 0x85
jne 0x100596fc
lea ecx, [esi + 2]
add ecx, ebx
call fcn.1001ca30
mov ecx, dword [ebp + 0x10]
add eax, dword [esp + 0x38]
mov byte [esp + 0x15], 1
mov dword [ecx], eax
jmp 0x10059ac7
cmp edx, edi
mov dl, byte [esp + 0x10]
mov dh, byte [esp + 0x14]
jae 0x1005998e
test dl, dl
je 0x1005998e
test dh, dh
je 0x1005998e
test al, al
je 0x1005998e
test ah, ah
je 0x1005998e
cmp byte [esp + 0x15], 0
je 0x1005998e
cmp byte [ebx + esi], 0xe8
jne 0x1005998e
lea ecx, [esi + 1]
mov edi, esi
add ecx, ebx
call fcn.1001ca30
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0xf0], 6
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x30]
push esi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x100597b3
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push 5
call fcn.1001d130
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x40]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
jmp 0x10059ae2
mov edx, dword [esp + 0x44]
mov ecx, edx
mov eax, dword [esp + 0x40]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x100597df
cmp eax, edx
je 0x100597e1
mov ecx, dword [esp + 0x50]
nop
cmp word [eax + 4], cx
je 0x100597df
add eax, 8
cmp eax, edx
jne 0x100597d0
jmp 0x100597e1
mov edi, dword [eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
push 1
push ecx
add eax, 5
lea ecx, [esp + 0x20]
add eax, edi
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x28], eax
call fcn.100951f0
test al, al
je 0x10059787
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
cmp edi, dword [eax + 4]
ja 0x10059787
cmp byte [edi + ebx], 0xe8
jne 0x10059974
lea ecx, [edi + 1]
add ecx, ebx
call fcn.1001ca30
mov dword [esp + 0x18], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov byte [esp + 0xf0], 7
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x30]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x10059893
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push 5
call fcn.1001d130
mov byte [esp + 0xf0], 6
lea ecx, [esp + 0x54]
call fcn.100941a0
jmp 0x10059799
mov edx, dword [esp + 0x58]
mov ecx, edx
mov eax, dword [esp + 0x54]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x100598bf
cmp eax, edx
je 0x100598c1
mov ecx, dword [esp + 0x50]
nop
cmp word [eax + 4], cx
je 0x100598bf
add eax, 8
cmp eax, edx
jne 0x100598b0
jmp 0x100598c1
mov edi, dword [eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
push 1
push ecx
add eax, 5
lea ecx, [esp + 0x20]
add eax, edi
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x28], eax
call fcn.100951f0
test al, al
je 0x1005986b
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp eax, dword [ecx + 4]
ja 0x1005986b
cmp byte [eax + ebx], 0x64
jne 0x10059963
cmp byte [ebx + eax + 1], 0x67
jne 0x10059963
cmp byte [eax + ebx + 2], 0xa1
jne 0x10059963
cmp byte [eax + ebx + 3], 0
jne 0x10059963
cmp byte [eax + ebx + 4], 0
jne 0x10059963
lea esi, [eax + 4]
mov bh, 1
add eax, 5
mov byte [esp + 0x11], bh
push eax
lea ecx, [esp + 0x88]
call fcn.1001d110
mov byte [esp + 0xf0], 6
lea ecx, [esp + 0x54]
call fcn.100941a0
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x40]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
mov bl, byte [esp + 0x10]
jmp 0x10059aea
mov byte [esp + 0xf0], 6
lea ecx, [esp + 0x54]
call fcn.100941a0
mov byte [esp + 0xf0], 4
lea ecx, [esp + 0x40]
call fcn.100941a0
mov edi, dword [esp + 0x1c]
jmp 0x10059ac7
cmp ecx, edi
jae 0x10059a19
test dl, dl
je 0x100599d2
test dh, dh
je 0x100599d2
test al, al
je 0x100599d2
test ah, ah
je 0x100599d2
cmp byte [esp + 0x15], 0
je 0x100599d2
cmp byte [esp + 0x11], 0
je 0x100599d2
cmp byte [ebx + esi], 0x83
jne 0x100599d2
cmp byte [ebx + esi + 1], 0x38
jne 0x100599d2
cmp byte [ebx + esi + 2], 0xff
jne 0x100599d2
mov byte [esp + 0x16], 1
jmp 0x10059ac7
cmp ecx, edi
jae 0x10059a19
test dl, dl
je 0x10059a19
test dh, dh
je 0x10059a19
test al, al
je 0x10059a19
test ah, ah
je 0x10059a19
cmp byte [esp + 0x15], 0
je 0x10059a19
cmp byte [esp + 0x11], 0
je 0x10059a19
cmp byte [esp + 0x16], 0
je 0x10059a19
cmp byte [ebx + esi], 0x8b
jne 0x10059a19
cmp byte [ebx + esi + 1], 0x78
jne 0x10059a19
cmp byte [ebx + esi + 2], 4
jne 0x10059a19
mov byte [esp + 0x17], 1
jmp 0x10059ac7
mov cl, byte [esp + 0x13]
lea eax, [esi + 3]
mov ch, byte [esp + 0x12]
cmp eax, edi
jae 0x10059ac7
test dl, dl
je 0x10059a7a
test dh, dh
je 0x10059a7a
test cl, cl
je 0x10059a7a
test ch, ch
je 0x10059a7a
cmp byte [esp + 0x15], 0
je 0x10059a7a
cmp byte [esp + 0x11], 0
je 0x10059a7a
cmp byte [esp + 0x16], 0
je 0x10059a7a
cmp byte [esp + 0x17], 0
je 0x10059a7a
cmp byte [ebx + esi], 0x66
jne 0x10059a7a
cmp byte [ebx + esi + 1], 0xb8
jne 0x10059a7a
cmp byte [ebx + esi + 2], 0x4d
jne 0x10059a7a
cmp byte [ebx + esi + 3], 0x5a
jne 0x10059a7a
mov byte [esp + 0x22], 1
jmp 0x10059ac7
cmp eax, edi
jae 0x10059ac7
test dl, dl
je 0x10059ac7
test dh, dh
je 0x10059ac7
test cl, cl
je 0x10059ac7
test ch, ch
je 0x10059ac7
mov al, byte [esp + 0x15]
test al, al
je 0x10059ac7
cmp byte [esp + 0x11], 0
je 0x10059ac7
mov ah, byte [esp + 0x16]
test ah, ah
je 0x10059ac7
cmp byte [esp + 0x17], 0
je 0x10059ac7
cmp byte [esp + 0x22], 0
je 0x10059ac7
cmp byte [ebx + esi], 0x66
jne 0x10059ac7
cmp byte [ebx + esi + 1], 0x39
jne 0x10059ac7
cmp byte [ebx + esi + 2], 7
je 0x10059b1a
lea edx, [esp + 0x4f]
lea ecx, [esp + 0x84]
call fcn.100ae1f0
test eax, eax
je 0x10059b73
dec esi
add esi, eax
mov bl, byte [esp + 0x10]
mov bh, byte [esp + 0x11]
mov eax, dword [esp + 0x28]
inc esi
inc eax
mov dword [esp + 0x28], eax
cmp esi, edi
jb 0x10059450
mov dl, byte [esp + 0x10]
mov dh, byte [esp + 0x14]
mov cl, byte [esp + 0x13]
mov ch, byte [esp + 0x12]
mov al, byte [esp + 0x15]
mov ah, byte [esp + 0x16]
mov bl, byte [esp + 0x23]
jmp 0x10059b3e
mov bl, 1
jmp 0x10059b3a
mov dl, byte [esp + 0x10]
mov dh, byte [esp + 0x14]
mov cl, byte [esp + 0x13]
mov ch, byte [esp + 0x12]
mov al, byte [esp + 0x15]
mov ah, byte [esp + 0x16]
mov bl, byte [esp + 0x23]
mov bh, byte [esp + 0x11]
test dl, dl
je 0x10059b73
test dh, dh
je 0x10059b73
test cl, cl
je 0x10059b73
test ch, ch
je 0x10059b73
test al, al
je 0x10059b73
test bh, bh
je 0x10059b73
test ah, ah
je 0x10059b73
cmp byte [esp + 0x17], 0
je 0x10059b73
cmp byte [esp + 0x22], 0
je 0x10059b73
test bl, bl
je 0x10059b73
mov esi, 1
jmp 0x10059b75
xor esi, esi
mov dword [esp + 0xf0], 9
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x6c]
push eax
push dword [eax]
lea eax, [esp + 0x30]
push eax
call fcn.10099f40
mov dword [esp + 0xf0], 0xffffffff
push dword [esp + 0x6c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret