Function at 0x4198e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b635b
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push edi
mov eax, dword [0x4e7950]
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.00403090
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.0040dab0
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0xd0], 0
je 0x419972
mov edx, dword [ebp - 0x38]
cmp dword [edx + 0x520], 0
jne 0x419972
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, 0x520
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419d90
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xdc], 0
je 0x4199d2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x528], 0
jne 0x4199d2
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, 0x528
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xdc]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe0], 0
je 0x419a32
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x52c], 0
jne 0x419a32
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, 0x52c
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe8], 0
je 0x419a92
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x530], 0
jne 0x419a92
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, 0x530
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe8]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xec], 0
je 0x419af2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x534], 0
jne 0x419af2
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, 0x534
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xec]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xe4], 0
je 0x419b52
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x538], 0
jne 0x419b52
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, 0x538
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xe4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xf0], 0
je 0x419bb2
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x53c], 0
jne 0x419bb2
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, 0x53c
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xf0]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xd8], 0
je 0x419c12
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x540], 0
jne 0x419c12
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, 0x540
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd8]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xd4], 0
je 0x419c72
mov ecx, dword [ebp - 0x38]
cmp dword [ecx + 0x544], 0
jne 0x419c72
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, 0x544
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xd4]
push edx
mov ecx, dword [ebp - 0x38]
call fcn.00419ea0
push 0x218
call fcn.00461620
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x24], 0
je 0x419c9d
mov eax, dword [ebp - 0x24]
push eax
call fcn.00459920
mov dword [ebp - 0x3c], eax
jmp 0x419ca4
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 + 0x548], eax
mov edi, dword [ebp - 0x38]
add edi, 0x3e4
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ecx + 0x548]
call fcn.0045a120
or ecx, 0xffffffff
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x548]
call fcn.0045a180
mov ecx, 0x10
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x548]
call fcn.0045a1a0
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x548]
call fcn.0045a9e0
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 + 0x548]
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x548]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
mov eax, dword [ebp - 0x38]
add eax, 0x4a4
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ecx + 0x548]
call fcn.004583f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret