Function at 0x4396f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x467cb8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x46c0a4]
and eax, 1
jne 0x439727
mov ecx, dword [0x46c0a4]
or ecx, 1
mov dword [0x46c0a4], ecx
call dword [sym.imp.MSVCR100.dll__getpid]
mov dword [0x46c0a0], eax
push 0x404
push 0
mov edx, dword [ebp + 0xc]
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
cmp dword [ebp + 0x10], 0x42e
jne 0x439773
push 0x400
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
mov edx, dword [ebp + 0x14]
push edx
call sub.MSVCR100.dll_strlen
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x400], eax
jmp 0x439a3d
cmp dword [0x467f60], 0xffffffff
jne 0x4397ac
push 0
call fcn.00439a50
add esp, 4
and eax, 0xffff
and edx, 0
push eax
call dword [sym.imp.MSVCR100.dll_srand]
add esp, 4
push 0x40
push 0x46c060
push 0x467f60
call fcn.0042ee00
add esp, 0xc
cmp dword [0x467f5c], 0xffffffff
jne 0x4398f0
call fcn.004425b0
mov dword [ebp - 0x118], eax
call fcn.004425f0
mov dword [ebp - 0x10c], eax
push str.WNC_NUM_CPUS
call dword [sym.imp.MSVCR100.dll_getenv]
add esp, 4
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x439822
lea edx, [ebp - 0x11c]
push edx
push 0x45207c
mov eax, dword [ebp - 0x114]
push eax
call dword [sym.imp.MSVCR100.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x118]
jle 0x439822
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x118], edx
push str.WNC_THIS_CPU
call dword [sym.imp.MSVCR100.dll_getenv]
add esp, 4
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x43985b
lea eax, [ebp - 0x10c]
push eax
push 0x452090
mov ecx, dword [ebp - 0x114]
push ecx
call dword [sym.imp.MSVCR100.dll_sscanf]
add esp, 0xc
cmp dword [ebp - 0x118], 2
jge 0x439870
mov dword [ebp - 0x118], 0
jmp 0x439883
cmp dword [ebp - 0x118], 0x63
jle 0x439883
mov dword [ebp - 0x118], 0x63
cmp dword [ebp - 0x10c], 0
jge 0x439898
mov dword [ebp - 0x10c], 0
jmp 0x4398ab
cmp dword [ebp - 0x10c], 0x63
jle 0x4398ab
mov dword [ebp - 0x10c], 0x63
mov dword [ebp - 0x110], 1
call fcn.00439a70
test eax, eax
je 0x4398cd
mov edx, dword [ebp - 0x110]
or edx, 4
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x10c]
imul eax, eax, 0x2710
mov ecx, dword [ebp - 0x118]
imul ecx, ecx, 0x64
add eax, dword [ebp - 0x110]
add ecx, eax
mov dword [0x467f5c], ecx
push 0x100
push 0
lea edx, [ebp - 0x108]
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x100
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.MSVCR100.dll__getcwd]
add esp, 8
cmp dword [ebp + 8], 0
jg 0x439929
call fcn.00438de0
mov dword [ebp + 8], eax
cmp dword [ebp + 8], 0x12c
jge 0x4399bf
cmp dword [ebp + 8], 0xc8
jge 0x439974
push 0x3a
lea ecx, [ebp - 0x108]
push ecx
call fcn.004208a0
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x439968
mov edx, dword [ebp - 0x124]
mov byte [edx], 0x5c
mov dword [ebp - 0x120], 0x452010
jmp 0x43997e
mov dword [ebp - 0x120], str._d_ld_d_d_s_s_d_s
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x108]
push edx
push 0x46c060
mov eax, dword [0x467f60]
push eax
mov ecx, dword [0x467f5c]
push ecx
call fcn.0042ed50
push eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x28
jmp 0x439a15
mov dword [ebp - 0x128], str._3d_ld_d_d_d_s_s_s_d_s
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004401a0
push eax
lea ecx, [ebp - 0x108]
push ecx
push 0x46c060
mov edx, dword [0x467f60]
push edx
mov eax, dword [0x46c0a0]
push eax
mov ecx, dword [0x467f5c]
push ecx
call fcn.0042ed50
push eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x30
mov edx, dword [ebp + 0xc]
push edx
call sub.MSVCR100.dll_strlen
add esp, 4
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x400], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0043cfa0
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004364d4
mov esp, ebp
pop ebp
ret