Function at 0x100b7bf0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x70]
xor eax, eax
push esi
push edi
mov ax, word [ebp + 0x65fe]
mov ecx, 1
mov dword [esp + 0x64], eax
push 3
neg eax
push ebp
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
call fcn.100b70a0
mov eax, dword [ebp + 0x8c]
add esp, 8
test eax, eax
je 0x100b7c4a
push str.PPG_interpolation..._n
push 0x1016ee30
call fcn.10030c0b
add esp, 8
xor eax, eax
mov edi, 3
mov ax, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
sub eax, edi
cmp eax, edi
jle 0x100b7f87
mov eax, dword [ebp + 0x657c]
mov esi, edi
and esi, 7
mov edx, eax
lea ecx, [esi*4 + 2]
shr edx, cl
and edx, 1
add edx, 3
mov ecx, edx
mov dword [esp + 0x14], edx
and ecx, 1
lea ecx, [ecx + esi*2]
shl ecx, 1
shr eax, cl
and eax, 3
mov dword [esp + 0x18], eax
xor eax, eax
mov ax, word [ebp + 0x65fe]
lea ecx, [eax - 3]
cmp edx, ecx
jge 0x100b7f6e
imul eax, edi
add eax, edx
mov edx, dword [ebp + 0x6628]
xor esi, esi
lea ecx, [edx + eax*8]
xor eax, eax
mov edi, dword [esp + eax + 0x60]
xor edx, edx
add eax, 4
mov dx, word [ecx + edi*8 + 2]
shl edx, 2
mov dword [esp + eax + 0x4c], edx
add esi, edx
cmp eax, 0x10
jl 0x100b7cbf
sar esi, 2
mov dword [esp + 0x28], esi
mov ebx, 0x1013c1dc
movsx eax, word [ebx + 2]
movsx edx, word [ebx]
mov edi, dword [esp + edx*4 + 0x50]
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + eax*4 + 0x50]
lea edx, [esp + edx*4 + 0x50]
cmp edi, esi
jle 0x100b7d14
xor esi, edi
mov dword [edx], esi
mov edi, dword [eax]
xor edi, esi
mov dword [eax], edi
mov esi, dword [edx]
mov eax, edi
xor esi, eax
mov dword [edx], esi
add ebx, 4
cmp ebx, 0x1013c1ec
jl 0x100b7ce7
lea edx, [esp + 0x64]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], edx
mov edi, dword [edx - 4]
mov edx, dword [edx]
mov eax, edi
mov dword [esp + 0x24], edx
neg eax
shl eax, 1
mov esi, 0xfffffffe
neg edx
lea ebx, [edx + eax]
xor ebp, ebp
mov bp, word [ecx + ebx*8 + 2]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jle 0x100b7d65
mov ebx, dword [esp + 0x24]
inc esi
add edx, ebx
add eax, edi
cmp esi, 2
jl 0x100b7d45
cmp esi, 2
je 0x100b7eff
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
jl 0x100b7d2f
mov edx, dword [esp + 0x18]
xor eax, eax
mov esi, 1
mov dword [esp + 0x20], 0
mov ax, word [ecx + edx*2]
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
lea edi, [esi*8]
xor edx, edx
mov ebx, edi
mov dx, word [edi + ecx + 2]
add ebp, edi
xor edi, edi
xor eax, eax
mov di, word [ecx + ebp*2]
mov ebp, dword [esp + 0x18]
neg ebx
add ebp, ebx
mov ax, word [ebx + ecx + 2]
xor ebx, ebx
mov bx, word [ecx + ebp*2]
mov ebp, dword [esp + 0x1c]
add ebp, edx
mov dword [esp + 0x28], ebx
add ebp, eax
shl ebp, 1
sub ebp, edi
sub ebp, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + ebx + 0x48], ebp
mov ebp, dword [esp + 0x28]
sub ebp, dword [esp + 0x1c]
mov ebx, ebp
sar ebx, 0x1f
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x1c]
sub edi, ebx
lea ebx, [esi + esi*2]
mov dword [esp + 0x2c], edi
xor esi, esi
sar edi, 0x1f
mov dword [esp + 0x24], edi
mov edi, eax
sub edi, edx
mov dword [esp + 0x30], edi
sar edi, 0x1f
mov dword [esp + 0x28], edi
mov edi, ecx
shl ebx, 3
sub edi, ebx
mov si, word [edi + 2]
xor edi, edi
mov di, word [ebx + ecx + 2]
sub esi, eax
mov eax, esi
sub edi, edx
sar eax, 0x1f
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, edi
mov ebx, dword [esp + 0x30]
sar eax, 0x1f
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
xor eax, edx
mov edx, dword [esp + 0x28]
xor edx, ebx
add eax, edx
mov edx, dword [esp + 0x34]
mov ebx, edx
xor ebx, ebp
mov ebp, dword [esp + 0x28]
add eax, ebx
mov ebx, dword [esp + 0x24]
sub eax, ebx
sub eax, ebp
sub eax, edx
mov edx, dword [esp + 0x38]
mov ebp, edx
lea ebx, [eax + eax*2]
mov eax, dword [esp + 0x3c]
xor ebp, edi
mov edi, eax
xor edi, esi
add ebp, edi
sub ebp, edx
sub ebp, eax
mov eax, dword [esp + 0x20]
add eax, 4
lea edx, [ebx + ebp*2]
mov dword [esp + 0x20], eax
mov esi, dword [esp + eax + 0x60]
mov dword [esp + eax + 0x3c], edx
test esi, esi
jg 0x100b7da2
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
xor eax, eax
cmp ebp, edx
setg al
mov edi, ecx
mov edx, dword [esp + eax*4 + 0x60]
shl edx, 3
sub edi, edx
mov si, word [edx + ecx + 2]
mov dx, word [edi + 2]
cmp si, dx
jae 0x100b7f1a
mov eax, dword [esp + eax*4 + 0x48]
and edx, 0xffff
sar eax, 2
cmp eax, edx
mov edi, eax
jl 0x100b7eed
mov edi, edx
and esi, 0xffff
cmp esi, edi
jg 0x100b7f41
cmp eax, edx
jl 0x100b7f43
mov eax, edx
jmp 0x100b7f43
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x78]
add edx, eax
sar edx, 3
mov word [ecx + 2], dx
mov edx, dword [esp + 0x14]
jmp 0x100b7f4f
mov eax, dword [esp + eax*4 + 0x48]
and esi, 0xffff
sar eax, 2
cmp eax, esi
mov edi, eax
jl 0x100b7f2f
mov edi, esi
and edx, 0xffff
cmp edx, edi
jle 0x100b7f3d
mov eax, edx
jmp 0x100b7f43
cmp eax, esi
jl 0x100b7f43
mov eax, esi
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x14]
mov word [ecx + 2], ax
xor eax, eax
mov edi, dword [esp + 0x10]
mov ax, word [ebp + 0x65fe]
add edx, 2
mov dword [esp + 0x14], edx
lea ecx, [eax - 3]
cmp edx, ecx
jl 0x100b7cad
xor edx, edx
inc edi
mov dx, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
sub edx, 3
cmp edi, edx
jl 0x100b7c66
xor eax, eax
mov edi, 1
mov ax, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
dec eax
cmp eax, edi
jle 0x100b80c3
mov edx, dword [ebp + 0x657c]
mov eax, edi
and eax, 7
mov esi, edx
lea ecx, [eax*4]
shr esi, cl
and esi, 1
inc esi
mov dword [esp + 0x14], esi
lea ecx, [esi + 1]
neg ecx
shl ecx, 1
and ecx, 2
lea ecx, [ecx + eax*4]
xor eax, eax
mov ax, word [ebp + 0x65fe]
shr edx, cl
lea ecx, [eax - 1]
and edx, 3
cmp esi, ecx
jge 0x100b80ac
imul eax, edi
mov ecx, dword [ebp + 0x6628]
add eax, esi
lea esi, [esp + 0x60]
lea eax, [ecx + eax*8]
mov ecx, 1
mov dword [esp + 0x28], esi
lea esi, [ecx*4]
mov edi, edx
sub edi, esi
xor ebx, ebx
add esi, edx
mov bx, word [eax + edi*2]
xor edi, edi
mov di, word [eax + esi*2]
mov esi, eax
shl ecx, 3
add ebx, edi
sub esi, ecx
xor edi, edi
mov di, word [esi + 2]
xor esi, esi
mov si, word [ecx + eax + 2]
sub ebx, edi
xor ecx, ecx
sub ebx, esi
mov cx, word [eax + 2]
lea esi, [ebx + ecx*2]
mov ecx, esi
and ecx, 0xfffffffe
cmp ecx, 0x1fffe
jge 0x100b8062
mov edi, esi
sar edi, 1
test edi, edi
jge 0x100b8056
xor esi, esi
jmp 0x100b8067
cmp ecx, 0x1fffe
jge 0x100b8062
sar esi, 1
jmp 0x100b8067
mov esi, 0xffff
mov ecx, 2
mov word [eax + edx*2], si
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x28]
add ecx, 4
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx]
test ecx, ecx
jg 0x100b8001
mov esi, dword [esp + 0x14]
xor eax, eax
mov ax, word [ebp + 0x65fe]
mov edi, dword [esp + 0x10]
add esi, 2
lea ecx, [eax - 1]
mov dword [esp + 0x14], esi
cmp esi, ecx
jl 0x100b7fe6
xor edx, edx
inc edi
mov dx, word [ebp + 0x65fc]
mov dword [esp + 0x10], edi
dec edx
cmp edi, edx
jl 0x100b7fa2
xor eax, eax
mov ebx, 1
mov ax, word [ebp + 0x65fc]
mov dword [esp + 0x10], ebx
dec eax
cmp eax, ebx
jle 0x100b82e2