Function at 0x114d480
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7cc
mov byte [ebp - 8], 0
mov byte [ebp - 7], 0
mov dword [ebp - 0x320], 0x1153b90
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a2d0
add esp, 8
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x114d8e4
mov byte [ebp - 8], 0
lea edx, [ebp - 0x314]
push edx
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a350
add esp, 0xc
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x114d6e5
mov dword [ebp - 0x324], 0
jmp 0x114d513
mov edx, dword [ebp - 0x324]
add edx, 1
mov dword [ebp - 0x324], edx
cmp dword [ebp - 0x324], 8
jge 0x114d596
mov byte [ebp - 0x325], 0
mov dword [ebp - 0x32c], 0
jmp 0x114d53e
mov eax, dword [ebp - 0x32c]
add eax, 1
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 8
jge 0x114d576
lea ecx, [ebp - 0x338]
push ecx
call dword [0x1557682]
movzx edx, byte [ebp - 0x325]
mov eax, dword [ebp - 0x338]
and eax, 1
mov ecx, dword [ebp - 0x32c]
shl eax, cl
or edx, eax
mov byte [ebp - 0x325], dl
jmp 0x114d52f
xor ecx, ecx
jne 0x114d51c
xor edx, edx
jne 0x114d51c
mov eax, dword [ebp - 0x324]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x20c], cl
jmp 0x114d504
xor edx, edx
jne 0x114d4f8
mov eax, fcn.0114db30
test eax, eax
je 0x114d61e
push 8
call fcn.0115c14d
add esp, 4
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x33c], ecx
cmp dword [ebp - 0x33c], 0
je 0x114d61e
mov dword [ebp - 0x340], 8
lea edx, [ebp - 0x340]
push edx
mov eax, dword [ebp - 0x33c]
push eax
push 8
lea ecx, [ebp - 0x310]
push ecx
push 1
call fcn.0114db30
add esp, 0x14
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0
jne 0x114d61e
push 8
mov edx, dword [ebp - 0x33c]
push edx
lea eax, [ebp - 0x310]
push eax
call fcn.0115b060
add esp, 0xc
xor ecx, ecx
jne 0x114d59e
mov edx, fcn.0114db30
test edx, edx
je 0x114d6a6
push 8
call fcn.0115c14d
add esp, 4
mov dword [ebp - 0x7b8], eax
mov eax, dword [ebp - 0x7b8]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0
je 0x114d6a6
mov dword [ebp - 0x34c], 8
lea ecx, [ebp - 0x34c]
push ecx
mov edx, dword [ebp - 0x348]
push edx
push 8
lea eax, [ebp - 0x20c]
push eax
push 1
call fcn.0114db30
add esp, 0x14
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x114d6a6
push 8
mov ecx, dword [ebp - 0x348]
push ecx
lea edx, [ebp - 0x20c]
push edx
call fcn.0115b060
add esp, 0xc
xor eax, eax
jne 0x114d626
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x314]
push edx
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a3a0
add esp, 0x10
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x114d6e5
mov byte [ebp - 8], 1
xor edx, edx
jne 0x114d4c4
mov byte [ebp - 7], 0
mov dword [ebp - 0x354], 0
jmp 0x114d70c
mov eax, dword [ebp - 0x354]
add eax, 1
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 8
jge 0x114d78f
mov byte [ebp - 0x355], 0
mov dword [ebp - 0x35c], 0
jmp 0x114d737
mov ecx, dword [ebp - 0x35c]
add ecx, 1
mov dword [ebp - 0x35c], ecx
cmp dword [ebp - 0x35c], 8
jge 0x114d76f
lea edx, [ebp - 0x368]
push edx
call dword [0x1557682]
movzx eax, byte [ebp - 0x355]
mov edx, dword [ebp - 0x368]
and edx, 1
mov ecx, dword [ebp - 0x35c]
shl edx, cl
or eax, edx
mov byte [ebp - 0x355], al
jmp 0x114d728
xor eax, eax
jne 0x114d715
xor ecx, ecx
jne 0x114d715
mov edx, dword [ebp - 0x354]
mov al, byte [ebp - 0x355]
mov byte [ebp + edx - 0x310], al
jmp 0x114d6fd
xor ecx, ecx
jne 0x114d6f1
mov dword [ebp - 0x314], 8
lea edx, [ebp - 0x314]
push edx
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a430
add esp, 0xc
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x114d8b0
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x320]
push edx
call fcn.0108a480
add esp, 0x10
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x114d8b0
mov eax, fcn.0114db30
test eax, eax
je 0x114d888
push 8
call fcn.0115c14d
add esp, 4
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x474], ecx
cmp dword [ebp - 0x474], 0
je 0x114d888
mov dword [ebp - 0x478], 8
lea edx, [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x474]
push eax
push 8
lea ecx, [ebp - 0x46c]
push ecx
push 2
call fcn.0114db30
add esp, 0x14
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0
jne 0x114d888
push 8
mov edx, dword [ebp - 0x474]
push edx
lea eax, [ebp - 0x46c]
push eax
call fcn.0115b060
add esp, 0xc
xor ecx, ecx
jne 0x114d808
push 8
lea edx, [ebp - 0x310]
push edx
lea eax, [ebp - 0x46c]
push eax
call fcn.0115c5b0
add esp, 0xc
test eax, eax
jne 0x114d8b0
mov byte [ebp - 7], 1
xor ecx, ecx
jne 0x114d6ed
movzx edx, byte [ebp - 8]
test edx, edx
je 0x114d8e4
movzx eax, byte [ebp - 7]
test eax, eax
je 0x114d8e4
lea ecx, [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x320]
push edx
call fcn.0108a500
add esp, 8
mov dword [ebp - 0x318], eax
xor eax, eax
jne 0x114d489
movzx ecx, byte [ebp - 8]
test ecx, ecx
je 0x114d8fc
movzx edx, byte [ebp - 7]
test edx, edx
jne 0x114d903
xor al, al
jmp 0x114db28
mov dword [ebp - 0x6a4], 8
lea eax, [ebp - 0x6a4]
push eax
lea ecx, [ebp - 0x7ac]
push ecx
push 8
lea edx, [ebp - 0x108]
push edx
push 2
call fcn.0114db30
add esp, 0x14
mov dword [ebp - 0x6a4], 8
lea eax, [ebp - 0x6a4]
push eax
lea ecx, [ebp - 0x69c]
push ecx
push 8
lea edx, [ebp - 0x20c]
push edx
push 2
call fcn.0114db30
add esp, 0x14
mov eax, dword [ebp - 0x7ac]
xor eax, dword [ebp - 0x69c]
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x7a8]
xor ecx, dword [ebp - 0x698]
mov dword [ebp - 0x580], ecx
xor edx, edx
jne 0x114d959
push 0x104
push 0
lea eax, [ebp - 0x7b0]
push eax
call fcn.0115ae00
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x6a0]
push ecx
call fcn.0115ae00
add esp, 0xc
xor edx, edx
jne 0x114d903
mov eax, dword [ebp + 0xc]
add eax, 0xb
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x58c]
push ecx
call fcn.0115c14d
add esp, 4
mov dword [ebp - 0x7c0], eax
mov edx, dword [ebp - 0x7c0]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp + 0x14]
add eax, 0xb
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
push ecx
call fcn.0115c14d
add esp, 4
mov dword [ebp - 0x7c4], eax
mov edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x590], edx
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x480]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
push 8
lea ecx, [ebp - 0x584]
push ecx
push 1
call fcn.0108a570
add esp, 0x1c
lea edx, [ebp - 0x594]
push edx
mov eax, dword [ebp - 0x590]
push eax
mov ecx, dword [ebp - 0x58c]
push ecx
mov edx, dword [ebp - 0x480]
push edx
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a540
add esp, 0x18
mov dword [ebp - 0x318], eax
cmp dword [ebp + 0x10], 0
je 0x114daa5
lea edx, [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x594]
push ecx
mov edx, dword [ebp - 0x590]
push edx
push 8
lea eax, [ebp - 0x584]
push eax
push 2
call fcn.0108a570
add esp, 0x1c
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x7c8]
push edx
call fcn.0115be08
add esp, 4
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
push ecx
call fcn.0115be08
add esp, 4
xor edx, edx
jne 0x114d903
cmp dword [ebp - 0x318], 0
je 0x114daf0
xor al, al
jmp 0x114db28
lea eax, [ebp - 0x31c]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
call fcn.0108a310
add esp, 8
mov dword [ebp - 0x318], eax
push 0x31c
push 0
lea edx, [ebp - 0x320]
push edx
call fcn.0115ae00
add esp, 0xc
xor eax, eax
jne 0x114daf0
mov al, 1
mov esp, ebp
pop ebp
ret