Function at 0x4a0e18
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x1001195f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov eax, dword [0x10016070]
push ebp
mov ebp, dword [0x10013004]
push esi
mov esi, dword [esp + 0x30]
push edi
test esi, esi
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], eax
je 0x4a0e94
mov ecx, esi
shr ecx, 0x10
jne 0x4a0e6c
mov eax, esi
lea ecx, [esp + 0xc]
and eax, 0xffff
push eax
call fcn.004a55e8
jmp 0x4a0e94
push esi
call ebp
mov edi, eax
test edi, edi
je 0x4a0e94
push edi
lea ecx, [esp + 0x10]
call fcn.0049fce8
test eax, eax
je 0x4a0e94
mov edx, dword [esp + 0xc]
push edi
inc edi
push esi
push edi
push edx
call fcn.004a19f8
add esp, 0x10
mov eax, dword [0x10016070]
mov dword [esp + 0x24], 1
test esi, esi
mov dword [esp + 0x14], eax
je 0x4a0eea
mov ecx, esi
shr ecx, 0x10
jne 0x4a0ec2
and esi, 0xffff
lea ecx, [esp + 0x14]
push esi
call fcn.004a55e8
jmp 0x4a0eea
push esi
call ebp
mov edi, eax
test edi, edi
je 0x4a0eea
push edi
lea ecx, [esp + 0x18]
call fcn.0049fce8
test eax, eax
je 0x4a0eea
mov edx, dword [esp + 0x14]
push edi
inc edi
push esi
push edi
push edx
call fcn.004a19f8
add esp, 0x10
mov esi, dword [esp + 0x30]
mov byte [esp + 0x24], 2
test esi, esi
jne 0x4a0f97
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
mov edx, dword [ecx - 0xc]
lea eax, [ecx - 0xc]
test edx, edx
jl 0x4a0f18
push eax
mov dword [esi], ecx
call dword [0x10013050]
jmp 0x4a0f27
mov eax, dword [0x10016070]
push ecx
mov ecx, esi
mov dword [esi], eax
call fcn.004a4918
mov eax, dword [esp + 0x14]
mov edx, dword [0x10016074]
mov edi, dword [0x10013000]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4a0f58
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4a0f58
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.004afb12
add esp, 4
mov eax, dword [esp + 0xc]
mov edx, dword [0x10016074]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4a0f83
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4a0f83
mov edx, dword [esp + 0xc]
add edx, 0xfffffff4
push edx
call fcn.004afb12
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret
push ebx
lea ecx, [esp + 0x10]
call fcn.004a59d8
mov eax, dword [esp + 0x10]
mov ebx, dword [0x10013170]
push eax
call ebx
mov ecx, dword [0x10016070]
mov edx, esi
shr edx, 0x10
mov dword [esp + 0x38], ecx
jne 0x4a0fd1
and esi, 0xffff
lea ecx, [esp + 0x38]
push esi
call fcn.004a55e8
jmp 0x4a0ff9
push esi
call ebp
mov edi, eax
test edi, edi
je 0x4a0ff9
push edi
lea ecx, [esp + 0x3c]
call fcn.0049fce8
test eax, eax
je 0x4a0ff9
mov eax, dword [esp + 0x38]
push edi
inc edi
push esi
push edi
push eax
call fcn.004a19f8
add esp, 0x10
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 3
call fcn.004a59d8
mov ecx, dword [esp + 0x38]
push ecx
call ebx
mov edx, dword [esp + 0x38]
push 0
push 0x10016118
lea ecx, [esp + 0x40]
mov esi, dword [edx - 8]
call fcn.004a5078
dec esi
cmp eax, esi
je 0x4a1049
mov eax, 0x10016118
test eax, eax
je 0x4a103a
push 0x10016118
call ebp
push 0x10016118
push eax
lea ecx, [esp + 0x40]
call fcn.004a58d8
mov eax, dword [esp + 0x38]
push 0
push eax
lea ecx, [esp + 0x18]
mov esi, dword [eax - 8]
call fcn.004a5078
mov ecx, dword [0x10016070]
mov dword [esp + 0x14], ecx
mov bl, 4
cmp eax, 0xffffffff
mov byte [esp + 0x28], bl
jne 0x4a1099
mov edx, 0x10016364
test edx, edx
jne 0x4a107e
xor eax, eax
jmp 0x4a1085
push 0x10016364
call ebp
push 0x10016364
push eax
lea ecx, [esp + 0x1c]
call fcn.004a5818
jmp 0x4a1139
add eax, esi
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004a49e8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 5
call fcn.004a4848
lea ecx, [esp + 0x34]
mov byte [esp + 0x28], bl
call fcn.004a57e8
push 0x10016114
lea ecx, [esp + 0x14]
call fcn.004a5048
lea ecx, [esp + 0x34]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004a4b98
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 6
call fcn.004a4848
lea ecx, [esp + 0x34]
mov byte [esp + 0x28], bl
call fcn.004a57e8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
cmp ecx, 1
jle 0x4a1139
mov eax, ecx
lea edx, [esp + 0x34]
dec eax
lea ecx, [esp + 0x14]
push eax
push edx
call fcn.004a4cf8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 7
call fcn.004a4848
lea ecx, [esp + 0x34]
mov byte [esp + 0x28], bl
call fcn.004a57e8
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.004a4758
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], 1
mov byte [esp + 0x28], 3
call fcn.004a57e8
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 2
call fcn.004a57e8
lea ecx, [esp + 0x18]
mov byte [esp + 0x28], 1
call fcn.004a57e8
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 0
call fcn.004a57e8
mov ecx, dword [esp + 0x20]
pop ebx
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x1c
ret