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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa8
call 0x4a90af
pop eax
mov dword [esp + 0x9c], edx
mov ebx, ecx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xc0]
mov dword [ebp + 8], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x68], 0
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
cmp ecx, edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x7c], edx
jbe 0x4a910e
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0xc]
cmp ecx, 0xffffffff
mov dword [esp + 0xc], ecx
je 0x4ae5b4
mov ecx, dword [eax]
test ecx, ecx
je 0x4a9131
cmp ecx, 1
jne 0x4a9148
mov ecx, dword [ebx + 0x130]
jmp 0x4a915c
mov ecx, dword [ebx + 0x130]
cmp ecx, dword [ebx + 0x134]
mov dword [esp + 0x78], ecx
sete byte [esp + 0x5f]
jmp 0x4a9165
mov ecx, dword [eax + 4]
cmp dword [ebx + 0x15c], ecx
jbe 0x4a9103
mov edx, dword [ebx + 0x158]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x78], ecx
mov byte [esp + 0x5f], 1
mov ecx, dword [eax + 8]
movzx eax, byte [eax + 0x18]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0x72], al
mov eax, dword [esi + 8]
mov dword [esp + 0xa0], edi
cmp cl, 2
sete dl
or dl, cl
mov byte [esp + 0x73], dl
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x54], edx
cmp byte [esp + 0x9c], 0
mov dword [esp + 0x10], edi
setne cl
cmp edi, dword [esp + 0x7c]
adc dword [esp + 0xa0], 0
test eax, eax
setne al
and al, cl
cmp dword [esp + 0x54], 0
je 0x4a91e0
test al, al
je 0x4a91f6
jmp 0x4aa5b0
cmp edi, dword [esp + 0x98]
seta cl
and cl, byte [esp + 0x5f]
or cl, al
jne 0x4a9103
mov edx, dword [ebp + 8]
cmp edx, dword [ebp]
jne 0x4a9208
mov ecx, ebp
call fcn.00414d50
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x78]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x10]
mov dword [ebp + 8], edx
je 0x4aa5b0
mov eax, dword [esp + 0xc]
lea ecx, [edi - 1]
mov esi, 0
mov dword [esp + 0x50], ecx
mov ecx, edi
sub eax, edi
sub ecx, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cmovb ecx, esi
mov dword [esp + 0x20], ecx
add eax, edi
mov dword [esp], eax
jmp 0x4a9272
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x10]
mov edx, dword [ebp + 8]
test edx, edx
je 0x4aa5b0
dec edx
mov dword [ebp + 8], edx
lea edx, [edx + edx*2]
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4 + 4]
test eax, eax
je 0x4a9293
jmp 0x4aa59b
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x58], ecx
cmp edx, ecx
jbe 0x4ae358
mov edi, dword [ebp + 0x1c]
mov esi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [edi + ecx*4]
cmp ecx, dword [esp + 0x54]
jae 0x4a92ce
cmp ecx, eax
jae 0x4ae36e
mov ebx, dword [esp + 0xbc]
mov ebx, dword [ebx + 0x10]
cmp dword [ebx + ecx*4], esi
mov ebx, dword [esp + 8]
je 0x4a925c
mov ecx, dword [esp + 0x54]
cmp ecx, eax
mov dword [esp + 0x68], ecx
jae 0x4ae480
mov ebp, dword [esp + 0xbc]
mov eax, dword [ebp + 0x10]
mov dword [eax + ecx*4], esi
mov eax, esi
mov esi, ecx
mov ecx, dword [esp + 0x58]
cmp ecx, edx
jae 0x4ae34e
mov dword [edi + ecx*4], esi
inc esi
mov dword [ebp + 0x24], esi
mov edx, dword [ebx + 0x150]
cmp edx, eax
jbe 0x4ae362
mov ecx, dword [ebx + 0x14c]
lea edx, [eax + eax*4]
mov edi, eax
mov dword [esp + 0x54], esi
lea eax, [ecx + edx*4]
mov ecx, dword [ecx + edx*4]
mov ecx, dword [ecx*4 + 0x4ae60c]
add ecx, dword [esp + 0x64]
jmp ecx
cmp eax, 2
jne 0x4ae512
nop word cs:[eax + eax]
nop
cmp byte [ebx + 0x162], 0
je 0x4aa5e0
cmp byte [ebx + 0x163], 0
setne al
mov dword [esp + 0xa4], eax
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
cmp ecx, edx
jbe 0x4aa5f9
jmp 0x4ae57c
mov dword [esp + 0xa4], 0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
cmp ecx, edx
ja 0x4ae57c
test ecx, ecx
je 0x4ae2c0
lea esi, [edi + 1]
mov eax, 0
mov ebp, dword [ebp + 0x10]
mov edx, esi
sub edx, 4
cmovb edx, eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 8]
mov ebx, dword [ebp]
mov edx, dword [edx + 0x150]
cmp edx, ebx
jbe 0x4ae37a
lea eax, [ebp + ecx*4]
mov ecx, ebp
mov dword [esp + 4], esi
mov dword [esp + 0x50], eax
lea eax, [edi + 2]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc]
sub eax, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
lea eax, [eax + edi + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
jmp 0x4aa68d
mov eax, dword [eax + 0x14c]
add ecx, 4
mov dword [esp + 0x18], ecx
lea ecx, [ebx + ebx*4]
lea esi, [eax + ecx*4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax*4 + 0x4ae730]
add eax, dword [esp + 0x64]
jmp eax
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 8]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 4]
je 0x4a9103
cmp byte [esp + 0x72], 0
jne 0x4a9103
movups xmm0, xmmword [ebp + 0x3c]
movups xmm1, xmmword [ebp + 0xc]
cmp edi, dword [esp + 0x7c]
movups xmmword [ebp + 0xc], xmm0
movups xmmword [ebp + 0x3c], xmm1
movsd xmm1, qword [ebp + 0x1c]
movdqu xmm0, xmmword [ebp + 0x4c]
movsd qword [ebp + 0x4c], xmm1
mov ecx, dword [ebp + 0x38]
movups xmm1, xmmword [ebp + 0x5c]
movups xmm2, xmmword [ebp + 0x28]
movdqu xmmword [ebp + 0x1c], xmm0
movups xmmword [ebp + 0x58], xmm2
movups xmmword [ebp + 0x2c], xmm1
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x54], 0
jae 0x4a9103
mov edi, dword [esp + 0xa0]
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0x54], xmm0
cmp edi, dword [esp + 0x7c]
jbe 0x4a91aa
jmp 0x4a9103
push 0x55863c
call fcn.0053bb10
push 0x55864c
call fcn.0053bb10
mov ecx, eax
push 0x55712c
call fcn.0053bb10
mov edx, eax
push 0x55865c
call fcn.0053bb10
mov ecx, ebx
push 0x55712c
call fcn.0053bb10
mov ecx, edx
mov edx, ebx
push 0x55868c
call fcn.0053bb10
mov ecx, edi
push 0x55864c
call fcn.0053bb10
mov ecx, esi
push 0x55712c
call fcn.0053bb10
mov ecx, edx
mov edx, edi
push 0x55868c
call fcn.0053bb10
mov ecx, edx
mov edx, dword [esp + 4]
push 0x55868c
call fcn.0053bb10
mov ecx, edx
mov edx, dword [esp + 0x24]
push 0x55748c
call fcn.0053bb10
mov ecx, edi
mov edx, dword [esp + 0x24]
push 0x55748c
call fcn.0053bb10
mov ecx, dword [esp + 0x50]
push 0x557ad8
call fcn.0053bb10
push 0x557378
call fcn.0053bb10
mov edx, dword [esp + 0xc]
push 0x557b08
call fcn.0053bb10
mov edx, dword [esp + 0xc]
push 0x5578fc
call fcn.0053bb10
mov edx, dword [esp + 0xc]
push 0x557af8
call fcn.0053bb10
mov edx, dword [esp + 0xc]
push 0x557b18
call fcn.0053bb10
push 0x557ab8
call fcn.0053bb10
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push 0x55790c
call fcn.0053bb10
mov ecx, dword [esp + 4]
push 0x557ac8
call fcn.0053bb10
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x55790c
call fcn.0053bb10
mov ecx, edi
push 0x557ac8
call fcn.0053bb10
lea edx, [esp + 0x68]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x80], 0x558614
mov dword [esp + 0x84], 3
mov dword [esp + 0x90], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], fcn.004476a0
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x58]
mov dword [esp + 0x38], fcn.004476a0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x80]
mov edx, 0x55862c
mov dword [esp + 0x40], 0x473420
mov dword [esp + 0x8c], 3
call fcn.0053ba80
mov ecx, 0x55749c
call fcn.0053bf10
mov ecx, eax
push 0x557500
call fcn.0053bb70
xor edx, edx
push 0x55748c
call fcn.0053bb10
mov ecx, edi
mov edx, eax
push 0x557500
call fcn.0053bd90
mov edx, dword [esp + 0x24]
push 0x5574ac
call fcn.0053c0e0
xor edx, edx
push 0x5574ac
call fcn.0053c0e0
mov ecx, 0x55867c
call fcn.0053bf10
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x557b38
call fcn.0053bb70
mov ecx, edx
mov edx, edi
push 0x55869c
call fcn.0053bab0
mov ecx, ebx
mov edx, eax
push 0x557500
call fcn.0053bd90
push 0x55866c
call fcn.0053bb70
mov ecx, esi
mov edx, eax
push 0x557500
call fcn.0053bd90
mov ecx, edi
mov edx, dword [esp + 0xc]
push 0x557b28
call fcn.0053bb70
mov ecx, ebx
mov edx, dword [esp + 0xc]
push 0x557b38
call fcn.0053bb70
lea ecx, [esp + 0x2c]
mov edx, 0x55746c
mov dword [esp + 0x2c], 0x557454
mov dword [esp + 0x30], 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], str.Index_out_of_bounds
mov dword [esp + 0x38], 0
call fcn.0053ba80
mov ecx, edx
mov edx, ebx
push 0x55869c
call fcn.0053bab0
mov ecx, ebx
mov edx, dword [esp + 0xc]
push 0x557b28
call fcn.0053bb70
ud2