Function at 0x4a4a70
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x513bb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebp
push edi
mov edi, ecx
xor ebp, ebp
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x48]
push ebp
push eax
push ecx
lea ecx, [edi + 0x104]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
call fcn.0049f9b0
test eax, eax
jne 0x4a4adc
push ebp
push 0x6b1f14
mov ecx, edi
call fcn.004a3cf0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
pop edi
pop ebp
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret 0x10
mov edx, dword [esp + 0x48]
push ebx
mov ebx, dword [esp + 0x50]
push esi
push ebp
push ebp
push ebx
lea ecx, [edx + 0x14]
call fcn.0049f3e0
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00490150
push ebx
mov dword [esp + 0x4c], ebp
call fcn.0049fb60
add esp, 4
test eax, eax
je 0x4a4b7f
add esi, 0x18
push esi
call fcn.004f5900
add esi, eax
push esi
call fcn.004f5900
mov ecx, dword [esp + 0x60]
add esp, 8
cmp ecx, 3
lea eax, [esi + eax + 8]
ja case.default.0x4a4be4
jmp dword [ecx*4 + 0x4a4ec0]
add eax, 4
push eax
call fcn.004a06a0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x4a4e86
mov eax, dword [eax]
shr eax, 2
and eax, 1
mov dword [esp + 0x14], eax
jmp 0x4a4e86
mov eax, dword [eax]
shr eax, 1
and eax, 1
mov dword [esp + 0x14], eax
jmp 0x4a4e86
mov eax, dword [eax]
not eax
and eax, 1
mov dword [esp + 0x14], eax
jmp 0x4a4e86
mov eax, dword [esi]
push ebp
push eax
mov ecx, edi
call fcn.004a3e30
mov ebx, dword [esp + 0x58]
mov ebp, eax
lea edi, [esi + 0x18]
mov edx, dword [ebp + 0x28]
lea ecx, [ebx + ebx*4]
mov esi, edi
lea eax, [edx + ecx*4]
push esi
mov dword [esp + 0x5c], eax
call fcn.004f5900
add esi, eax
push esi
call fcn.004f5900
add esi, eax
add esp, 8
mov esi, dword [esi]
test esi, esi
je 0x4a4bd0
mov ecx, dword [esi + 0x1c]
push ecx
nop
nop
nop
nop
nop
nop
test eax, eax
je 0x4a4bd0
mov eax, 1
jmp 0x4a4bd2
xor eax, eax
cmp ebx, 8
jge 0x4a4e37
cmp ebx, 7
ja case.default.0x4a4be4
jmp dword [ebx*4 + 0x4a4ed0]
cmp eax, 1
jne 0x4a4c44
mov eax, dword [esi + 0x1c]
lea edx, [esp + 0x1c]
push edx
push eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x1c]
push ecx
nop
nop
nop
nop
nop
nop
push eax
call fcn.00509460
mov edi, eax
test edi, edi
je 0x4a4c2f
mov ecx, esi
call fcn.0050bccf
test eax, 0x80000000
jne 0x4a4c2f
lea edx, [esp + 0x1c]
mov ecx, edi
push edx
call fcn.0050e291
mov eax, dword [esp + 0x1c]
test ebx, ebx
je 0x4a4c3b
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
add esp, 8
cmp ebx, 1
lea eax, [edi + eax + 4]
jne 0x4a4c61
add eax, 4
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x4a4e86
cmp eax, 1
jne 0x4a4cab
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x1c]
push eax
push ecx
nop
nop
nop
nop
nop
nop
cmp ebx, 2
jne 0x4a4c98
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
sub eax, ecx
mov dword [esp + 0x14], eax
jmp 0x4a4e86
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
add esp, 8
cmp ebx, 3
lea eax, [edi + eax + 0xc]
jne 0x4a4c61
add eax, 4
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
mov edx, dword [edi + eax + 0x1c]
lea eax, [edi + eax + 0x1c]
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4 + 4]
lea eax, [ecx + eax + 4]
push eax
call fcn.004a06a0
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x4a4e86
cmp eax, 1
jne 0x4a4d28
mov edx, dword [esi + 0x1c]
push edx
nop
nop
nop
nop
nop
nop
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
mov edx, dword [edi + eax + 0x1c]
lea eax, [edi + eax + 0x1c]
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4 + 4]
lea esi, [ecx + eax + 4]
push esi
call fcn.004f5900
mov eax, dword [eax + esi + 4]
add esp, 0xc
and eax, 1
mov dword [esp + 0x14], eax
jmp 0x4a4e86
cmp eax, 1
jne 0x4a4d7d
mov ecx, esi
call fcn.0050be5e
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
mov edx, dword [edi + eax + 0x1c]
lea eax, [edi + eax + 0x1c]
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4 + 4]
lea esi, [eax + ecx + 4]
push esi
call fcn.004f5900
mov eax, dword [eax + esi + 4]
add esp, 0xc
shr eax, 1
and eax, 1
mov dword [esp + 0x14], eax
jmp 0x4a4e86
push edi
call fcn.004f5900
add edi, eax
push edi
call fcn.004f5900
mov edx, dword [edi + eax + 0x1c]
lea eax, [edi + eax + 0x1c]
add esp, 8
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4 + 4]
cmp ecx, 4
jb 0x4a4e24
mov dword [esp + 0x3c], 0
mov ecx, dword [eax]
add eax, 4
push ecx
push eax
lea ecx, [esp + 0x34]
call fcn.004908c0
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
neg esi
sbb esi, esi
and esi, eax
mov edx, dword [esi]
push edx
call fcn.004ad640
mov dword [esi], eax
mov eax, dword [esp + 0x40]
push eax
push esi
call fcn.004a0730
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x4a4e86
add eax, 4
push ecx
push eax
call fcn.004a0730
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x4a4e86
test eax, eax
jne 0x4a4e4a
mov ecx, dword [esp + 0x10]
push eax
push 0x6b1f00
call fcn.004a3cf0
push 6
call dword [ebp + 0x2c]
lea edx, [esp + 0x1c]
xor ecx, ecx
add ebx, 0xfffffff8
push edx
mov dword [esp + 0x20], ecx
push ebx
push esi
mov dword [esp + 0x2c], ecx
call eax
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
call fcn.004a5390
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x2c]
mov esi, eax
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x2c], 0x69aee0
call fcn.00490350
mov ecx, dword [esp + 0x40]
mov eax, esi
pop esi
mov edx, edi
pop ebx
pop edi
pop ebp
mov dword fs:[0], ecx
add esp, 0x3c
ret 0x10