Function at 0x404960
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x406d7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x780
push ebx
push esi
lea eax, [esp + 0x90]
push edi
push eax
call fcn.00405280
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x798], ebx
push 0xff
lea ecx, [esp + 0x1c9]
push ebx
push ecx
mov dword [esp + 0x1c], 0x82dc9d3
mov byte [esp + 0x20], bl
mov dword [esp + 0x21], eax
mov dword [esp + 0x25], eax
mov word [esp + 0x29], ax
mov byte [esp + 0x2b], al
mov byte [esp + 0x78], bl
mov dword [esp + 0x79], eax
mov dword [esp + 0x7d], eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov byte [esp + 0x8d], al
mov byte [esp + 0x3c], bl
mov dword [esp + 0x3d], eax
mov dword [esp + 0x41], eax
mov dword [esp + 0x45], eax
mov word [esp + 0x49], ax
mov byte [esp + 0x4b], al
mov byte [esp + 0x1d0], bl
call sub.MSVCR100.dll_memset
xor eax, eax
mov byte [esp + 0x2c], bl
mov byte [esp + 0x4c], bl
mov byte [esp + 0x64], bl
add esp, 0x10
lea ebx, [esp + 0xc]
lea ecx, [esp + 0xb0]
mov dword [esp + 0x1d], eax
mov dword [esp + 0x21], eax
mov dword [esp + 0x25], eax
mov dword [esp + 0x3d], eax
mov dword [esp + 0x41], eax
mov dword [esp + 0x45], eax
mov dword [esp + 0x49], eax
mov dword [esp + 0x4d], eax
mov word [esp + 0x51], ax
mov dword [esp + 0x55], eax
mov dword [esp + 0x59], eax
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
call fcn.004010b0
lea edx, [esp + 0x10]
push edx
mov ecx, 0xc
mov edx, 0x40a1ec
lea eax, [esp + 0xb4]
call section..text
mov ecx, eax
call fcn.004010b0
lea eax, [esp + 0x68]
push eax
mov ecx, 0x16
mov edx, 0x40a300
lea eax, [esp + 0xb4]
call section..text
mov ecx, eax
call fcn.004010b0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, 0x10
mov edx, 0x40a318
lea eax, [esp + 0xb4]
call section..text
mov ecx, eax
call fcn.004010b0
lea edx, [esp + 0x1c0]
push edx
mov ecx, 0x100
mov edx, 0x40a1fe
lea eax, [esp + 0xb4]
call section..text
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x44], edx
mov dx, word [esp + 0x7c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x30]
mov word [esp + 0x50], dx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x7c], eax
lea edx, [esp + 0xb0]
mov dword [esp + 0x28], esp
mov edi, 0xf
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], 0
push edx
or eax, 0xffffffff
xor ebx, ebx
mov byte [ecx], 0
call fcn.004039c0
sub esp, 0x1c
mov byte [esp + 0x7cc], 1
mov esi, esp
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
lea edi, [ebx + 5]
mov eax, str.Hello
mov dword [esp + 0xc0], esp
mov byte [esi], bl
call fcn.00403aa0
sub esp, 0x1c
mov byte [esp + 0x7e8], 2
mov esi, esp
lea eax, [esp + 0x214]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov dword [esp + 0xd8], esp
mov byte [esi], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404bd8
sub eax, edi
mov edi, eax
lea eax, [esp + 0x214]
call fcn.00403aa0
sub esp, 0x1c
mov byte [esp + 0x804], 3
mov esi, esp
lea eax, [esp + 0xc4]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov dword [esp + 0xfc], esp
mov byte [esi], bl
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404c20
sub eax, edi
mov edi, eax
lea eax, [esp + 0xc4]
call fcn.00403aa0
sub esp, 0x1c
mov byte [esp + 0x820], 4
mov esi, esp
lea eax, [esp + 0xc8]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov dword [esp + 0x11c], esp
mov byte [esi], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404c61
sub eax, edi
mov edi, eax
lea eax, [esp + 0xc8]
call fcn.00403aa0
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x83c], 5
lea eax, [esp + 0xc4]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov dword [esp + 0x128], esp
mov byte [esi], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404ca2
sub eax, edx
mov edi, eax
lea eax, [esp + 0xc4]
call fcn.00403aa0
lea eax, [esp + 0x368]
push eax
mov byte [esp + 0x840], bl
call fcn.00401580
lea esi, [esp + 0x2c0]
mov byte [esp + 0x794], 6
call fcn.004017a0
test al, al
je 0x404d1a
mov ecx, esi
push ecx
call fcn.004018c0
test eax, eax
jne 0x404d1a
mov ebx, esi
call fcn.00401c60
test al, al
je 0x404d1a
mov ecx, esi
call fcn.00401f20
test al, al
je 0x404d1a
mov edx, esi
push edx
call fcn.00401ff0
test eax, eax
jne 0x404d1a
mov ecx, esi
call fcn.004024d0
lea eax, [esp + 0x2c0]
call fcn.00401450
cmp dword [esp + 0xa8], 0x10
jb 0x404d41
mov eax, dword [esp + 0x94]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [esp + 0x78c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret