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

Disassembly:
sub esp, 0x80
push ebx
push ebp
mov ebp, dword [esp + 0x8c]
xor eax, eax
push esi
push edi
mov edi, edx
mov dword [esp + 0x1c], ecx
mov bl, byte [ebp]
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
cmp bl, 2
jne 0x1006a524
push dword [ebp + 8]
mov ebx, ecx
push dword [ebp + 4]
call fcn.10069ab0
add esp, 8
test al, al
je 0x1006a419
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x1006aa7f
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 0x11
jne 0x1006a406
push 0
lea eax, [esp + 0x7c]
push eax
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 8
jne 0x1006a406
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
jmp 0x1006a52f
mov eax, dword [ebp + 4]
mov dword [ebx + 0xc], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov esi, dword [ebp + 8]
mov edx, esi
mov edi, dword [ebp + 4]
mov ecx, edi
call fcn.10069e50
mov dword [esp + 0x3c], eax
test eax, eax
je 0x1006a509
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 2
jne 0x1006a4a3
cmp dword [ebp + 8], 3
jne 0x1006a4af
mov edx, dword [ebp + 4]
mov edi, 0x19
movzx ecx, byte [edx]
lea eax, [ecx - 0x41]
cmp edi, eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x20
xor eax, ecx
cmp eax, 0x70
jne 0x1006a4af
movzx ecx, byte [edx + 1]
lea eax, [ecx - 0x41]
cmp edi, eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x20
xor eax, ecx
cmp eax, 0x74
jne 0x1006a4af
movzx ecx, byte [edx + 2]
lea eax, [ecx - 0x41]
cmp edi, eax
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x20
xor eax, ecx
cmp eax, 0x72
jne 0x1006a4af
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 8
je 0x1006a52f
cmp al, 2
jne 0x1006a4f9
push dword [ebp + 8]
lea edx, [esp + 0x6c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.10069ab0
add esp, 8
test al, al
je 0x1006a4f9
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x1006a4f9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 0x11
jne 0x1006a4f9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
cmp al, 8
je 0x1006a52f
mov eax, 0x2b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov edx, dword [esp + 0x24]
mov ecx, ebx
push esi
push edi
call fcn.1006a040
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 8
jne 0x1006aa1e
mov ebx, ecx
xor eax, eax
lea ecx, [ebx + 4]
push eax
xorps xmm0, xmm0
mov dword [esp + 0x24], eax
xor edi, edi
movlpd qword [esp + 0x2c], xmm0
xor esi, esi
mov dword [esp + 0x80], edi
push ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x3c], eax
call fcn.10071010
mov dh, al
cmp dh, 2
jne 0x1006a60c
cmp dword [ebp + 8], 3
jne 0x1006a60c
mov ecx, dword [ebp + 4]
mov ah, 0x19
mov al, byte [ecx + 2]
mov bl, byte [ecx]
sub al, 0x41
mov dl, byte [ecx + 1]
cmp ah, al
sbb eax, eax
and eax, 0xffffffe0
add eax, 0x20
mov dword [esp + 0x18], eax
movzx eax, byte [ecx + 2]
mov ecx, dword [esp + 0x18]
xor ecx, eax
mov al, dl
shl ecx, 8
sub al, 0x41
mov dword [esp + 0x18], ecx
mov cl, 0x19
cmp cl, al
movzx eax, dl
sbb ecx, ecx
and ecx, 0xffffffe0
add ecx, 0x20
xor ecx, eax
mov eax, dword [esp + 0x18]
or eax, ecx
mov cl, 0x19
shl eax, 8
mov dword [esp + 0x18], eax
mov al, bl
sub al, 0x41
cmp cl, al
movzx eax, bl
sbb ecx, ecx
and ecx, 0xffffffe0
add ecx, 0x20
xor ecx, eax
mov eax, dword [esp + 0x18]
or eax, ecx
cmp eax, 0x736261
jne 0x1006a5ec
mov dword [esp + 0x34], 0x4000
jmp 0x1006a5fb
cmp eax, 0x6c6572
jne 0x1006a60c
mov dword [esp + 0x34], 0x8000
mov ecx, dword [esp + 0x1c]
push 0
push ebp
lea ecx, [ecx + 4]
call fcn.10071010
mov dh, al
mov eax, dword [esp + 0x2c]
xor bh, bh
mov ecx, dword [esp + 0x28]
mov bl, 0xc
mov byte [esp + 0x17], bh
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
cmp dh, 2
jne 0x1006a7a5
cmp bl, 0xc
jne 0x1006a4f9
push dword [ebp + 8]
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x5c]
push dword [ebp + 4]
mov ecx, ebx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
call fcn.10069ab0
add esp, 8
test al, al
jne 0x1006a696
test edi, edi
jne 0x1006a4f9
push dword [ebp + 8]
lea edx, [esp + 0x5c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.1006a040
add esp, 8
test eax, eax
jne 0x1006aa81
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10071010
mov dh, al
mov bl, 0x13
cmp dh, 0xe
je 0x1006a6f4
mov bh, byte [esp + 0x17]
test edi, edi
jne 0x1006a6d1
test bh, bh
jne 0x1006a6d1
movups xmm0, xmmword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
movups xmmword [esp + 0x78], xmm0
mov edi, dword [esp + 0x78]
jmp 0x1006a624
test esi, esi
jne 0x1006a4f9
movups xmm0, xmmword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
movups xmmword [esp + 0x48], xmm0
mov esi, dword [esp + 0x48]
jmp 0x1006a624
mov eax, edi
and al, 7
cmp al, 4
je 0x1006a4f9
test esi, esi
jne 0x1006a4f9
mov ecx, dword [esp + 0x1c]
movups xmm0, xmmword [esp + 0x58]
push esi
push ebp
lea ecx, [ecx + 4]
movups xmmword [esp + 0x50], xmm0
call fcn.10071010
cmp al, 4
jne 0x1006a846
mov edx, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [ebp + 0x14]
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1006a846
jb 0x1006a749
cmp ecx, 7
ja 0x1006a846
lea eax, [edx - 1]
jmp dword [eax*4 + 0x1006aa8c]
cmp dh, 4
jne 0x1006a7dc
cmp bl, 0xc
jne 0x1006a7c1
add ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
adc eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x1006a828
cmp bl, 0xd
jne 0x1006a4f9
sub ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
sbb eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x1006a828
cmp dh, 0xc
jne 0x1006a7f1
cmp bl, 0x13
movzx eax, bl
movzx ecx, dh
cmovne ecx, eax
mov bl, cl
jmp 0x1006a828
cmp dh, 0xd
jne 0x1006a80a
cmp bl, 0x13
jne 0x1006a7ff
mov bl, dh
jmp 0x1006a828
cmp bl, 0xd
setne bl
add bl, 0xc
jmp 0x1006a828
cmp dh, 9
je 0x1006a856
cmp dh, 0x10
jne 0x1006a4f9
test bh, bh
jne 0x1006a4f9
mov bh, 1
mov bl, 0xc
mov byte [esp + 0x17], bh
mov ecx, dword [esp + 0x1c]
push 0
push ebp
lea ecx, [ecx + 4]
call fcn.10071010
mov ecx, dword [esp + 0x28]
mov dh, al
mov eax, dword [esp + 0x18]
jmp 0x1006a624
mov eax, 0x2d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 0x13
jne 0x1006a4f9
mov eax, edi
and eax, 0xf07
cmp eax, 0x101
jne 0x1006a889
mov eax, esi
and al, 7
cmp al, 1
je 0x1006a4f9
mov ebp, dword [esp + 0x7c]
mov eax, edi
mov ebx, dword [esp + 0x4c]
mov edi, esi
mov esi, eax
jmp 0x1006a891
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
test edi, edi
je 0x1006a98b
mov ebp, ecx
mov eax, edx
add ebp, 0x80000000
adc eax, 0
jne 0x1006a8b5
cmp ebp, 0xffffffff
jbe 0x1006a8f9
test edx, edx
jg 0x1006a97b
jl 0x1006a97b
cmp ecx, 0xffffffff
ja 0x1006a97b
test edx, edx
jl 0x1006a97b
jg 0x1006a8de
test ecx, ecx
jb 0x1006a97b
mov eax, edi
and eax, 0xf8
cmp al, 0x38
jne 0x1006a8f9
mov eax, 0x2f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, edi
mov dword [esp + 0x7c], ebx
and al, 7
cmp al, 4
jne 0x1006a91d
mov dword [esp + 0x78], 0xa
mov dword [esp + 0x80], 0
jmp 0x1006a9cc
mov edx, dword [esp + 0x24]
mov eax, esi
shr edi, 3
and al, 7
and edi, 0x1f
mov dword [esp + 0x84], ecx
cmp al, 1
je 0x1006a950
shl edi, 3
or edi, 2
mov dword [esp + 0x80], 0
mov dword [esp + 0x78], edi
jmp 0x1006a9d7
mov eax, dword [esp + 0x20]
shr esi, 3
and esi, 0x1f
shl eax, 8
or esi, eax
mov eax, dword [esp + 0x28]
shl esi, 5
or esi, edi
mov dword [esp + 0x80], eax
shl esi, 3
or esi, 2
mov dword [esp + 0x78], esi
jmp 0x1006a9d7
mov eax, 0x2e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, esi
mov dword [esp + 0x7c], edx
and al, 7
cmp al, 1
je 0x1006a9ac
mov dword [esp + 0x78], 2
mov dword [esp + 0x80], 0
jmp 0x1006a9cc
mov eax, dword [esp + 0x20]
shr esi, 3
and esi, 0x1f
shl eax, 8
or esi, eax
mov dword [esp + 0x80], ebp
shl esi, 8
or esi, 2
mov dword [esp + 0x78], esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x84], ecx
movups xmm0, xmmword [esp + 0x78]
mov eax, dword [esp + 0x3c]
shl eax, 0x18
movups xmmword [edx], xmm0
mov ecx, dword [edx]
and ecx, 0xffffff
or ecx, eax
mov eax, dword [esp + 0x38]
or ecx, dword [esp + 0x34]
and al, 7
mov dword [edx], ecx
cmp al, 1
jne 0x1006aa7f
mov eax, dword [esp + 0x6c]
and ecx, 0xffe3ffff
shl eax, 0x12
or eax, ecx
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 4
je 0x1006aa47
cmp bl, 0xd
jne 0x1006aa37
push 0
push ebp
add ecx, 4
call fcn.10071010
cmp al, 4
je 0x1006aa47
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
cmp bl, 0xd
jne 0x1006aa59
neg ecx
adc eax, 0
neg eax
mov dword [esp + 0x78], 3
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
movups xmm0, xmmword [esp + 0x78]
movups xmmword [edi], xmm0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret