Function at 0x10069820
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 0x100699d4
push dword [ebp + 8]
mov ebx, ecx
push dword [ebp + 4]
call fcn.10068f60
add esp, 8
test al, al
je 0x100698c9
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x10069f2f
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 0x11
jne 0x100698b6
push 0
lea eax, [esp + 0x7c]
push eax
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 8
jne 0x100698b6
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
jmp 0x100699df
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.10069300
mov dword [esp + 0x3c], eax
test eax, eax
je 0x100699b9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 2
jne 0x10069953
cmp dword [ebp + 8], 3
jne 0x1006995f
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 0x1006995f
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 0x1006995f
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 0x1006995f
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 8
je 0x100699df
cmp al, 2
jne 0x100699a9
push dword [ebp + 8]
lea edx, [esp + 0x6c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.10068f60
add esp, 8
test al, al
je 0x100699a9
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
and eax, 0xff000fff
cmp eax, 0x2000599
jne 0x100699a9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 0x11
jne 0x100699a9
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
cmp al, 8
je 0x100699df
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.100694f0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 8
jne 0x10069ece
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.100704b0
mov dh, al
cmp dh, 2
jne 0x10069abc
cmp dword [ebp + 8], 3
jne 0x10069abc
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 0x10069a9c
mov dword [esp + 0x34], 0x4000
jmp 0x10069aab
cmp eax, 0x6c6572
jne 0x10069abc
mov dword [esp + 0x34], 0x8000
mov ecx, dword [esp + 0x1c]
push 0
push ebp
lea ecx, [ecx + 4]
call fcn.100704b0
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 0x10069c55
cmp bl, 0xc
jne 0x100699a9
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.10068f60
add esp, 8
test al, al
jne 0x10069b46
test edi, edi
jne 0x100699a9
push dword [ebp + 8]
lea edx, [esp + 0x5c]
mov ecx, ebx
push dword [ebp + 4]
call fcn.100694f0
add esp, 8
test eax, eax
jne 0x10069f31
push 0
push ebp
lea ecx, [ebx + 4]
call fcn.100704b0
mov dh, al
mov bl, 0x13
cmp dh, 0xe
je 0x10069ba4
mov bh, byte [esp + 0x17]
test edi, edi
jne 0x10069b81
test bh, bh
jne 0x10069b81
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 0x10069ad4
test esi, esi
jne 0x100699a9
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 0x10069ad4
mov eax, edi
and al, 7
cmp al, 4
je 0x100699a9
test esi, esi
jne 0x100699a9
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.100704b0
cmp al, 4
jne 0x10069cf6
mov edx, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [ebp + 0x14]
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10069cf6
jb 0x10069bf9
cmp ecx, 7
ja 0x10069cf6
lea eax, [edx - 1]
jmp dword [eax*4 + 0x10069f3c]
cmp dh, 4
jne 0x10069c8c
cmp bl, 0xc
jne 0x10069c71
add ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
adc eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x10069cd8
cmp bl, 0xd
jne 0x100699a9
sub ecx, dword [ebp + 0x10]
mov bl, 0x13
mov dword [esp + 0x28], ecx
sbb eax, dword [ebp + 0x14]
mov dword [esp + 0x18], eax
jmp 0x10069cd8
cmp dh, 0xc
jne 0x10069ca1
cmp bl, 0x13
movzx eax, bl
movzx ecx, dh
cmovne ecx, eax
mov bl, cl
jmp 0x10069cd8
cmp dh, 0xd
jne 0x10069cba
cmp bl, 0x13
jne 0x10069caf
mov bl, dh
jmp 0x10069cd8
cmp bl, 0xd
setne bl
add bl, 0xc
jmp 0x10069cd8
cmp dh, 9
je 0x10069d06
cmp dh, 0x10
jne 0x100699a9
test bh, bh
jne 0x100699a9
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.100704b0
mov ecx, dword [esp + 0x28]
mov dh, al
mov eax, dword [esp + 0x18]
jmp 0x10069ad4
mov eax, 0x2d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
cmp bl, 0x13
jne 0x100699a9
mov eax, edi
and eax, 0xf07
cmp eax, 0x101
jne 0x10069d39
mov eax, esi
and al, 7
cmp al, 1
je 0x100699a9
mov ebp, dword [esp + 0x7c]
mov eax, edi
mov ebx, dword [esp + 0x4c]
mov edi, esi
mov esi, eax
jmp 0x10069d41
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
test edi, edi
je 0x10069e3b
mov ebp, ecx
mov eax, edx
add ebp, 0x80000000
adc eax, 0
jne 0x10069d65
cmp ebp, 0xffffffff
jbe 0x10069da9
test edx, edx
jg 0x10069e2b
jl 0x10069e2b
cmp ecx, 0xffffffff
ja 0x10069e2b
test edx, edx
jl 0x10069e2b
jg 0x10069d8e
test ecx, ecx
jb 0x10069e2b
mov eax, edi
and eax, 0xf8
cmp al, 0x38
jne 0x10069da9
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 0x10069dcd
mov dword [esp + 0x78], 0xa
mov dword [esp + 0x80], 0
jmp 0x10069e7c
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 0x10069e00
shl edi, 3
or edi, 2
mov dword [esp + 0x80], 0
mov dword [esp + 0x78], edi
jmp 0x10069e87
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 0x10069e87
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 0x10069e5c
mov dword [esp + 0x78], 2
mov dword [esp + 0x80], 0
jmp 0x10069e7c
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 0x10069f2f
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 0x10069ef7
cmp bl, 0xd
jne 0x10069ee7
push 0
push ebp
add ecx, 4
call fcn.100704b0
cmp al, 4
je 0x10069ef7
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 0x10069f09
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