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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa0
mov dword [0xa422f4], 0x44052253
mov ebp, dword [0xa422ec]
add ebp, dword [ebp]
mov eax, dword [0x9d5cfc]
mov dword [esp + 8], eax
mov ebx, dword [0xa422f0]
add ebx, dword [ebx]
mov esi, dword [ecx + 8]
call sub.KERNEL32.dll_GetCurrentThreadId
mov edx, eax
mov dword [0xa422fc], 0x2b53d455
mov eax, dword [0xa422e8]
lea edi, [eax + 1]
mov dword [0xa422e8], edi
mov ecx, 0xfffffffe
sub ecx, eax
xor edi, eax
not eax
and ecx, eax
or edi, ecx
cmp edi, 0xffffffff
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edi
je 0x6abb06
xor ebx, ebx
xor edx, edx
mov dword [esp], 0
xor ebp, ebp
mov edi, ebx
xor ecx, ecx
cmp dword [esp + 0x30], 0xffffffff
setne cl
xor ebx, ebx
cmp dword [0xa42300], 0xad6187af
sete bl
shl ebx, 3
mov esi, dword [0x9d5d0c]
mov dword [esp + 4], esi
mov esi, dword [0x9d5d08]
mov dword [esp + 0xc], esi
mov esi, dword [0x9d5d04]
mov dword [esp + 8], esi
sub ebx, ecx
mov dword [esp + 0x18], ebx
mov ecx, 0
sbb ecx, ecx
mov dword [esp + 0x1c], ecx
mov ebx, dword [0x9d5d00]
mov ecx, 0
sbb ecx, ecx
mov dword [esp + 0x10], ecx
mov esi, 0
sbb esi, esi
mov eax, dword [0xa422f8]
cmp eax, 0xcf460345
jne 0x6aba78
mov dword [0xa42304], 0xe1d470f
mov dword [esp + 0x70], ebx
pxor xmm0, xmm0
movdqu xmmword [esp + 0x60], xmm0
mov eax, dword [esp + 8]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, edi
mov eax, ecx
and al, 7
shr cl, 3
and cl, 0xf
neg cl
movsx edx, cl
mov ebp, dword [esp + edx + 0x78]
mov edi, dword [esp + edx + 0x7c]
mov ecx, eax
shld edi, ebp, cl
mov dword [esp], edi
shl ebp, cl
not cl
mov dword [esp + 0x14], esi
mov edi, dword [esp + edx + 0x70]
mov edx, dword [esp + edx + 0x74]
mov esi, edx
shr esi, 1
shr esi, cl
mov ecx, eax
shld edx, edi, cl
shl edi, cl
or esi, ebp
sub ebx, edi
mov ecx, dword [esp + 8]
sbb ecx, edx
mov eax, dword [esp + 0xc]
sbb eax, esi
mov edx, dword [esp + 4]
sbb edx, dword [esp]
mov dword [esp + 0x50], ebx
movdqu xmmword [esp + 0x40], xmm0
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x18]
mov ch, dl
and ch, 7
mov cl, dl
mov eax, edx
shr cl, 3
and cl, 0xf
neg cl
movsx esi, cl
mov edx, dword [esp + esi + 0x58]
mov edi, dword [esp + esi + 0x5c]
mov cl, ch
shld edi, edx, cl
mov dword [esp + 4], edi
shl edx, cl
not cl
mov edi, dword [esp + esi + 0x50]
mov esi, dword [esp + esi + 0x54]
mov ebp, esi
shr ebp, 1
shr ebp, cl
mov cl, ch
shld esi, edi, cl
mov dword [esp], esi
or ebp, edx
mov edx, ebp
mov dword [esp + 0x20], ebp
mov ebp, edi
shl ebp, cl
mov dword [esp + 8], ebp
sub ebp, eax
mov edi, dword [esp + 0x1c]
sbb esi, edi
mov dword [esp + 0xc], esi
mov ecx, edx
mov ebx, dword [esp + 0x10]
sbb ecx, ebx
mov esi, dword [esp + 4]
sbb esi, dword [esp + 0x14]
mul ecx
mov dword [esp + 0x2c], eax
imul ecx, edi
add ecx, edx
mov eax, ebx
mul ebp
mov edi, eax
imul esi, dword [esp + 0x18]
add ecx, esi
mov esi, dword [esp + 0x14]
imul esi, ebp
add esi, edx
mov eax, dword [esp + 0xc]
imul ebx, eax
add esi, ebx
add edi, dword [esp + 0x2c]
mov dword [esp + 0x10], edi
adc esi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x18]
mul ecx
mov esi, edx
mov ebx, eax
mov eax, ebp
mul ecx
mov edi, eax
mov ecx, edx
add ecx, ebx
adc esi, 0
mov eax, ebp
mul dword [esp + 0x1c]
mov ebp, edx
mov ebx, eax
add ebx, ecx
adc ebp, esi
setb cl
mov eax, dword [esp + 0xc]
mul dword [esp + 0x1c]
add eax, ebp
movzx ecx, cl
adc edx, ecx
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
and edx, dword [esp + 4]
and eax, dword [esp + 0x20]
and edi, dword [esp + 8]
or edi, eax
and ebx, dword [esp]
or ebx, edx
or ebx, edi
setne dl
movzx eax, byte [0xa8c3e4]
jmp 0x6abae7
sub ebx, edi
mov ecx, dword [esp + 8]
sbb ecx, edx
mov edx, dword [esp + 0xc]
sbb edx, dword [esp]
mov edi, dword [esp + 4]
sbb edi, ebp
mov ebp, eax
mov eax, dword [esp + 0x1c]
not eax
and ecx, eax
not esi
and edi, esi
mov esi, edx
or edi, ecx
mov eax, dword [esp + 0x18]
not eax
and ebx, eax
mov eax, dword [esp + 0x10]
not eax
and esi, eax
or esi, ebx
mov eax, esi
or eax, edi
setne dl
movzx eax, byte [0xa8c3e4]
cmp ebp, 0xa266001b
jne 0x6abae7
or esi, edi
setne cl
or cl, al
and cl, 1
mov byte [0xa8c3e4], cl
mov dword [0xa422f8], 0x29efaf4b
mov ecx, dword [esp + 0x24]
jmp 0x6abaf4
mov ecx, dword [esp + 0x24]
or al, dl
and al, 1
mov byte [0xa8c3e4], al
cmp ecx, dword [esp + 0x34]
sete al
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x28], ebx
cmp dword [0xa422f8], 0xec4f2120
jne 0x6abb54
mov eax, dword [esp + 0x28]
lea ecx, [eax - 4]
add ecx, dword [eax - 4]
mov dword [esp + 4], ecx
xor ebx, ebx
cmp dword [esp + 8], 0
jns 0x6ab856
mov dword [esp + 0x10], ebp
test byte [0xa8c5cc], 1
mov edx, 0
mov dword [esp], 0
mov ebp, 0
je 0x6abb78
jmp 0x6ab861
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [esp + 8]
test edx, edx
jle 0x6ab854
mov dword [esp + 0x10], ebp
mov edx, dword [0xa8c5c8]
add edx, ecx
add edx, eax
mov dword [esp + 4], edx
xor edi, edi
pcmpeqd xmm0, xmm0
xorps xmm1, xmm1
xor ebx, ebx
xor edx, edx
mov dword [esp], 0
xor ebp, ebp
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], 0
jmp 0x6abc69
mov dword [esp + 0x2c], ebx
lea ebx, [esi*8]
movdqu xmmword [esp + 0x90], xmm0
movups xmmword [esp + 0x80], xmm1
shr bl, 3
and bl, 0xf
neg bl
movsx ebx, bl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + ebx + 0x9c]
not ecx
and dword [esp + 0x1c], ecx
mov ecx, dword [esp + ebx + 0x98]
not ecx
and eax, ecx
mov ecx, dword [esp + ebx + 0x94]
not ecx
and edx, ecx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + ebx + 0x90]
mov ebx, dword [esp + 0x2c]
not ecx
and dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x20]
lea edx, [ecx + ebp*4]
add edx, 4
add edx, dword [ecx + ebp*4 + 4]
mov dword [esp + 4], edx
lea ecx, [ebp + 1]
mov ebp, dword [esp + 0x3c]
add edi, esi
add edi, 0xfffffff4
mov esi, dword [esp + 0x38]
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor ebp, dword [esp + 0x1c]
xor dword [esp], eax
xor edx, esi
xor ebx, ecx
add edi, 0x10
cmp edi, dword [esp + 8]
jge 0x6ab861
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
lea ecx, [edx + edi]
mov esi, dword [esp + 4]
sub esi, ecx
mov ecx, dword [esp + 0xc]
sbb ecx, 0
cmp esi, 0x10
sbb ecx, 0
mov eax, dword [edx + edi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + edi + 8]
mov ecx, dword [edx + edi]
mov edx, dword [edx + edi + 4]
jl 0x6abbb0
mov esi, edx
jmp 0x6abc4d