Function at 0x107df40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1114
call fcn.0115cb30
call fcn.0107eae0
mov byte [ebp - 9], al
call fcn.0107eb80
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.0115b460
add esp, 8
mov dword [ebp - 0x130], 0x18
mov dword [ebp - 0x948], 0x1f
mov edx, dword [0x14568e4]
mov dword [ebp - 0x944], edx
mov eax, dword [0x14568e8]
mov dword [ebp - 0x940], eax
push 0x100
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x938]
push edx
call fcn.0115b060
add esp, 0xc
mov dword [ebp - 0x93c], 1
mov byte [ebp - 0x950], 0
mov byte [ebp - 0x94f], 0
mov eax, dword [0x1396094]
mov dword [ebp - 0xc68], eax
lea ecx, [ebp - 0xc64]
push ecx
mov edx, dword [ebp - 0xc68]
push edx
call fcn.0108a2d0
add esp, 8
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
jne 0x107e43b
mov byte [ebp - 0x950], 0
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0xc64]
push ecx
mov edx, dword [ebp - 0xc68]
push edx
call fcn.0108a350
add esp, 0xc
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
jne 0x107e230
mov dword [ebp - 0xc6c], 0
jmp 0x107e05b
mov eax, dword [ebp - 0xc6c]
add eax, 1
mov dword [ebp - 0xc6c], eax
cmp dword [ebp - 0xc6c], 8
jge 0x107e0de
mov byte [ebp - 0xc6d], 0
mov dword [ebp - 0xc74], 0
jmp 0x107e086
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 8
jge 0x107e0be
lea edx, [ebp - 0xc80]
push edx
call dword [0x1557682]
movzx eax, byte [ebp - 0xc6d]
mov edx, dword [ebp - 0xc80]
and edx, 1
mov ecx, dword [ebp - 0xc74]
shl edx, cl
or eax, edx
mov byte [ebp - 0xc6d], al
jmp 0x107e077
xor eax, eax
jne 0x107e064
xor ecx, ecx
jne 0x107e064
mov edx, dword [ebp - 0xc6c]
mov al, byte [ebp - 0xc6d]
mov byte [ebp + edx - 0xb54], al
jmp 0x107e04c
xor ecx, ecx
jne 0x107e040
mov edx, fcn.01022080
test edx, edx
je 0x107e166
push 8
call fcn.0115cedd
add esp, 4
mov dword [ebp - 0x10fc], eax
mov eax, dword [ebp - 0x10fc]
mov dword [ebp - 0xc84], eax
cmp dword [ebp - 0xc84], 0
je 0x107e166
mov dword [ebp - 0xc88], 8
lea ecx, [ebp - 0xc88]
push ecx
mov edx, dword [ebp - 0xc84]
push edx
push 8
lea eax, [ebp - 0xc58]
push eax
push 1
call fcn.01022080
add esp, 0x14
mov dword [ebp - 0xc8c], eax
cmp dword [ebp - 0xc8c], 0
jne 0x107e166
push 8
mov ecx, dword [ebp - 0xc84]
push ecx
lea edx, [ebp - 0xc58]
push edx
call fcn.0115b060
add esp, 0xc
xor eax, eax
jne 0x107e0e6
mov ecx, fcn.01022080
test ecx, ecx
je 0x107e1ee
push 8
call fcn.0115cedd
add esp, 4
mov dword [ebp - 0x1100], eax
mov edx, dword [ebp - 0x1100]
mov dword [ebp - 0xc90], edx
cmp dword [ebp - 0xc90], 0
je 0x107e1ee
mov dword [ebp - 0xc94], 8
lea eax, [ebp - 0xc94]
push eax
mov ecx, dword [ebp - 0xc90]
push ecx
push 8
lea edx, [ebp - 0xb54]
push edx
push 1
call fcn.01022080
add esp, 0x14
mov dword [ebp - 0xc98], eax
cmp dword [ebp - 0xc98], 0
jne 0x107e1ee
push 8
mov eax, dword [ebp - 0xc90]
push eax
lea ecx, [ebp - 0xb54]
push ecx
call fcn.0115b060
add esp, 0xc
xor edx, edx
jne 0x107e16e
lea eax, [ebp - 0xb58]
push eax
lea ecx, [ebp - 0xc5c]
push ecx
lea edx, [ebp - 0xc64]
push edx
mov eax, dword [ebp - 0xc68]
push eax
call fcn.0108a3a0
add esp, 0x10
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
jne 0x107e230
mov byte [ebp - 0x950], 1
xor ecx, ecx
jne 0x107e009
mov byte [ebp - 0x94f], 0
mov dword [ebp - 0xc9c], 0
jmp 0x107e25a
mov edx, dword [ebp - 0xc9c]
add edx, 1
mov dword [ebp - 0xc9c], edx
cmp dword [ebp - 0xc9c], 8
jge 0x107e2dd
mov byte [ebp - 0xc9d], 0
mov dword [ebp - 0xca4], 0
jmp 0x107e285
mov eax, dword [ebp - 0xca4]
add eax, 1
mov dword [ebp - 0xca4], eax
cmp dword [ebp - 0xca4], 8
jge 0x107e2bd
lea ecx, [ebp - 0xcb0]
push ecx
call dword [0x1557682]
movzx edx, byte [ebp - 0xc9d]
mov eax, dword [ebp - 0xcb0]
and eax, 1
mov ecx, dword [ebp - 0xca4]
shl eax, cl
or edx, eax
mov byte [ebp - 0xc9d], dl
jmp 0x107e276
xor ecx, ecx
jne 0x107e263
xor edx, edx
jne 0x107e263
mov eax, dword [ebp - 0xc9c]
mov cl, byte [ebp - 0xc9d]
mov byte [ebp + eax - 0xc58], cl
jmp 0x107e24b
xor edx, edx
jne 0x107e23f
mov dword [ebp - 0xc5c], 8
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0xc64]
push ecx
mov edx, dword [ebp - 0xc68]
push edx
call fcn.0108a430
add esp, 0xc
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
jne 0x107e401
lea eax, [ebp - 0xa54]
push eax
lea ecx, [ebp - 0xdb8]
push ecx
lea edx, [ebp - 0xc64]
push edx
mov eax, dword [ebp - 0xc68]
push eax
call fcn.0108a480
add esp, 0x10
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 0
jne 0x107e401
mov ecx, fcn.01022080
test ecx, ecx
je 0x107e3d6
push 8
call fcn.0115cedd
add esp, 4
mov dword [ebp - 0x1104], eax
mov edx, dword [ebp - 0x1104]
mov dword [ebp - 0xdbc], edx
cmp dword [ebp - 0xdbc], 0
je 0x107e3d6
mov dword [ebp - 0xdc0], 8
lea eax, [ebp - 0xdc0]
push eax
mov ecx, dword [ebp - 0xdbc]
push ecx
push 8
lea edx, [ebp - 0xdb4]
push edx
push 2
call fcn.01022080
add esp, 0x14
mov dword [ebp - 0xdc4], eax
cmp dword [ebp - 0xdc4], 0
jne 0x107e3d6
push 8
mov eax, dword [ebp - 0xdbc]
push eax
lea ecx, [ebp - 0xdb4]
push ecx
call fcn.0115b060
add esp, 0xc
xor edx, edx
jne 0x107e356
push 8
lea eax, [ebp - 0xc58]
push eax
lea ecx, [ebp - 0xdb4]
push ecx
call fcn.0115c5b0
add esp, 0xc
test eax, eax
jne 0x107e401
mov byte [ebp - 0x94f], 1
xor edx, edx
jne 0x107e238
movzx eax, byte [ebp - 0x950]
test eax, eax
je 0x107e43b
movzx ecx, byte [ebp - 0x94f]
test ecx, ecx
je 0x107e43b
lea edx, [ebp - 0xc64]
push edx
mov eax, dword [ebp - 0xc68]
push eax
call fcn.0108a500
add esp, 8
mov dword [ebp - 0xc60], eax
xor ecx, ecx
jne 0x107dfc7
movzx edx, byte [ebp - 0x950]
test edx, edx
je 0x107e459
movzx eax, byte [ebp - 0x94f]
test eax, eax
jne 0x107e463
mov dword [ebp - 0x134], 0x4b630fe3
mov dword [ebp - 0xfec], 8
lea ecx, [ebp - 0xfec]
push ecx
lea edx, [ebp - 0x10f4]
push edx
push 8
lea eax, [ebp - 0xa50]
push eax
push 2
call fcn.01022080
add esp, 0x14
mov dword [ebp - 0xfec], 8
lea ecx, [ebp - 0xfec]
push ecx
lea edx, [ebp - 0xfe4]
push edx
push 8
lea eax, [ebp - 0xb54]
push eax
push 2
call fcn.01022080
add esp, 0x14
mov ecx, dword [ebp - 0x10f4]
xor ecx, dword [ebp - 0xfe4]
mov dword [ebp - 0xecc], ecx
mov edx, dword [ebp - 0x10f0]
xor edx, dword [ebp - 0xfe0]
mov dword [ebp - 0xec8], edx
xor eax, eax
jne 0x107e4b9
push 0x104
push 0
lea ecx, [ebp - 0x10f8]
push ecx
call fcn.0115ae00
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0xfe8]
push edx
call fcn.0115ae00
add esp, 0xc
xor eax, eax
jne 0x107e463
mov dword [ebp - 0xed4], 0x81b
mov ecx, dword [ebp - 0xed4]
push ecx
call fcn.0115cedd
add esp, 4
mov dword [ebp - 0x1108], eax
mov edx, dword [ebp - 0x1108]
mov dword [ebp - 0xdc8], edx
mov eax, dword [ebp - 0x130]
add eax, 0xb
mov dword [ebp - 0xedc], eax
mov ecx, dword [ebp - 0xedc]
push ecx
call fcn.0115cedd
add esp, 4
mov dword [ebp - 0x110c], eax
mov edx, dword [ebp - 0x110c]
mov dword [ebp - 0xed8], edx
lea eax, [ebp - 0xed4]
push eax
mov ecx, dword [ebp - 0xdc8]
push ecx
push 0x810
lea edx, [ebp - 0x948]
push edx
push 8
lea eax, [ebp - 0xecc]
push eax
push 1
call fcn.0108a570
add esp, 0x1c
lea ecx, [ebp - 0xedc]
push ecx
mov edx, dword [ebp - 0xed8]
push edx
mov eax, dword [ebp - 0xed4]
push eax
mov ecx, dword [ebp - 0xdc8]
push ecx
lea edx, [ebp - 0xc64]
push edx
mov eax, dword [ebp - 0xc68]
push eax
call fcn.0108a540
add esp, 0x18
mov dword [ebp - 0xc60], eax
lea ecx, [ebp - 0x12c]
test ecx, ecx
je 0x107e614
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0xedc]
push ecx
mov edx, dword [ebp - 0xed8]
push edx
push 8
lea eax, [ebp - 0xecc]
push eax
push 2
call fcn.0108a570
add esp, 0x1c
mov dword [ebp - 0xc60], eax
mov ecx, dword [ebp - 0xdc8]
mov dword [ebp - 0x1110], ecx
mov edx, dword [ebp - 0x1110]
push edx
call fcn.0115ced8
add esp, 4
mov eax, dword [ebp - 0xed8]
mov dword [ebp - 0x1114], eax
mov ecx, dword [ebp - 0x1114]
push ecx
call fcn.0115ced8
add esp, 4
xor edx, edx
jne 0x107e463
cmp dword [ebp - 0xc60], 0
je 0x107e665
mov dword [ebp - 0x134], 0x6ddb58ec
lea eax, [ebp - 0xc64]
push eax
mov ecx, dword [ebp - 0xc68]
push ecx
call fcn.0108a310
add esp, 8
mov dword [ebp - 0xc60], eax
push 0x31c
push 0
lea edx, [ebp - 0xc68]
push edx
call fcn.0115ae00
add esp, 0xc
xor eax, eax
jne 0x107e665
mov dword [ebp - 0x134], 0xb502cbf7
xor ecx, ecx
jne 0x107dfc7
cmp dword [ebp - 0x134], 0xb502cbf7
je 0x107e6c7
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x114], edx
jmp 0x107e6dc
mov eax, dword [ebp - 0x128]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x114], ecx
xor edx, edx
jne 0x107df77
xor eax, eax
jne 0x107df64
mov al, byte [ebp - 9]
mov esp, ebp
pop ebp
ret