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

Disassembly:
sub esp, 0xc4
mov eax, dword [0x94bd40]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xcc]
push ebx
mov ebx, dword [esp + 0xd4]
push ebp
push esi
push edi
mov edi, dword [esp + 0xd8]
mov ebp, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x98], eax
movups xmm1, xmmword [edi]
mov dword [esp + 0x18], edi
movq xmm0, qword [edi + 0x10]
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x18]
psrldq xmm1, 0xc
movd eax, xmm1
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0x58], ebx
cmp dword [esp + 0xb0], eax
mov dword [esp + 0x20], ebp
sbb esi, esi
mov dword [esp + 0x94], edi
neg esi
mov dword [esp + 0x90], esi
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x34], esi
mov esi, dword [ebx + 8]
mov dword [esp + 0x80], esi
mov esi, dword [ebx + 4]
sub esi, dword [esp + 0x80]
mov dword [esp + 0x8c], esi
cmp dword [esp + 0xb0], eax
jae 0x7ba4bc
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x64]
add ecx, dword [esp + 0x54]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x54]
add ecx, edi
mov dword [esp + 0x6c], ecx
jmp 0x7ba4db
mov eax, dword [ecx + 4]
mov dword [esp + 0x64], edi
mov dword [esp + 0x54], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov esi, dword [esp + 0x34]
mov dword [esp + 0x28], eax
add eax, edi
mov dword [esp + 0x70], eax
lea edi, [edx + ebp]
lea eax, [edi - 8]
mov dword [esp + 0x38], edi
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x18]
add eax, 0x24
mov dword [esp + 0x84], eax
cmp edx, esi
jae 0x7ba513
mov eax, edx
jmp 0x7bac71
lea eax, [esp + 0xa0]
push ebx
push eax
call fcn.007ba140
lea ebx, [esi + ebp]
add esp, 8
lea eax, [edi - 8]
mov dword [esp + 0x30], ebx
cmp ebx, eax
jae 0x7bac6d
nop word [eax + eax]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
push ecx
push dword [esp + 0x88]
sub eax, ebx
push eax
lea eax, [esp + 0xac]
push ebx
push eax
call fcn.007b9f90
mov dword [esp + 0x9c], eax
add esp, 0x14
xor eax, eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x48], eax
jbe 0x7ba860
mov ebx, dword [esp + 0x18]
add ebx, 0x12c
mov dword [esp + 0x4c], ebx
nop dword [eax]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
sub eax, esi
add eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov ebp, eax
cmp esi, 0x20
jb 0x7ba7cd
add esi, 0xffffffe1
mov dword [esp + 0x24], 0xc2b2ae3d
add eax, esi
mov dword [esp + 0x2c], 0x7a143579
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movlpd qword [esp + 0x78], xmm0
mov ebx, 0xadc0b5d6
mov eax, dword [esp + 0x7c]
mov esi, 0x60ea27ee
mov dword [esp + 0x14], eax
mov edi, 0x27d4eb4f
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], 0x61c8864e
mov dword [esp + 0x10], eax
nop dword [eax + eax]
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 4]
push dword [ebp]
call fcn.007bcf30
mov ecx, eax
add ecx, ebx
mov eax, ecx
adc edx, esi
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0xc]
mov ebx, eax
mov esi, edx
push dword [ebp + 8]
call fcn.007bcf30
mov ecx, eax
add ecx, edi
mov eax, ecx
adc edx, dword [esp + 0x24]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0x14]
mov edi, eax
mov dword [esp + 0x30], edx
push dword [ebp + 0x10]
call fcn.007bcf30
mov ecx, eax
add ecx, dword [esp + 0x10]
mov eax, ecx
adc edx, dword [esp + 0x14]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
push 0xc2b2ae3d
push 0x27d4eb4f
push dword [ebp + 0x1c]
mov dword [esp + 0x1c], eax
push dword [ebp + 0x18]
mov dword [esp + 0x24], edx
call fcn.007bcf30
mov ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, ecx
adc edx, dword [esp + 0x1c]
push 0x9e3779b1
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
push 0x85ebca87
push edx
push eax
call fcn.007bcf30
add ebp, 0x20
mov dword [esp + 0x1c], edx
mov ecx, eax
mov dword [esp + 0x2c], ecx
cmp ebp, dword [esp + 0x3c]
jb 0x7ba600
push dword [esp + 0x1c]
mov dword [esp + 0x7c], ebp
mov eax, ebx
shld eax, esi, 1
mov ebp, esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
shld ebp, ebx, 1
mov dword [esp + 0x48], edi
mov ebx, edi
shld ebx, eax, 7
mov edi, eax
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x14]
shld edi, eax, 7
mov eax, dword [esp + 0x18]
mov edx, eax
shld edx, ebp, 0xc
mov dword [esp + 0x40], esi
mov esi, ebp
mov ebp, dword [esp + 0x30]
push ebp
push dword [esp + 0x1c]
shld esi, eax, 0xc
push dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push dword [esp + 0x34]
shld ecx, eax, 0x12
push dword [esp + 0x58]
shld eax, ebp, 0x12
push dword [esp + 0x54]
add ecx, esi
push dword [esp + 0x7c]
adc eax, edx
add ecx, ebx
adc eax, edi
add ecx, dword [esp + 0x7c]
adc eax, dword [esp + 0x94]
push eax
push ecx
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
add esp, 0x10
push edx
push eax
call fcn.00774190
mov ebx, dword [esp + 0x5c]
add esp, 0x10
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x34]
jmp 0x7ba7d7
mov eax, 0x165667c5
mov edx, 0x27d4eb2f
push 1
add eax, esi
push esi
adc edx, 0
push ebp
push edx
push eax
call fcn.00773f70
mov ecx, dword [esp + 0xa0]
mov esi, 1
shl esi, cl
add esp, 0x14
dec esi
mov dword [ebx], edx
and esi, eax
mov eax, dword [esp + 0x50]
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x58]
mov dword [ebx - 4], esi
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
psrldq xmm1, 8
movd ecx, xmm1
movq qword [esp + 0xc8], xmm0
shl esi, cl
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
lea eax, [eax + esi*8]
mov esi, dword [esp + 0x34]
mov dword [ebx + 4], eax
add ebx, 0x10
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x48]
jb 0x7ba590
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
jmp 0x7ba864
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x48], 0
mov dword [esp + 0x60], 0
jbe 0x7babbe
lea esi, [ecx + 0x128]
mov dword [esp + 0x3c], esi
mov ebx, dword [esi - 4]
xor eax, eax
mov dword [esp + 0x4c], eax
xor edx, edx
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov eax, ebx
mov dword [esp + 0x5c], edx
mov edx, dword [esi + 8]
mov esi, dword [esp + 0x28]
sub eax, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], eax
cmp ebx, ebp
jae 0x7ba8fb
mov eax, dword [esp + 0x58]
mov esi, dword [ecx + 0x20]
mov ebx, dword [esp + 0x40]
add esi, ebx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dl, byte [esi]
psrldq xmm1, 8
movd ecx, xmm1
movzx eax, dl
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
jmp 0x7bac13
mov ecx, dword [esp + 0x80]
mov eax, 8
shl eax, cl
add eax, edx
mov dword [esp + 0x74], eax
cmp edx, eax
jae 0x7babe5
mov eax, dword [esp + 0x10]
nop dword [eax + eax]
cmp dword [edx + 4], eax
jne 0x7baae9
mov eax, dword [edx]
cmp eax, dword [esp + 0x64]
jbe 0x7baae5
cmp dword [esp + 0x90], 0
je 0x7ba9ff
cmp eax, dword [esp + 0x94]
mov ebp, esi
mov ecx, dword [esp + 0x70]
mov esi, edi
cmovb ebp, dword [esp + 0x54]
add ebp, eax
cmp eax, dword [esp + 0x94]
cmovb esi, dword [esp + 0x6c]
cmovb ecx, dword [esp + 0x68]
mov eax, esi
sub eax, ebp
mov dword [esp + 0x50], ecx
add eax, ebx
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
push ecx
push ebp
push ebx
call fcn.00782bc0
mov edi, eax
add esp, 0xc
lea ecx, [edi + ebp]
cmp ecx, esi
jne 0x7ba9a5
push dword [esp + 0x38]
lea eax, [edi + ebx]
push dword [esp + 0x74]
push eax
call fcn.00782bc0
add esp, 0xc
add edi, eax
cmp edi, dword [esp + 0x34]
jb 0x7baad9
mov esi, dword [esp + 0x50]
push esi
push ebp
push dword [esp + 0x28]
push ebx
call fcn.007b9b80
mov ecx, eax
add esp, 0x10
sub ebp, ecx
mov dword [esp + 0x50], ecx
cmp ebp, esi
jne 0x7ba9f8
mov eax, dword [esp + 0x68]
cmp esi, eax
je 0x7ba9f8
mov ebp, dword [esp + 0x20]
push eax
push dword [esp + 0x70]
mov eax, ebx
sub eax, ecx
push ebp
push eax
call fcn.007b9b80
mov edx, eax
add esp, 0x10
add edx, dword [esp + 0x50]
jmp 0x7baaa4
mov edx, ecx
jmp 0x7baaa0
lea ecx, [eax + esi]
mov eax, ebx
lea esi, [edi - 3]
mov dword [esp + 0x2c], ecx
mov edx, ecx
cmp ebx, esi
jae 0x7baa44
mov eax, dword [ebx]
xor eax, dword [ecx]
je 0x7baa1f
bsf edi, eax
shr edi, 3
jmp 0x7baa6c
lea eax, [ebx + 4]
lea edx, [ecx + 4]
cmp eax, esi
jae 0x7baa44
nop dword [eax]
mov ecx, dword [eax]
xor ecx, dword [edx]
jne 0x7baacd
add eax, 4
add edx, 4
cmp eax, esi
jb 0x7baa30
lea ecx, [edi - 1]
cmp eax, ecx
jae 0x7baa59
mov cx, word [edx]
cmp cx, word [eax]
jne 0x7baa59
add eax, 2
add edx, 2
cmp eax, edi
jae 0x7baa64
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x7baa64
inc eax
mov edi, eax
sub edi, ebx
mov ecx, dword [esp + 0x2c]
cmp edi, dword [esp + 0x34]
jb 0x7baadd
xor edx, edx
cmp ebx, ebp
jbe 0x7baaa4
mov ebp, ebx
mov esi, ebx
mov ebx, dword [esp + 0x20]
dec ecx
sub ebp, dword [esp + 0x2c]
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x70]
jbe 0x7baa9c
mov al, byte [ecx + ebp]
cmp al, byte [ecx]
jne 0x7baa9c
dec esi
dec ecx
inc edx
cmp esi, ebx
ja 0x7baa85
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
lea eax, [edx + edi]
cmp eax, dword [esp + 0x4c]
jbe 0x7baae1
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
jmp 0x7baaed
bsf edi, ecx
shr edi, 3
sub edi, ebx
add edi, eax
jmp 0x7baa68
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
add edx, 8
mov dword [esp + 0x1c], edx
cmp edx, dword [esp + 0x74]
jb 0x7ba920
test ecx, ecx
je 0x7babe5
mov edi, dword [esp + 0x98]
mov esi, ebx
sub esi, dword [ecx]
sub esi, dword [esp + 0x28]
mov edx, dword [edi + 0xc]
mov eax, dword [edi]
lea ecx, [edx + edx*2]
lea ecx, [eax + ecx*4]
cmp edx, dword [edi + 0x10]
je 0x7bac66
mov eax, ebx
mov dword [ecx], esi
sub eax, dword [esp + 0x5c]
sub eax, ebp
mov ebp, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x5c]
mov dword [ecx + 8], eax
inc dword [edi + 0xc]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
movups xmm1, xmmword [eax]
mov esi, dword [edi + 0x20]
movq xmm0, qword [eax + 0x10]
add esi, ebp
psrldq xmm1, 8
movd ecx, xmm1
movq qword [esp + 0xc8], xmm0
mov dl, byte [esi]
shl ebp, cl
movzx eax, dl
inc dl
add ebp, eax
mov eax, dword [edi + 0x18]
mov edi, dword [esp + 0x44]
mov dword [eax + ebp*8], edi
mov edi, dword [esp + 0x10]
mov dword [eax + ebp*8 + 4], edi
mov al, 1
mov ebp, dword [esp + 0x24]
shl al, cl
add ebp, ebx
mov ebx, dword [esp + 0x30]
dec al
mov ecx, dword [esp + 0x88]
and al, dl
mov byte [esi], al
mov dword [esp + 0x20], ebp
lea eax, [ecx + ebx]
cmp ebp, eax
jbe 0x7bac3b
mov ebx, ebp
sub ebx, ecx
add ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x9c]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x30], ebx
cmp ebx, eax
jae 0x7bac6d
mov esi, dword [esp + 0x34]
jmp 0x7ba540
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x40]
movups xmm1, xmmword [eax]
mov esi, dword [edi + 0x20]
movq xmm0, qword [eax + 0x10]
add esi, ebx
psrldq xmm1, 8
movd ecx, xmm1
mov dl, byte [esi]
movzx eax, dl
shl ebx, cl
add ebx, eax
mov eax, dword [edi + 0x18]
mov edi, dword [esp + 0x44]
inc dl
mov dword [eax + ebx*8], edi
mov edi, dword [esp + 0x10]
mov dword [eax + ebx*8 + 4], edi
mov al, 1
mov ebx, dword [esp + 0x30]
shl al, cl
dec al
movq qword [esp + 0xc8], xmm0
and al, dl
mov byte [esi], al
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x3c]
inc eax
add esi, 0x10
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], esi
cmp eax, dword [esp + 0x48]
jae 0x7babbe
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
jmp 0x7ba881
mov eax, 0xffffffba
jmp 0x7bac71
sub edi, ebp
mov eax, edi
mov ecx, dword [esp + 0xd0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.007bcf1e
add esp, 0xc4
ret