Function at 0x7aa9a8
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x460c78
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov al, byte [edi + 0xd24]
neg al
sbb eax, eax
and eax, 0x8000
add eax, 0x8000
push eax
call fcn.007aeeda
test al, al
jne 0x7aa9fe
pop edi
pop esi
pop ebp
mov eax, 0x8007000e
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 0x14
lea esi, [edi + 0x20]
push 0x20000
mov ecx, esi
call fcn.007a4fcd
test al, al
jne 0x7aaa2b
pop edi
pop esi
pop ebp
mov eax, 0x8007000e
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 0x14
mov ecx, dword [esp + 0x40]
xor ebx, ebx
push ecx
mov ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
call fcn.007aef2c
push ebx
mov ecx, edi
call fcn.007aef45
mov edx, dword [esp + 0x3c]
mov ecx, esi
push edx
call fcn.007a501b
lea esi, [edi + 0x18]
lea ecx, [esi + 8]
call fcn.007a502a
mov dword [esi], 0x20
mov dword [esi + 4], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x30], ebx
mov dword [esp + 0x24], edi
mov byte [esp + 0x28], 1
mov dword [esp + 0x34], ebx
mov byte [edi + 0xd1c], bl
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
je 0x7aaad3
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
mov ebp, dword [esi]
mov ebx, 0x20
sub eax, edx
sub ebx, ebp
cdq
shr ebx, 3
xor ebp, ebp
sub eax, ebx
mov ebx, dword [esi + 0xc]
sbb edx, ebp
mov ebp, dword [esi + 8]
add eax, ebp
adc edx, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x20]
push edx
push ecx
call dword [eax + 0xc]
mov ebp, eax
xor ebx, ebx
cmp ebp, ebx
jne 0x7aaf71
mov ecx, edi
call fcn.007aa448
mov al, byte [edi + 0xd1d]
test al, al
je 0x7aab58
mov eax, dword [edi + 0xd20]
xor ebp, ebp
cmp eax, ebx
jbe 0x7aab39
mov ecx, esi
call fcn.007ab1d8
mov eax, dword [esi + 0x30]
mov edx, dword [esi]
mov ecx, eax
add edx, 8
shr eax, 8
mov dword [esi], edx
mov dword [esi + 0x30], eax
mov eax, dword [edi + 4]
mov edx, dword [edi]
and ecx, 0xff
mov byte [eax + edx], cl
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
inc edx
mov eax, edx
mov dword [edi + 4], edx
cmp eax, ecx
jb 0x7aab2e
mov ecx, edi
call fcn.007aef6c
mov eax, dword [edi + 0xd20]
inc ebp
cmp ebp, eax
jb 0x7aaaf0
mov eax, dword [edi + 0xd20]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x18]
adc eax, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x7aaf1f
cmp dword [edi + 0x40], 4
ja 0x7aafae
mov ecx, esi
call fcn.007ab1d8
mov ebp, dword [esi]
mov eax, dword [esi + 4]
mov ecx, 8
sub ecx, ebp
shr eax, cl
mov ecx, dword [edi + 0x74]
shr eax, 9
and eax, 0x7fff
cmp eax, ecx
jae 0x7aab96
mov ecx, eax
shr ecx, 6
xor edx, edx
mov dl, byte [ecx + edi + 0x550]
jmp 0x7aabab
mov edx, 0xa
lea ecx, [edi + 0x78]
cmp eax, dword [ecx]
jb 0x7aabab
inc edx
add ecx, 4
cmp edx, 0xf
jb 0x7aab9e
add ebp, edx
mov ecx, edx
mov dword [esi], ebp
mov ebp, dword [esi + 0x30]
shr ebp, cl
mov dword [esi + 0x30], ebp
mov ecx, dword [edi + edx*4 + 0x4c]
sub eax, ecx
mov ebp, dword [edi + edx*4 + 0x90]
mov ecx, 0xf
sub ecx, edx
shr eax, cl
add eax, ebp
cmp eax, 0x120
jae 0x7aafc1
mov eax, dword [edi + eax*4 + 0xd0]
cmp eax, 0x100
jae 0x7aac4a
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
je 0x7aac11
mov edx, dword [esp + 0x18]
mov ebp, dword [ecx + 4]
cmp edx, ebp
ja 0x7aafd8
jb 0x7aac11
mov edx, dword [esp + 0x14]
mov ebp, dword [ecx]
cmp edx, ebp
jae 0x7aafd8
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov byte [ecx + edx], al
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
inc edx
mov eax, edx
mov dword [edi + 4], edx
cmp eax, ecx
jb 0x7aac30
mov ecx, edi
call fcn.007aef6c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, 1
adc eax, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x7aab58
cmp eax, 0x101
jb 0x7aaf14
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
je 0x7aac7c
mov edx, dword [esp + 0x18]
mov ebp, dword [ecx + 4]
cmp edx, ebp
ja 0x7aafeb
jb 0x7aac7c
mov edx, dword [esp + 0x14]
mov ebp, dword [ecx]
cmp edx, ebp
jae 0x7aafeb
mov cl, byte [edi + 0xd24]
sub eax, 0x101
test cl, cl
je 0x7aad38
xor ecx, ecx
xor ebx, ebx
mov cl, byte [eax + 0x466688]
mov bl, byte [eax + 0x466648]
mov ebp, ecx
add ebx, 3
test ebp, ebp
mov dword [esp + 0x40], ebx
jbe 0x7aadd2
cmp dword [esi], 8
jb 0x7aad11
lea edx, [esp + 0x3c]
lea ecx, [esi + 8]
push edx
call fcn.007aa408
test al, al
jne 0x7aacd2
mov eax, dword [esi + 0x28]
mov byte [esp + 0x3c], 0xff
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esi]
and eax, 0xff
mov ecx, 0x20
sub ecx, edx
mov ebx, eax
shl ebx, cl
mov ecx, dword [esi + 0x30]
or ecx, ebx
mov dword [esi + 0x30], ecx
xor ecx, ecx
mov cl, byte [eax + 0x478c60]
mov eax, dword [esi + 4]
shl eax, 8
or ecx, eax
lea eax, [edx - 8]
cmp eax, 8
mov dword [esi + 4], ecx
mov dword [esi], eax
jae 0x7aacb5
mov ebx, dword [esp + 0x40]
mov edx, dword [esi + 0x30]
mov eax, 1
mov ecx, ebp
shl eax, cl
mov ecx, dword [esi]
add ecx, ebp
mov dword [esi], ecx
mov ecx, ebp
dec eax
and eax, edx
shr edx, cl
add ebx, eax
mov dword [esp + 0x40], ebx
mov dword [esi + 0x30], edx
jmp 0x7aadd2
xor ecx, ecx
mov cl, byte [eax + 0x466628]
add ecx, 3
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov cl, byte [eax + 0x466668]
mov ebp, ecx
cmp ebp, ebx
jbe 0x7aadd2
cmp dword [esi], 8
jb 0x7aadb2
lea edx, [esp + 0x10]
lea ecx, [esi + 8]
push edx
call fcn.007aa408
test al, al
jne 0x7aad77
mov eax, dword [esi + 0x28]
mov byte [esp + 0x10], 0xff
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
and eax, 0xff
mov ecx, 0x20
sub ecx, edx
mov ebx, eax
shl ebx, cl
mov ecx, dword [esi + 0x30]
or ecx, ebx
mov dword [esi + 0x30], ecx
xor ecx, ecx
mov cl, byte [eax + 0x478c60]
mov eax, dword [esi + 4]
shl eax, 8
or ecx, eax
lea eax, [edx - 8]
cmp eax, 8
mov dword [esi + 4], ecx
mov dword [esi], eax
jae 0x7aad5a
mov edx, dword [esi + 0x30]
mov eax, 1
mov ecx, ebp
shl eax, cl
mov ecx, dword [esi]
add ecx, ebp
mov dword [esi], ecx
mov ecx, ebp
dec eax
and eax, edx
shr edx, cl
add dword [esp + 0x40], eax
mov dword [esi + 0x30], edx
mov ecx, esi
call fcn.007ab1d8
mov ebx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, 8
sub ecx, ebx
shr eax, cl
mov ecx, dword [edi + 0x774]
shr eax, 9
and eax, 0x7fff
cmp eax, ecx
jae 0x7aae09
mov ecx, eax
shr ecx, 6
xor edx, edx
mov dl, byte [ecx + edi + 0x850]
jmp 0x7aae21
mov edx, 0xa
lea ecx, [edi + 0x778]
cmp eax, dword [ecx]
jb 0x7aae21
inc edx
add ecx, 4
cmp edx, 0xf
jb 0x7aae14
add ebx, edx
mov ecx, edx
mov dword [esi], ebx
mov ebx, dword [esi + 0x30]
shr ebx, cl
mov ecx, 0xf
sub ecx, edx
mov dword [esi + 0x30], ebx
mov ebp, dword [edi + edx*4 + 0x74c]
mov ebx, dword [edi + edx*4 + 0x790]
sub eax, ebp
shr eax, cl
add eax, ebx
cmp eax, 0x20
jae 0x7aaffe
mov ebx, dword [edi + eax*4 + 0x7d0]
xor edx, edx
mov ecx, esi
mov dl, byte [ebx + 0x466728]
mov ebp, edx
call fcn.007ab1d8
mov edx, dword [esi + 0x30]
mov eax, 1
mov ecx, ebp
shl eax, cl
mov ecx, dword [esi]
add ecx, ebp
mov dword [esi], ecx
mov ecx, ebp
dec eax
and eax, edx
shr edx, cl
mov dword [esi + 0x30], edx
mov ecx, dword [ebx*4 + 0x4666a8]
mov edx, dword [esp + 0x18]
add ecx, eax
xor eax, eax
cmp eax, edx
ja 0x7ab015
jb 0x7aaeaa
cmp ecx, dword [esp + 0x14]
jae 0x7ab015
mov ebp, dword [edi + 4]
mov eax, dword [edi + 8]
sub ebp, ecx
dec ebp
cmp ebp, eax
jb 0x7aaeb9
add ebp, eax
mov ebx, dword [esp + 0x40]
test ebx, ebx
jbe 0x7aaef8
mov dword [esp + 0x40], ebx
cmp ebp, dword [edi + 8]
jb 0x7aaecc
xor ebp, ebp
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dl, byte [eax + ebp]
mov byte [eax + ecx], dl
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
inc eax
inc ebp
cmp eax, ecx
mov dword [edi + 4], eax
jb 0x7aaeed
mov ecx, edi
call fcn.007aef6c
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x40], eax
jne 0x7aaec5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, ebx
adc eax, 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x7aab58
cmp eax, 0x100
jne 0x7ab02c
mov al, byte [edi + 0xd1c]
test al, al
je 0x7aaa82
mov ecx, edi
mov byte [esp + 0x28], 0
call fcn.007aef8c
mov ecx, edi
mov esi, eax
mov dword [esp + 0x34], 0xffffffff
call fcn.007aef56
mov eax, dword [edi + 0x38]
cmp eax, ebx
je 0x7aaf5a
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [edi + 0x38], ebx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 0x14
mov ecx, edi
mov dword [esp + 0x34], 0xffffffff
call fcn.007aef8c
mov ecx, edi
call fcn.007aef56
mov eax, dword [edi + 0x38]
cmp eax, ebx
je 0x7aaf97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [edi + 0x38], ebx
mov ecx, dword [esp + 0x2c]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret 0x14
lea edx, [esp + 0x48]
push 0x46a2b8
push edx
mov dword [esp + 0x50], ebx
call fcn.007f2bad
mov al, byte [esp + 0x48]
lea ecx, [esp + 0x48]
push 0x46a080
push ecx
mov byte [esp + 0x50], al
call fcn.007f2bad
lea edx, [esp + 0x48]
push 0x46a2b8
push edx
mov dword [esp + 0x50], ebx
call fcn.007f2bad
lea eax, [esp + 0x48]
push 0x46a2b8
push eax
mov dword [esp + 0x50], ebx
call fcn.007f2bad
mov cl, byte [esp + 0x48]
lea edx, [esp + 0x48]
push 0x46a080
push edx
mov byte [esp + 0x50], cl
call fcn.007f2bad
lea eax, [esp + 0x48]
push 0x4682f8
push eax
mov dword [esp + 0x50], 0x4742f0
call fcn.007f2bad
lea ecx, [esp + 0x48]
push 0x46a2b8
push ecx
mov dword [esp + 0x50], ebx
call fcn.007f2bad
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
mov esi, ecx
mov al, byte [esi + 4]
test al, al
je 0x7ab059
mov ecx, dword [esi]
call fcn.007aef8c
mov esi, dword [esi]
mov ecx, esi
call fcn.007aef56
mov eax, dword [esi + 0x38]
test eax, eax
je 0x7ab076
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esi + 0x38], 0
pop esi
ret