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

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x20
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
cmp dword [0x40701c], 0x60f18349
jne 0x401c3a
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.004016e0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 8]
mov dword [ebx], eax
mov dword [esp + 4], 0x409018
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0x17
lea eax, [ebx + 0x6c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp + 4], 0x409031
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0xc
lea eax, [ebx + 0x74]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp + 4], 0x40903f
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0xf
lea eax, [ebx + 0x78]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
cmp dword [0x40701c], 0x35d619b4
jne 0x401cfe
call fcn.004051e0
mov dword [esp + 4], 0x409050
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
cmp dword [0x407010], 0x35d619b4
jne 0x401d22
call fcn.00404bc9
cmp dword [0x407010], 0x7a0ec2f9
jne 0x401d47
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x66025c49
mov eax, dword [0x407020]
mov dword [esp], eax
call fcn.00404aa7
mov word [esi], 9
lea eax, [ebx + 0x7c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp + 4], 0x40905b
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0xd
lea eax, [ebx + 0x80]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp + 4], 0x40906a
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0x14
lea eax, [ebx + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp + 4], 0x409080
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.00402ac3
mov word [esi], 0x13
lea eax, [ebx + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [ebx + 0x5c]
sub esp, 0x10
mov dword [esp], ebx
call fcn.00402bac
test eax, eax
je 0x401e5e
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x80000000
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call dword [ebx + 0x74]
sub esp, 0x1c
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
test eax, eax
sete dl
cmp eax, 0xffffffff
sete al
or eax, edx
test al, 1
je 0x401e73
int3
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1000
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00402c72
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret