Function at 0x414350
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4a8140
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ca5d0]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov ebx, ecx
lea ebp, [ebx + 0x50]
push 1
mov ecx, 0xce
mov eax, ebp
call fcn.004185f0
push 1
mov ecx, 0x4b6
mov eax, ebp
call fcn.004185f0
xor edi, edi
push edi
mov ecx, 0x2906
mov eax, ebp
call fcn.00410d40
push edi
mov ecx, 0x2907
mov eax, ebp
call fcn.00410d40
push edi
mov ecx, 0x2906
mov eax, ebp
call fcn.004185f0
push edi
mov ecx, 0x2907
mov eax, ebp
call fcn.004185f0
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
push ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
call dword [0x4aa3a0]
mov edx, dword [0x4cfda0]
lea esi, [esp + 0x1c]
mov dword [ebx + 0x5f4], edx
call fcn.00429c00
mov dword [esp + 0x40], edi
lea edi, [ebx + 0x5dc]
call fcn.004051e0
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414439
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x1c]
call fcn.00429770
lea esi, [ebx + 0x5e0]
mov edi, esi
mov dword [esp + 0x40], 1
call fcn.004051e0
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41447f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0x5dc]
cmp dword [ecx - 0xc], 0
lea edi, [ebx + 0x5dc]
jne 0x414533
lea edx, [esp + 0x18]
push edx
push 0x4b1538
mov dword [esp + 0x48], 2
push 0x80000002
mov dword [esp + 0x24], 0
call dword [0x4aa00c]
push 0x4b1570
lea eax, [esp + 0x1c]
push eax
mov eax, edi
call fcn.0041c010
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
jne 0x41450d
lea ecx, [esp + 0x20]
call fcn.00429ab0
mov byte [esp + 0x40], 3
call fcn.004051e0
mov byte [esp + 0x40], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414514
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x414514
mov ecx, edi
call fcn.00410e50
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x41452b
push eax
call dword [0x4aa018]
mov dword [esp + 0x18], 0
cmp dword [ebx + 0x5f4], 0
push 0
mov eax, ebp
je 0x4145ad
mov ecx, 0xcc
call fcn.00418680
push 0x4b1588
mov ecx, 0x12e
mov eax, ebp
call fcn.00418460
push 0
mov ecx, 0x193
mov eax, ebp
call fcn.00418680
push 0x4b15f0
push 0x193
push ebp
mov ecx, 0x4b15bc
call fcn.004184e0
push 0
mov ecx, 0x194
mov eax, ebp
call fcn.00418680
push 0x4b1628
push 0x194
push ebp
mov ecx, 0x4b15f4
call fcn.004184e0
mov dword [ebx + 0x5d8], 0x14
jmp 0x4145d0
mov ecx, 0xcd
call fcn.00410d40
mov ecx, dword [ebx + 0x620]
push 1
mov eax, ebp
call fcn.00410d40
mov dword [ebx + 0x5d8], 0xc
mov eax, dword [edi]
push eax
mov ecx, 0x4b7
mov eax, ebp
call fcn.00418460
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [0x4aa394]
mov eax, dword [esi]
sub eax, 0x10
call fcn.00405170
add eax, 0x10
mov dword [esp + 0x1c], eax
lea edi, [eax - 0x10]
mov ebx, 4
mov eax, edi
mov dword [esp + 0x40], ebx
call fcn.00405170
lea ebp, [eax + 0x10]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x40], 5
mov eax, dword [esi]
sub eax, 0x10
call fcn.00405170
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414641
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x40], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414661
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x40], 0xffffffff
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414682
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, 1
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret