Function at 0x41ce70
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x534d9b
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push edi
mov eax, dword [0x56d940]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x1c]
call fcn.0040c820
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00411f90
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0xd0], 0
je 0x41cf02
mov edx, dword [ebp - 0x38]
cmp dword [edx + 0x51c], 0
jne 0x41cf02
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x10]
mov dword [eax + 0xc], edx
push 0x3e9
mov eax, dword [ebp - 0x38]
add eax, 0x51c
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d320
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xdc], 0
je 0x41cf62
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x524], 0
jne 0x41cf62
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x11c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3eb
mov eax, dword [ebp - 0x38]
add eax, 0x524
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xdc]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe0], 0
je 0x41cfc2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x528], 0
jne 0x41cfc2
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x12c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3ec
mov eax, dword [ebp - 0x38]
add eax, 0x528
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe8], 0
je 0x41d022
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x52c], 0
jne 0x41d022
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x14c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3ed
mov eax, dword [ebp - 0x38]
add eax, 0x52c
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe8]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xec], 0
je 0x41d082
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x530], 0
jne 0x41d082
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x15c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3ee
mov eax, dword [ebp - 0x38]
add eax, 0x530
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xec]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe4], 0
je 0x41d0e2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x534], 0
jne 0x41d0e2
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x13c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3ef
mov eax, dword [ebp - 0x38]
add eax, 0x534
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xf0], 0
je 0x41d142
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x538], 0
jne 0x41d142
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x19c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3f0
mov eax, dword [ebp - 0x38]
add eax, 0x538
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xf0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xd8], 0
je 0x41d1a2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x53c], 0
jne 0x41d1a2
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0x10c
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3f1
mov eax, dword [ebp - 0x38]
add eax, 0x53c
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd8]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xd4], 0
je 0x41d202
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x540], 0
jne 0x41d202
push 0
push 3
mov edx, dword [ebp - 0x38]
add edx, 0xfc
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
push 0x3f2
mov eax, dword [ebp - 0x38]
add eax, 0x540
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.0041d430
push 0x218
call fcn.004e1be4
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x24], 0
je 0x41d22d
mov eax, dword [ebp - 0x24]
push eax
call fcn.004db070
mov dword [ebp - 0x3c], eax
jmp 0x41d234
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [edx + 0x544], eax
mov edi, dword [ebp - 0x38]
add edi, 0x3e0
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ecx + 0x544]
call fcn.004db860
or ecx, 0xffffffff
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x544]
call fcn.004db8c0
mov ecx, 0x10
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x544]
call fcn.004db8e0
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x544]
call fcn.004dc120
mov eax, dword [ebp - 0x38]
add eax, 0x17c
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x30], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x28], edx
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov edx, dword [ebp - 0x30]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x544]
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x544]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
mov eax, dword [ebp - 0x38]
add eax, 0x4a0
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ecx + 0x544]
call fcn.004d9b40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret