Function at 0x1006a220
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 0x1006a3d4
push dword [ebp + 8]
mov ebx, ecx
push dword [ebp + 4]
call fcn.10069960
add esp, 8
test al, al
je 0x1006a2c9
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x1006a923
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 0x11
jne 0x1006a2b6
push 0
lea eax, [esp + 0x7c]
push eax
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 8
jne 0x1006a2b6
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
jmp 0x1006a3df
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.10069d00
mov dword [esp + 0x3c], eax
test eax, eax
je 0x1006a3b9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 2
jne 0x1006a353
cmp dword [ebp + 8], 3
jne 0x1006a35f
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 0x1006a35f
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 0x1006a35f
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 0x1006a35f
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 8
je 0x1006a3df
cmp al, 2
jne 0x1006a3a9
push dword [ebp + 8]
lea edx, [esp + 0x6c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.10069960
add esp, 8
test al, al
je 0x1006a3a9
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x1006a3a9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 0x11
jne 0x1006a3a9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
cmp al, 8
je 0x1006a3df
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.10069ef0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 8
jne 0x1006a8c2
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.10070f50
mov dh, al
cmp dh, 2
jne 0x1006a4bc
cmp dword [ebp + 8], 3
jne 0x1006a4bc
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 0x1006a49c
mov dword [esp + 0x34], 0x4000
jmp 0x1006a4ab
cmp eax, 0x6c6572
jne 0x1006a4bc
mov dword [esp + 0x34], 0x8000
mov ecx, dword [esp + 0x1c]
push 0
push ebp
lea ecx, [ecx + 4]
call fcn.10070f50
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 0x1006a652
cmp bl, 0xc
jne 0x1006a3a9
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.10069960
add esp, 8
test al, al
jne 0x1006a546
test edi, edi
jne 0x1006a3a9
push dword [ebp + 8]
lea edx, [esp + 0x5c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.10069ef0
add esp, 8
test eax, eax
jne 0x1006a925
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.10070f50
mov dh, al
mov bl, 0x13
cmp dh, 0xe
je 0x1006a5a4
mov bh, byte [esp + 0x17]
test edi, edi
jne 0x1006a581
test bh, bh
jne 0x1006a581
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 0x1006a4d4
test esi, esi
jne 0x1006a3a9
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 0x1006a4d4
mov eax, edi
and al, 7
cmp al, 4
je 0x1006a3a9
test esi, esi
jne 0x1006a3a9
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.10070f50
cmp al, 4
jne 0x1006a6ea
mov edx, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [ebp + 0x14]
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1006a6ea
jb 0x1006a5f9
cmp ecx, 7
ja 0x1006a6ea
lea eax, [edx - 1]
jmp dword [eax*4 + 0x1006a930]
cmp dh, 4
jne 0x1006a689
cmp bl, 0xc
jne 0x1006a66e
add ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
adc eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x1006a6cc
cmp bl, 0xd
jne 0x1006a3a9
sub ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
sbb eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x1006a6cc
cmp dh, 0xc
jne 0x1006a695
cmp bl, 0x13
jne 0x1006a6cc
jmp 0x1006a6ca
cmp dh, 0xd
jne 0x1006a6ae
cmp bl, 0x13
jne 0x1006a6a3
mov bl, dh
jmp 0x1006a6cc
cmp bl, 0xd
setne bl
add bl, 0xc
jmp 0x1006a6cc
cmp dh, 9
je 0x1006a6fa
cmp dh, 0x10
jne 0x1006a3a9
test bh, bh
jne 0x1006a3a9
mov bh, 1
mov byte [esp + 0x17], bh
mov bl, 0xc
mov ecx, dword [esp + 0x1c]
push 0
push ebp
lea ecx, [ecx + 4]
call fcn.10070f50
mov ecx, dword [esp + 0x28]
mov dh, al
mov eax, dword [esp + 0x18]
jmp 0x1006a4d4
mov eax, 0x2d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 0x13
jne 0x1006a3a9
mov eax, edi
and eax, 0xf07
cmp eax, 0x101
jne 0x1006a72d
mov eax, esi
and al, 7
cmp al, 1
je 0x1006a3a9
mov ebp, dword [esp + 0x7c]
mov eax, edi
mov ebx, dword [esp + 0x4c]
mov edi, esi
mov esi, eax
jmp 0x1006a735
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
test edi, edi
je 0x1006a82f
mov ebp, ecx
mov eax, edx
add ebp, 0x80000000
adc eax, 0
jne 0x1006a759
cmp ebp, 0xffffffff
jbe 0x1006a79d
test edx, edx
jg 0x1006a81f
jl 0x1006a81f
cmp ecx, 0xffffffff
ja 0x1006a81f
test edx, edx
jl 0x1006a81f
jg 0x1006a782
test ecx, ecx
jb 0x1006a81f
mov eax, edi
and eax, 0xf8
cmp al, 0x38
jne 0x1006a79d
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 0x1006a7c1
mov dword [esp + 0x78], 0xa
mov dword [esp + 0x80], 0
jmp 0x1006a870
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 0x1006a7f4
shl edi, 3
or edi, 2
mov dword [esp + 0x80], 0
mov dword [esp + 0x78], edi
jmp 0x1006a87b
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 0x1006a87b
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 0x1006a850
mov dword [esp + 0x78], 2
mov dword [esp + 0x80], 0
jmp 0x1006a870
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 0x1006a923
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 0x1006a8eb
cmp bl, 0xd
jne 0x1006a8db
push 0
push ebp
add ecx, 4
call fcn.10070f50
cmp al, 4
je 0x1006a8eb
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 0x1006a8fd
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