Function at 0x40a884
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x40a88c
push ecx
push ebx
push esi
push edi
test dl, dl
je 0x40a8a3
add esp, 0xfffffff0
call fcn.00402944
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x40ac1d
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, edi
call fcn.00402844
mov dl, 1
mov eax, dword [0x4071e8]
call fcn.00402844
mov esi, eax
mov dword [edi + 4], esi
push 0x40ac44
mov eax, dword [0x40b1d4]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov dword [esi + 8], eax
mov byte [esi + 0xc], 0
mov dl, 1
mov eax, dword [0x407300]
call fcn.00402844
mov dword [edi + 8], eax
mov dl, 1
mov eax, dword [0x4099f4]
call fcn.00402844
mov esi, eax
mov dword [edi + 0xc], esi
lea eax, [esi + 0x150]
mov edx, 0x40ac4c
call fcn.00403194
lea eax, [esi + 0x154]
xor edx, edx
call fcn.00403194
mov byte [esi + 0x158], 1
mov byte [esi + 0x159], 0
mov byte [esi + 0x15a], 1
mov dl, 1
mov eax, dword [0x40a074]
call fcn.00402844
mov esi, eax
mov dword [edi + 0x10], esi
mov byte [esi + 4], 0
lea eax, [ebp - 0x20]
mov edx, 0x40ac50
call fcn.00403194
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.004070f0
lea edx, [ebp - 0x1c]
lea eax, [esi + 0x24]
mov ecx, dword [0x406c00]
call fcn.00403918
mov dl, 1
mov eax, dword [0x40a208]
call fcn.00402844
mov esi, eax
mov dword [edi + 0x14], esi
mov eax, esi
mov byte [eax + 5], 1
mov dx, 2
call fcn.0040a270
mov dl, 1
mov eax, dword [0x40a300]
call fcn.0040a3a4
mov dword [edi + 0x18], eax
mov dl, 1
mov eax, dword [0x40a568]
call fcn.00402844
mov dword [edi + 0x1c], eax
mov dl, 1
mov eax, dword [0x40a6a8]
call fcn.00402844
mov esi, eax
mov dword [edi + 0x20], esi
mov byte [esi + 4], 1
lea eax, [esi + 8]
xor edx, edx
call fcn.00403194
lea eax, [esi + 0xc]
mov edx, 0x40ac60
call fcn.004030c4
mov eax, dword [edi + 8]
push eax
push 0x408cd8
lea edx, [ebp - 0x2c]
mov ax, 1
call fcn.00406c74
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x24], edx
mov eax, dword [edi + 0x14]
push eax
push 0x40a298
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov esi, dword [edi + 4]
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x18], eax
push esi
push 0x407268
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x30], edx
mov eax, dword [edi + 0xc]
push eax
push 0x409ae0
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [edi + 0x1c]
push eax
push 0x40a5d8
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x3c], edx
mov eax, dword [edi + 0x20]
push eax
push 0x40a76c
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov esi, dword [edi + 8]
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x6c], eax
push esi
push 0x40831c
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x180], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x184], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x188], edx
mov eax, dword [edi + 8]
push eax
push 0x40879c
lea edx, [ebp - 0x2c]
mov ax, 2
call fcn.00406c74
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x64], edx
mov eax, dword [edi + 0x1c]
push eax
push 0x40a654
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov esi, dword [edi + 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x58], eax
push esi
push 0x40a0e8
lea edx, [ebp - 0x2c]
xor eax, eax
call fcn.00406c74
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
mov dword [eax], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 8], edx
mov eax, dword [edi + 8]
push eax
push 0x408894
lea edx, [ebp - 0x2c]
mov ax, 3
call fcn.00406c74
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x14], edx
mov eax, dword [edi + 8]
push eax
push 0x40967c
lea edx, [ebp - 0x2c]
mov ax, 4
call fcn.00406c74
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x44], edx
mov eax, dword [edi + 8]
push eax
push 0x4096f8
lea edx, [ebp - 0x2c]
mov ax, 5
call fcn.00406c74
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x38], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40ac24
lea eax, [ebp - 0x20]
call fcn.00403070
lea eax, [ebp - 0x1c]
mov edx, dword [0x406c00]
call fcn.00403708
ret