Function at 0x46c1b0
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 5
push 0
push 0
dec ecx
jne 0x46c1b9
push ecx
xchg dword [ebp - 4], ecx
push ebx
test dl, dl
je 0x46c1d1
add esp, 0xfffffff0
call fcn.00405a60
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x46c49e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0040575c
mov eax, dword [ebp - 4]
call fcn.0046c4d0
mov edx, dword [ebp - 4]
mov byte [edx + 8], al
mov eax, dword [ebp - 4]
call fcn.0046c5f0
mov edx, dword [ebp - 4]
mov byte [edx + 9], al
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0046c6d0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
add eax, 0xc
call fcn.00407284
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0046c770
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
add eax, 0x10
call fcn.004071e8
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0046c7d0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
add eax, 0x14
call fcn.004071e8
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0046c850
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
add eax, 0x18
call fcn.004071e8
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0046c8c0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 4]
call fcn.0046c990
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.0046ca00
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
add eax, 0x30
call fcn.004071e8
mov eax, dword [ebp - 4]
call fcn.0046ca80
mov edx, dword [ebp - 4]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 4]
call fcn.0046caf0
mov edx, dword [ebp - 4]
mov byte [edx + 0x38], al
mov eax, dword [ebp - 4]
call fcn.0046cb60
mov edx, dword [ebp - 4]
mov byte [edx + 0x39], al
mov eax, dword [ebp - 4]
call fcn.0046cbd0
mov edx, dword [ebp - 4]
mov byte [edx + 0x3a], al
mov eax, dword [ebp - 4]
call fcn.0046cc40
mov edx, dword [ebp - 4]
mov byte [edx + 0x3b], al
mov eax, dword [ebp - 4]
call fcn.0046ccc0
mov edx, dword [ebp - 4]
mov byte [edx + 0x3c], al
mov eax, dword [ebp - 4]
call fcn.0046cd40
mov edx, dword [ebp - 4]
mov byte [edx + 0x3d], al
mov eax, dword [ebp - 4]
call fcn.0046cdd0
mov edx, dword [ebp - 4]
mov byte [edx + 0x3e], al
mov eax, dword [ebp - 4]
call fcn.0046ce50
mov edx, dword [ebp - 4]
mov byte [edx + 0x3f], al
mov eax, dword [ebp - 4]
call fcn.0046cee0
mov edx, dword [ebp - 4]
mov byte [edx + 0x40], al
mov eax, dword [ebp - 4]
call fcn.0046cf60
mov edx, dword [ebp - 4]
mov byte [edx + 0x41], al
mov eax, dword [ebp - 4]
call fcn.0046cfe0
mov edx, dword [ebp - 4]
mov byte [edx + 0x42], al
mov eax, dword [ebp - 4]
call fcn.0046d050
mov edx, dword [ebp - 4]
mov byte [edx + 0x43], al
mov eax, dword [ebp - 4]
call fcn.0046d0e0
mov edx, dword [ebp - 4]
mov byte [edx + 0x44], al
mov eax, dword [ebp - 4]
call fcn.0046d160
mov edx, dword [ebp - 4]
mov byte [edx + 0x45], al
mov eax, dword [ebp - 4]
call fcn.0046d1e0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp - 4]
call fcn.0046d250
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], edx
mov eax, dword [ebp - 4]
call fcn.0046d2c0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x60], eax
mov dword [ecx + 0x64], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x74], edx
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.0046d690
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
add eax, 0x78
call fcn.004071e8
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.0046d710
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
add eax, 0x7c
call fcn.004071e8
mov eax, dword [ebp - 4]
call fcn.0046d780
mov edx, dword [ebp - 4]
mov byte [edx + 0x80], al
mov eax, dword [ebp - 4]
call fcn.0046d800
mov edx, dword [ebp - 4]
mov byte [edx + 0x81], al
mov eax, dword [ebp - 4]
call fcn.0046d880
mov edx, dword [ebp - 4]
mov dword [edx + 0x84], eax
mov eax, dword [ebp - 4]
call fcn.0046d8e0
mov edx, dword [ebp - 4]
mov byte [edx + 0x88], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46c4a5
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00406ea4
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00406ea4
lea eax, [ebp - 0x10]
call fcn.00406e68
pop eax
jmp eax