Function at 0x406290
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x464900]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.Formatted_settings_been_set
call fcn.004065a0
add esp, 4
mov eax, 0x1a1
cmp eax, 0x24
ja 0x4062bb
call 0x105661c2
add byte [edx], 0x64
mov edi, dword [0x30]
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x4662b0], eax
sub eax, eax
je 0x4062e0
jmp 0xe848cd39
push 8
call fcn.00409e48
mov esi, eax
add esp, 4
test esi, esi
je 0x40632c
push 4
call fcn.00409e48
add esp, 4
test eax, eax
je 0x406306
mov dword [eax], 0x4061b0
jmp 0x406308
xor eax, eax
lea edi, [esi + 4]
push edi
push 0
push eax
push 0x401b50
push 0
push 0
call fcn.00410afa
add esp, 0x18
mov dword [esi], eax
test eax, eax
je 0x40657b
jmp 0x40632e
xor esi, esi
cmp dword [esi + 4], 0
je 0x406588
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [esi + 4], eax
je 0x40658f
push 0
push dword [esi + 4]
push dword [esi]
call fcn.00407449
add esp, 0xc
test eax, eax
jne 0x406596
mov dword [esi], eax
mov dword [esi + 4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00405eb0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x7fffffff
jg 0x406389
jl 0x406385
cmp eax, 0xfa0a1eff
jae 0x406389
mov dl, 1
jmp 0x40638b
xor dl, dl
test dl, dl
je 0x40639f
add eax, 0x5f5e100
mov dword [ebp - 0x20], eax
adc ecx, 0
mov dword [ebp - 0x28], ecx
jmp 0x4063ad
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x28], 0x7fffffff
push ebx
nop
call fcn.0040734a
mov esi, eax
mov ebx, edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], ebx
call fcn.00407333
mov ecx, eax
cmp esi, 0x989680
jne 0x4063e7
test ebx, ebx
jne 0x4063e7
mov eax, edx
mov esi, 0x64
mul esi
mov ebx, eax
mov eax, ecx
mul esi
add ebx, edx
mov edx, eax
jmp 0x406431
push ebx
push esi
push edx
push ecx
call fcn.0040a380
push 0
push 0x3b9aca00
push ebx
push ecx
mov edi, eax
mov esi, edx
call fcn.0040a460
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push edx
push eax
call fcn.0040a2d0
mov dword [ebp - 0x18], eax
mov ebx, edx
mov ecx, 0x3b9aca00
mov eax, esi
mul ecx
mov edx, 0x3b9aca00
mov ecx, eax
mov eax, edi
mul edx
add ecx, edx
mov edx, dword [ebp - 0x18]
add edx, eax
adc ebx, ecx
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
cmp ebx, esi
jg 0x406445
jl 0x406441
cmp edx, ecx
jae 0x406445
mov al, 1
jmp 0x406447
xor al, al
test al, al
je 0x4064c0
mov edi, ecx
sub edi, edx
sbb esi, ebx
mov dword [ebp - 0x18], esi
call fcn.004073c7
push 0
push 0x64
push edx
push eax
call fcn.0040a460
mov ebx, dword [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 0x24], edx
mov esi, eax
mov edx, ebx
call fcn.0040a4a0
comisd xmm0, xmmword [0x428778]
jbe 0x406489
mov edi, 0xad160000
mov ebx, 0x311cd
mov eax, dword [ebp - 0x24]
add esi, edi
push 0
push 0x3b9aca00
adc eax, ebx
push eax
push esi
call fcn.0040a2d0
mov dword [ebp - 0x14], eax
imul eax, eax, 0x3b9aca00
mov dword [ebp - 0x10], edx
sub esi, eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0xc], esi
call fcn.00407498
add esp, 4
jmp 0x4063b0
push 0xb0
mov dword [ebp - 0x18], 0x403340
call fcn.00409e48
add esp, 4
pop ebx
test eax, eax
je 0x4064e8
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.004014c0
mov esi, eax
jmp 0x4064ea
xor esi, esi
test esi, esi
je 0x406574
lea ecx, [esi + 4]
lock inc dword [ecx]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx], eax
jne 0x406517
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x40650f
mov eax, dword [ecx]
push esi
jmp 0x406515
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
test esi, esi
je 0x406525
cmp byte [esi + 0x6c], 0
jne 0x406525
mov al, 1
jmp 0x406527
xor al, al
test al, al
je 0x406574
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 8]
lock xadd dword [esi + 4], edi
dec edi
jne 0x406562
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x40655a
mov eax, dword [ecx]
push esi
call dword [eax]
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040a2bf
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.0040a2bf
mov esp, ebp
pop ebp
ret
push 4
call fcn.00404dc0
push 6
mov dword [edi], 0
call fcn.00407a83
push 1
call fcn.00407a83
push 5
call fcn.00407a83
push 2
call fcn.00407a83
int3