Function at 0x100b82ff
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push 0x124
mov eax, 0x101ab602
call fcn.1017516e
mov edi, edx
push 0x10205d24
push ecx
lea eax, [ebp - 0x124]
push eax
call fcn.100e9956
add esp, 0xc
cmp dword [ebp - 0x124], 0
jne 0x100b8338
mov eax, 0xe0010004
jmp 0x100b85dc
push fcn.100e9749
push dword [ebp - 0x124]
xor ebx, ebx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
call fcn.100bbeaa
mov dword [ebp - 4], ebx
mov esi, 0xc4
push dword [ebp - 0x124]
lea eax, [ebp - 0x120]
push 1
push esi
push eax
call fcn.100eb781
add esp, 0x10
cmp eax, 1
je 0x100b838b
mov esi, 0xe0230032
jmp 0x100b85c7
mov dword [ebp - 0x3c], 0x47
mov eax, dword [ebp - 0x3c]
xor eax, 0x7b
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x3c]
inc al
push 0x34
pop edx
xor eax, edx
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x3c]
add al, 2
xor eax, 0x31
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 0x3c]
add al, 3
xor eax, 0x43
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x3c]
add al, 4
xor eax, 0x39
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x3c]
add al, 5
xor eax, 0x36
mov byte [ebp - 0x33], al
mov eax, dword [ebp - 0x3c]
add al, 6
xor eax, 0x32
mov byte [ebp - 0x32], al
mov eax, dword [ebp - 0x3c]
add al, 7
xor eax, 0x37
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x3c]
add al, 8
xor eax, edx
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x3c]
add al, 9
push 0x2d
pop ecx
xor eax, ecx
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x3c]
add al, 0xa
xor eax, 0x37
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x3c]
add al, 0xb
xor eax, 0x35
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x3c]
add al, 0xc
xor eax, 0x46
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x3c]
add al, 0xd
xor eax, 0x35
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x3c]
add al, 0xe
xor eax, ecx
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x3c]
add al, 0xf
xor eax, edx
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x3c]
add al, 0x10
xor eax, edx
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x3c]
add al, 0x11
xor eax, 0x61
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x3c]
add al, 0x12
xor eax, 0x66
mov byte [ebp - 0x26], al
mov eax, dword [ebp - 0x3c]
add al, 0x13
xor eax, ecx
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x3c]
add al, 0x14
xor eax, 0x39
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x3c]
add al, 0x15
xor eax, 0x33
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x3c]
add al, 0x16
xor eax, 0x44
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x3c]
add al, 0x17
xor eax, 0x38
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x3c]
add al, 0x18
xor eax, ecx
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x3c]
add al, 0x19
xor eax, 0x35
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x3c]
add al, 0x1a
xor eax, 0x45
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x3c]
add al, 0x1b
xor eax, 0x37
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x3c]
add al, 0x1c
xor eax, 0x42
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x3c]
add al, 0x1d
xor eax, 0x31
mov byte [ebp - 0x1b], al
mov eax, dword [ebp - 0x3c]
add al, 0x1e
xor eax, 0x36
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x3c]
add al, 0x1f
xor eax, edx
mov edx, ebx
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x3c]
add al, 0x20
xor eax, 0x45
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x3c]
add al, 0x21
xor eax, 0x30
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x3c]
add al, 0x22
xor eax, 0x30
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x3c]
add al, 0x23
xor eax, 0x46
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x3c]
add al, 0x24
xor eax, 0x46
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x3c]
add al, 0x25
mov byte [ebp - 0x12], bl
xor eax, 0x7d
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0x38]
mov al, byte [ebp + edx - 0x38]
mov ecx, dword [ebp - 0x3c]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x38], cl
inc edx
cmp edx, 0x26
jb 0x100b8537
lea eax, [ebp - 0x38]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0x54]
push eax
mov byte [ebp - 0x12], bl
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], bl
call fcn.10016f9b
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x130]
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push ecx
cmovae eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x120]
push esi
push ecx
push dword [ebp - 0x44]
mov edx, esi
push eax
call fcn.10014ece
mov esi, eax
test esi, esi
js 0x100b85bc
cmp dword [ebp - 0x120], 0x20181228
je 0x100b85b3
mov esi, 0xe0230039
jmp 0x100b85bc
lea esi, [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ebx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x54]
call fcn.10017221
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x100b85da
call fcn.10001860
mov eax, esi
call fcn.10175118
ret