Function at 0x4496f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4750e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov eax, dword [esi + 0x30]
xor edi, edi
test eax, eax
mov dword [esp + 0x1c], 8
jle 0x44975a
test edi, edi
jl 0x44994e
cmp edi, dword [esi + 0x30]
jge 0x44994e
mov eax, dword [esi + 0x2c]
mov ebp, dword [eax + edi*4]
test ebp, ebp
lea eax, [eax + edi*4]
je 0x449752
mov ecx, dword [ebp]
push ecx
call fcn.004573f9
push ebp
call fcn.0046b360
add esp, 8
mov eax, dword [esi + 0x30]
inc edi
cmp edi, eax
jl 0x449722
mov eax, dword [esi + 0x1c4]
xor edi, edi
test eax, eax
jle 0x4497a5
test edi, edi
jl 0x44994e
cmp edi, dword [esi + 0x1c4]
jge 0x44994e
mov edx, dword [esi + 0x1c0]
mov ebp, dword [edx + edi*4]
test ebp, ebp
lea eax, [edx + edi*4]
je 0x44979a
mov ecx, ebp
call fcn.0042d940
push ebp
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x1c4]
inc edi
cmp edi, eax
jl 0x449766
mov eax, dword [esi + 0x1d8]
xor edi, edi
test eax, eax
jle 0x4497f0
test edi, edi
jl 0x44994e
cmp edi, dword [esi + 0x1d8]
jge 0x44994e
mov eax, dword [esi + 0x1d4]
mov ebp, dword [eax + edi*4]
test ebp, ebp
lea eax, [eax + edi*4]
je 0x4497e5
mov ecx, ebp
call fcn.0042d940
push ebp
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x1d8]
inc edi
cmp edi, eax
jl 0x4497b1
mov edi, dword [esi + 0x1e4]
test edi, edi
je 0x44980a
mov ecx, edi
call fcn.0042a780
push edi
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x1d4]
test eax, eax
mov dword [esi + method.CCommandLineInfo.virtual_0], 0x478a9c
je 0x449827
push eax
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x1c0]
test eax, eax
mov dword [esi + method.CCommandLineInfo.virtual_0], 0x478a90
je 0x449844
push eax
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x74]
sub eax, 0x10
mov byte [esp + 0x1c], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x449866
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x70]
sub eax, 0x10
mov byte [esp + 0x1c], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x449888
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x6c]
sub eax, 0x10
mov byte [esp + 0x1c], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4498aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x2c]
test eax, eax
mov dword [esi + 0x28], 0x478a84
je 0x4498c1
push eax
call fcn.0046b360
add esp, 4
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
lea edi, [esi + 0x1c]
push eax
push ecx
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov byte [esp + 0x28], 1
call fcn.00449280
mov eax, dword [edi + 4]
push eax
call fcn.0046b360
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, dword [esi + 4]
sub eax, 0x10
add esp, 4
mov byte [esp + 0x1c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x449918
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov esi, dword [esi]
sub esi, 0x10
mov dword [esp + 0x1c], 0xffffffff
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44993c
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x14
ret
jmp fcn.00465031