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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x58]
cmp eax, 2
jge 0x4aa6ef
mov eax, 0xffffff7d
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 4], 0
jne 0x4aa6ff
mov eax, 0xffffff76
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0x10]
push edi
test ebx, ebx
jl 0x4aaaf6
mov edi, dword [ebp + 0xc]
jg 0x4aa719
test edi, edi
jb 0x4aaaf6
cmp ebx, dword [esi + 0x14]
jg 0x4aaaf6
jl 0x4aa72d
cmp edi, dword [esi + 0x10]
ja 0x4aaaf6
cmp eax, 3
jl 0x4aa75c
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x38]
cmp ebx, dword [ecx + eax*8 + 4]
jl 0x4aa753
jg 0x4aa745
cmp edi, dword [ecx + eax*8]
jb 0x4aa753
cmp ebx, dword [ecx + eax*8 + 0xc]
jl 0x4aa75c
jg 0x4aa753
cmp edi, dword [ecx + eax*8 + 8]
jb 0x4aa75c
push esi
call fcn.004a8780
add esp, 4
push dword [esi + 0x5c]
lea eax, [esi + 0x78]
mov dword [esi + 0x50], 0xffffffff
push eax
mov dword [esi + 0x54], 0xffffffff
call fcn.004bfd70
lea eax, [esi + 0x1e0]
push eax
call fcn.004acc20
push ebx
push edi
push esi
call fcn.004a9900
add esp, 0x18
test eax, eax
je 0x4aa7c0
lea eax, [ebp - 0x1bc]
mov dword [esi + 0x50], 0xffffffff
push eax
mov dword [esi + 0x54], 0xffffffff
call fcn.004bf360
push esi
call fcn.004a8780
add esp, 8
mov eax, 0xffffff77
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
push dword [esi + 0x5c]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1bc]
push eax
mov dword [ebp - 8], ebx
call fcn.004bf670
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bfce0
add esp, 0xc
jmp 0x4aa7f3
mov ebx, dword [ebp - 8]
cmp dword [esi + 0x58], 3
jl 0x4aa8a2
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bf950
add esp, 8
test eax, eax
jle 0x4aa8a2
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x48]
shl ecx, 5
add eax, ecx
cmp dword [eax + 0x1c], 0
je 0x4aa894
lea ecx, [ebp - 0x54]
push ecx
push eax
call fcn.004ae780
mov edi, eax
add esp, 8
test edi, edi
jns 0x4aa84e
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004bf950
add esp, 8
xor edi, edi
jmp 0x4aa877
cmp dword [ebp - 4], 0
je 0x4aa86a
cmp dword [ebp - 0x10], 0
jne 0x4aa86a
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004bf950
add esp, 8
jmp 0x4aa877
test ebx, ebx
je 0x4aa877
lea eax, [edi + ebx]
sar eax, 2
add dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x44]
mov eax, ecx
mov ebx, dword [ebp - 0x40]
and eax, ebx
cmp eax, 0xffffffff
jne 0x4aa9c6
mov ebx, edi
mov dword [ebp - 8], ebx
jmp 0x4aa7f3
lea eax, [esi + 0x78]
push 0
push eax
call fcn.004bf950
add esp, 8
test ebx, ebx
jne 0x4aaac9
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.004a8e50
mov ecx, edx
mov dword [ebp - 0x14], eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jl 0x4aaab6
jg 0x4aa8d5
test eax, eax
jb 0x4aaab6
cmp dword [esi + 0x58], 3
jl 0x4aa917
lea eax, [ebp - 0x34]
push eax
call fcn.004bf330
add esp, 4
cmp dword [esi + 0x5c], eax
je 0x4aa911
lea eax, [ebp - 0x34]
push eax
call fcn.004bf190
add esp, 4
test eax, eax
je 0x4aa911
push esi
call fcn.004a8780
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bf360
add esp, 8
cmp dword [esi + 0x58], 3
jge 0x4aa995
lea eax, [ebp - 0x34]
push eax
call fcn.004bf330
mov ecx, dword [esi + 0x34]
add esp, 4
xor edi, edi
mov ebx, eax
test ecx, ecx
jle 0x4aa93d
mov eax, dword [esi + 0x40]
cmp dword [eax], ebx
je 0x4aa93d
inc edi
add eax, 4
cmp edi, ecx
jl 0x4aa931
cmp edi, ecx
je 0x4aa7f0
lea eax, [esi + 0x78]
mov dword [esi + 0x60], edi
push ebx
push eax
mov dword [esi + 0x5c], ebx
call fcn.004bfd70
lea eax, [ebp - 0x1bc]
push ebx
push eax
call fcn.004bfd70
mov eax, dword [esi + 0x3c]
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x58], 3
cmp ecx, dword [eax + edi*8 + 4]
jg 0x4aa98b
jl 0x4aa982
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edi*8]
ja 0x4aa98b
mov dword [ebp - 0x10], 1
jmp 0x4aa992
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 8]
lea eax, [ebp - 0x34]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.004bf9b0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bf9b0
lea eax, [ebp - 0x34]
push eax
call fcn.004bf280
add esp, 0x14
mov dword [ebp - 4], eax
jmp 0x4aa7f3
mov edi, dword [esi + 0x60]
mov eax, edi
mov edx, dword [esi + 0x44]
shl eax, 4
sub ecx, dword [eax + edx]
sbb ebx, dword [eax + edx + 4]
mov dword [ebp - 0x10], ebx
test ebx, ebx
jg 0x4aa9f6
jl 0x4aa9e5
test ecx, ecx
jae 0x4aa9f6
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ebx
xorps xmm0, xmm0
xor edx, edx
movlpd qword [ebp - 0xc], xmm0
movlpd qword [ebp - 0x24], xmm0
cmp edi, 2
jl 0x4aaa58
mov eax, dword [esi + 0x44]
lea edx, [edi - 2]
mov edi, dword [ebp - 0x20]
add eax, 0x18
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
shr edx, 1
inc edx
mov dword [ebp - 4], edx
add edx, edx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
nop word [eax + eax]
add ebx, dword [eax - 0x10]
adc esi, dword [eax - 0xc]
add edx, dword [eax]
adc edi, dword [eax + 4]
lea eax, [eax + 0x20]
sub dword [ebp - 4], 1
jne 0x4aaa30
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x14]
jmp 0x4aaa6d
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 8], eax
cmp edx, dword [esi + 0x60]
jge 0x4aaa80
mov eax, dword [esi + 0x44]
shl edx, 4
add ecx, dword [edx + eax + 8]
adc ebx, dword [edx + eax + 0xc]
mov eax, dword [ebp - 0x1c]
cdq
sub dword [ebp - 8], eax
mov eax, dword [ebp - 8]
sbb edi, edx
add eax, dword [ebp - 4]
adc edi, dword [ebp - 0x18]
add eax, ecx
mov dword [esi + 0x50], eax
adc edi, ebx
mov dword [esi + 0x54], edi
test edi, edi
jg 0x4aaad7
jl 0x4aaaa6
test eax, eax
jae 0x4aaad7
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
jmp 0x4aaad7
push 0xffffffffffffffff
push esi
call fcn.004aa630
add esp, 8
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
jmp 0x4aaad7
mov dword [esi + 0x50], 0xffffffff
mov dword [esi + 0x54], 0xffffffff
lea eax, [ebp - 0x1bc]
push eax
call fcn.004bf360
add esp, 4
xorps xmm0, xmm0
movups xmmword [esi + 0x68], xmm0
xor eax, eax
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xffffff7d
pop esi
mov esp, ebp
pop ebp
ret