Function at 0x40ab80
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4763a9
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x4a100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], esi
mov dword [ebx + 8], 0x61766343
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov word [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebp - 4], 0
mov dword [ebx], vtable.AP4_AvccAtom.0
mov dword [ebx + 0x30], vtable.AP4_Array_class_AP4_DataBuffer_.0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], vtable.AP4_Array_class_AP4_DataBuffer_.0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
lea ecx, [ebx + 0x50]
mov dword [ecx], vtable.AP4_DataBuffer.0
mov byte [ecx + 4], 1
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
lea edi, [eax - 8]
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x30], edi
test edi, edi
je 0x40ac6c
push edi
call fcn.00421500
test eax, eax
jne 0x40ac7a
mov eax, dword [ebx + 0x58]
push edi
push esi
push eax
call fcn.00474f39
add esp, 0xc
mov dword [ebx + 0x60], edi
movzx eax, byte [esi]
lea ecx, [ebx + 0x30]
mov byte [ebx + 0x28], al
movzx eax, byte [esi + 1]
mov byte [ebx + 0x29], al
movzx eax, byte [esi + 2]
mov byte [ebx + 0x2b], al
movzx eax, byte [esi + 3]
mov byte [ebx + 0x2a], al
movzx eax, byte [esi + 4]
and al, 3
inc al
mov byte [ebx + 0x2c], al
mov al, byte [esi + 5]
and al, 0x1f
movzx eax, al
push eax
mov dword [ebp - 0x20], eax
call fcn.0040b490
cmp dword [ebp - 0x20], 0
mov esi, 6
jbe 0x40ad93
xor edx, edx
mov dword [ebp - 0x18], edx
nop dword [eax + eax]
lea ecx, [esi + 2]
cmp ecx, edi
ja 0x40ad83
mov eax, dword [ebp - 0x24]
add eax, esi
mov esi, ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + esi]
mov dword [ebp - 0x28], eax
cmp eax, edi
ja 0x40ad83
mov dword [ebp - 0x44], vtable.AP4_DataBuffer.0
mov byte [ebp - 0x40], 1
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebx + 0x30]
call fcn.0040b400
push 0
mov byte [ebp - 4], 3
call fcn.004717e1
mov edi, dword [ebx + 0x3c]
add esp, 4
mov edx, dword [ebp - 0x18]
add edi, edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edi + 0xc]
jbe 0x40ad62
cmp byte [edi + 4], 0
je 0x40ad7d
push eax
mov ecx, edi
call fcn.00421500
test eax, eax
jne 0x40ad7a
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x24]
add eax, esi
push eax
push dword [edi + 8]
call fcn.00474f39
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [edi + 0x10], eax
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
add edx, 0x14
sub dword [ebp - 0x20], 1
mov dword [ebp - 0x18], edx
jne 0x40acd0
mov eax, dword [ebp - 0x24]
lea ecx, [ebx + 0x40]
mov al, byte [eax + esi]
inc esi
movzx eax, al
push eax
mov dword [ebp - 0x1c], eax
call fcn.0040b490
cmp dword [ebp - 0x1c], 0
jbe 0x40ae83
xor edx, edx
mov dword [ebp - 0x18], edx
nop dword [eax + eax]
lea ecx, [esi + 2]
cmp ecx, edi
ja 0x40ae73
mov eax, dword [ebp - 0x24]
add eax, esi
mov esi, ecx
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x20], ecx
lea eax, [ecx + esi]
mov dword [ebp - 0x28], eax
cmp eax, edi
ja 0x40ae73
mov dword [ebp - 0x44], vtable.AP4_DataBuffer.0
mov byte [ebp - 0x40], 1
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebx + 0x40]
call fcn.0040b400
push 0
mov byte [ebp - 4], 3
call fcn.004717e1
mov edi, dword [ebx + 0x4c]
add esp, 4
mov edx, dword [ebp - 0x18]
add edi, edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [edi + 0xc]
jbe 0x40ae52
cmp byte [edi + 4], 0
je 0x40ae6d
push eax
mov ecx, edi
call fcn.00421500
test eax, eax
jne 0x40ae6a
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
add eax, esi
push eax
push dword [edi + 8]
call fcn.00474f39
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [edi + 0x10], eax
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
add edx, 0x14
sub dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], edx
jne 0x40adc0
movzx eax, byte [ebx + 0x29]
mov ecx, 5
add eax, 0xffffffbe
cmp eax, 0x4e
ja case.0x40ae9b.67
movzx eax, byte [eax + 0x40b01c]
jmp dword [eax*4 + 0x40affc]
mov ecx, 2
jmp case.0x40ae9b.67
mov ecx, 3
jmp case.0x40ae9b.67
mov ecx, 4
jmp case.0x40ae9b.67
mov ecx, 6
jmp case.0x40ae9b.67
mov ecx, 7
jmp case.0x40ae9b.67
mov ecx, 8
mov dword [0x4a1374], ecx
mov ecx, dword [0x4a13d8]
mov dword [0x4a1388], 0
mov dword [0x4a138c], 0
cmp ecx, 0x63656e63
je 0x40af11
cmp ecx, 0x70696666
je 0x40af11
xor eax, eax
mov edx, 2
cmp ecx, 0x63626373
cmove eax, edx
mov dword [0x4a1390], eax
jmp 0x40af1b
mov dword [0x4a1390], 1
mov ecx, dword [0x4a139c]
xor esi, esi
mov eax, dword [0x4a13a8]
mov dword [0x4a13a0], ecx
mov dword [0x4a13ac], eax
mov dword [ebp - 0x14], 0x1000000
cmp dword [ebx + 0x38], esi
jbe 0x40af8a
xor edi, edi
push dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x4a139c
call fcn.0040b580
mov eax, dword [ebx + 0x3c]
push dword [ebp - 0x2c]
mov ecx, dword [edi + eax + 8]
mov eax, dword [edi + eax + 0x10]
add eax, ecx
push eax
push ecx
push dword [0x4a13a0]
mov ecx, 0x4a139c
call fcn.0040b580
inc esi
lea edi, [edi + 0x14]
cmp esi, dword [ebx + 0x38]
jae 0x40af8a
mov ecx, dword [0x4a13a0]
jmp 0x40af41
xor esi, esi
cmp dword [ebx + 0x48], esi
jbe 0x40afd9
xor edi, edi
push dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
mov ecx, 0x4a13a8
push eax
lea eax, [ebp - 0x14]
push eax
push dword [0x4a13ac]
call fcn.0040b580
mov eax, dword [ebx + 0x4c]
push dword [ebp - 0x2c]
mov ecx, dword [edi + eax + 8]
mov eax, dword [edi + eax + 0x10]
add eax, ecx
push eax
push ecx
push dword [0x4a13ac]
mov ecx, 0x4a13a8
call fcn.0040b580
inc esi
lea edi, [edi + 0x14]
cmp esi, dword [ebx + 0x48]
jb 0x40af93
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047179f
mov esp, ebp
pop ebp
ret 8