Function at 0x42eb58
Capabilities:
Access peb ldr_data
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x77
push 0
push 0
dec ecx
jne 0x42eb61
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
test dl, dl
je 0x42eb7a
add esp, 0xfffffff0
call fcn.0040297c
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x44fbf0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, esi
call fcn.00413f70
mov eax, dword [ebp + 8]
mov dword [esi + 0x400], eax
mov ecx, dword [ebp + 0xc]
mov dl, 1
mov eax, dword [0x40e2a4]
call fcn.0040e3b4
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x10]
mov dword [ebx + 0x78], 8
xor eax, eax
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x88], 0x175
mov dword [ebx + 0x8c], 0x10c
mov dword [ebx + 0x90], 0x97
mov byte [ebx + 0x94], 0
xor eax, eax
mov dword [ebx + 0x9c], eax
push 0
push 1
lea eax, [ebp - 0x394]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x44fc20
call fcn.0040ce90
lea edx, [ebp - 0x394]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40c3d0]
call fcn.004038bc
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 0
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 4
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.004031cc
lea eax, [ebx + 0xa4]
mov edx, 0x44fc30
call fcn.004031cc
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov byte [ebx + 0x1c9], 0xff
lea eax, [ebp - 0x398]
mov edx, 0x44fc60
call fcn.004031cc
mov edx, dword [ebp - 0x398]
mov eax, ebx
call fcn.0040e8a8
mov dl, 1
mov eax, ebx
call fcn.0040e8dc
mov byte [ebx + 0x1ca], 0
push 0x44fc64
mov eax, dword [0x47941c]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, eax
mov eax, ebx
call fcn.0040e980
xor edx, edx
mov eax, ebx
call fcn.0040e954
mov byte [ebx + 0x1c8], 0
mov dword [ebx + 0x1dc], 0xffffff
lea eax, [ebx + 0x1cc]
mov edx, 0x44fc6c
call fcn.004031cc
mov byte [ebx + 0xc0], 0
mov byte [ebx + 0x1d1], 0
mov dword [ebx + 0x1d8], ebx
mov dword [ebx + 0x1d4], 0x40f050
xor eax, eax
mov dword [ebx + 0x1c0], eax
xor eax, eax
mov dword [ebx + 0x1c4], eax
mov byte [ebx + 0x1e0], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x411790]
call fcn.0040287c
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc], eax
push 0xb
mov eax, dword [ebp - 0xc]
add eax, 0xc
mov ecx, 1
mov edx, dword [0x411768]
call fcn.00403dc4
add esp, 4
push 0
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov ecx, 1
mov edx, dword [0x41177c]
call fcn.00403dc4
add esp, 4
mov dl, 1
mov eax, dword [0x40fd4c]
call fcn.0040287c
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x10]
call fcn.0040fdb4
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x41045c]
call fcn.00410510
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x18]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 7
mov dword [ebx + 0x88], 0x18
mov dword [ebx + 0x8c], 0x36
mov dword [ebx + 0x90], 0x19
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff0000
push 0xffffff
push 0xcc
lea eax, [ebp - 0x394]
push eax
xor ecx, ecx
mov dl, 0xb
mov eax, 0x44fc80
call fcn.0040ce90
lea edx, [ebp - 0x394]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40c3d0]
call fcn.004038bc
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.004031cc
lea eax, [ebx + 0xa4]
mov edx, 0x44fc88
call fcn.004031cc
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x479418]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
lea eax, [ebx + 0x1c0]
xor edx, edx
call fcn.004031cc
mov byte [ebx + 0x1c5], 2
mov dword [ebx + 0x1b8], ebx
mov dword [ebx + 0x1b4], 0x410824
mov byte [ebx + 0x1cc], 0
mov byte [ebx + 0x1bc], 0
mov byte [ebx + 0x1c4], 0
mov dword [ebx + 0x1c8], 5
mov byte [ebx + 0x1bd], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x41045c]
call fcn.00410510
mov dword [esi + 0x1c], eax
mov ebx, dword [esi + 0x1c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xb2
mov dword [ebx + 0x88], 0x15
mov dword [ebx + 0x8c], 0x4b
mov dword [ebx + 0x90], 0x1d
mov byte [ebx + 0x94], 0
xor eax, eax
mov dword [ebx + 0x9c], eax
push 0xffffff
push 0xcc
lea eax, [ebp - 0x394]
push eax
xor ecx, ecx
mov dl, 0x10
mov eax, 0x44fc80
call fcn.0040ce90
lea edx, [ebp - 0x394]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40c3d0]
call fcn.004038bc
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
mov edx, 0x44fc90
call fcn.004031cc
lea eax, [ebx + 0xa4]
mov edx, 0x44fca4
call fcn.004031cc
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x479418]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
lea eax, [ebx + 0x1c0]
xor edx, edx
call fcn.004031cc
mov byte [ebx + 0x1c5], 2
mov dword [ebx + 0x1b8], ebx
mov dword [ebx + 0x1b4], 0x410824
mov byte [ebx + 0x1cc], 0
mov byte [ebx + 0x1bc], 0
mov byte [ebx + 0x1c4], 0
mov dword [ebx + 0x1c8], 5
mov byte [ebx + 0x1bd], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40f228]
call fcn.0040f2dc
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0x78], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x84], 0x44
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x88], 0x1a
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x8c], 0x17
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x90], 0x16
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x94], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x9c], 0xff00000f
push 0
push 0xcc
lea eax, [ebp - 0x394]
push eax
mov cl, 1
mov dl, 0xa
mov eax, 0x44fcdc
call fcn.0040ce90
lea edx, [ebp - 0x394]
mov eax, dword [ebp - 0x14]
add eax, 0xa8
mov ecx, dword [0x40c3d0]
call fcn.004038bc
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xb8], 0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xba], 1
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xbb], 1
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xbc], 0x7f89
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xc2], 1
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0x98], edx
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xa0], 0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xd8], 3
mov eax, dword [ebp - 0x14]
add eax, 0x80
xor edx, edx
call fcn.004031cc
mov eax, dword [ebp - 0x14]
add eax, 0xa4
mov edx, 0x44fce4
call fcn.004031cc
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0xdc], edx
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0xe0], edx
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x1d8], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x1dc], 0x808080
mov eax, dword [ebp - 0x14]
add eax, 0x1b8
mov edx, 0x44fd1c
call fcn.004031cc
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xc1], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x41045c]
call fcn.00410510
mov dword [esi + 0x24], eax
mov ebx, dword [esi + 0x24]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x61
mov dword [ebx + 0x88], 0x18
mov dword [ebx + 0x8c], 0x36
mov dword [ebx + 0x90], 0x19
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0x4600
push 0xffffff
push 0xcc
lea eax, [ebp - 0x394]
push eax
xor ecx, ecx
mov dl, 0xb
mov eax, 0x44fc80
call fcn.0040ce90
lea edx, [ebp - 0x394]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40c3d0]
call fcn.004038bc
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.004031cc
lea eax, [ebx + 0xa4]
mov edx, 0x44fd20
call fcn.004031cc
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
add byte [eax], al
add byte [ecx + 0x479418], ah