Function at 0x5420dc
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x5420e4
push ebx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x68]
mov edx, dword [0x49b100]
call fcn.004051b4
xor eax, eax
push ebp
push 0x54267f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x5a8]
cmp ebx, 0xffffffff
je 0x54262b
push 0x66
push 0x542698
lea ecx, [ebp - 0x70]
mov edx, ebx
mov eax, dword [0x5702a0]
mov eax, dword [eax + 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x70]
push 0x5426c4
push 0x5426d0
lea eax, [ebp - 0x6c]
mov edx, 4
call fcn.00404ab8
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0053f2d8
mov eax, dword [ebp - 4]
mov byte [eax + 0xef9], 1
xor eax, eax
push ebp
push 0x542624
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0xc
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0052fd40
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00532628
mov eax, dword [ebp - 4]
mov byte [eax + 0xa60], 1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5728], edx
mov eax, dword [ebp - 4]
add eax, 0x563c
call fcn.00404724
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c30]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c34]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x56b0], edx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00537fb4
test al, al
jne 0x5421fd
call fcn.004041ac
jmp 0x54262b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5488], 0
jne 0x54221f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x73c], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x5488], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5488], 0
jne 0x54228f
lea eax, [ebp - 0x18]
call fcn.00406534
push eax
push 0
push 0xffffffffffffffff
push 0x56fde0
push 0
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x714]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c8]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.0041835c
test al, al
je 0x54228f
push 0
push 0
mov eax, dword [ebp - 0x18]
push eax
push 0x56fde0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.0041835c
mov edx, dword [ebp - 4]
mov byte [edx + 0x5488], al
mov eax, dword [ebp - 4]
call fcn.0052f8f4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0052f8fc
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0052f9b0
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005349c0
lea eax, [ebp - 0x14]
call fcn.00406534
push eax
push 0x5426e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x714]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c8]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
test eax, eax
jne 0x542332
push 2
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x55c8], al
push 1
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x55f0], al
push 4
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x5618], al
jmp 0x542350
mov eax, dword [ebp - 4]
mov byte [eax + 0x55c8], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x55f0], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x5618], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c30]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c34]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5280], 0
je 0x5423c9
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x5a8]
mov eax, dword [0x5702a0]
mov eax, dword [eax + 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x74]
mov edx, 0x5426f8
call fcn.00404a44
mov ecx, dword [ebp - 0x74]
mov eax, 0x54271c
mov edx, 0x800080
call fcn.004ffb74
mov eax, dword [ebp - 4]
lea edx, [eax + 0x738]
mov eax, dword [ebp - 4]
call fcn.00540f74
jmp 0x542478
lea ecx, [ebp - 0x80]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x5a8]
mov eax, dword [0x5702a0]
mov eax, dword [eax + 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
mov edx, 0x542728
call fcn.00404a44
mov ecx, dword [ebp - 0x7c]
mov eax, 0x54271c
mov edx, 0x800080
call fcn.004ffb74
mov eax, dword [ebp - 4]
lea edx, [eax + 0x738]
mov eax, dword [ebp - 4]
call fcn.00540748
mov eax, dword [ebp - 4]
cmp byte [eax + 0x52a8], 0
je 0x542478
mov eax, dword [ebp - 4]
add eax, 0x738
call fcn.005151c0
test al, al
je 0x542478
push 0x56fdd0
mov eax, dword [ebp - 4]
add eax, 0x738
push eax
lea edx, [ebp - 0x84]
mov eax, 0x542754
call fcn.0050c43c
mov ecx, dword [ebp - 0x84]
mov edx, 0x56fba0
mov eax, dword [ebp - 4]
call fcn.0054c4c0
test al, al
je 0x542478
mov eax, dword [ebp - 4]
lea edx, [eax + 0x738]
mov eax, dword [ebp - 4]
call fcn.00540660
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x5a8]
mov eax, dword [0x5702a0]
mov eax, dword [eax + 0x30]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
mov edx, 0x542770
call fcn.00404a44
mov ecx, dword [ebp - 0x88]
mov eax, 0x54271c
mov edx, 0x800080
call fcn.004ffb74
mov eax, dword [ebp - 4]
call fcn.005415f8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x52a8]
mov ecx, 0x542798
mov edx, 0xff0000
call fcn.004ffb4c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x52a8], 0
je 0x5425b7
lea eax, [ebp - 0x1c]
push eax
push 0
mov eax, dword [ebp - 4]
add eax, 0x738
push eax
lea edx, [ebp - 0x90]
mov eax, 0x5427b4
call fcn.0050c43c
mov ecx, dword [ebp - 0x90]
mov edx, 0x56fab0
mov eax, dword [ebp - 4]
call fcn.0054c634
test al, al
je 0x5425b7
lea eax, [ebp - 0x20]
call fcn.00406534
push eax
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c8]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.0041835c
test al, al
je 0x5425af
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.0041835c
test al, al
je 0x5425a7
lea eax, [ebp - 0x68]
call fcn.0050a13c
sub eax, 1
jb 0x54257f
je 0x542590
jmp 0x54259f
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 4]
mov dword [edx + 0x52c8], eax
jmp 0x54259f
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x4c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x52c8], eax
lea eax, [ebp - 0x68]
call fcn.0049ba5c
lea eax, [ebp - 0x20]
call fcn.00406534
lea eax, [ebp - 0x1c]
call fcn.00406534
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54262b
cmp dword [ebp - 0x14], 0
je 0x5425d6
lea eax, [ebp - 0x14]
call fcn.00406534
cmp dword [ebp - 0x18], 0
je 0x5425e4
lea eax, [ebp - 0x18]
call fcn.00406534
cmp dword [ebp - 0x10], 0
je 0x5425f2
lea eax, [ebp - 0x10]
call fcn.00406534
push 0
mov ecx, 0xd
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0052fd40
push 0x69
push 0x5427c0
mov ecx, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0053f2d8
mov eax, dword [ebp - 4]
mov byte [eax + 0xef9], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x542686
lea eax, [ebp - 0x90]
mov edx, 0xa
call fcn.00404748
lea eax, [ebp - 0x68]
mov edx, dword [0x49b100]
call fcn.00405284
lea eax, [ebp - 0x20]
call fcn.00406534
lea eax, [ebp - 0x1c]
call fcn.00406534
lea eax, [ebp - 0x18]
call fcn.00406534
lea eax, [ebp - 0x14]
call fcn.00406534
lea eax, [ebp - 0x10]
call fcn.00406534
ret