Function at 0x100099cb
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov esi, ecx
mov dword [ebp - 0x154], 0x11ea0ea8
mov dword [ebp - 0x150], 0x37564cfd
mov dword [ebp - 0x14c], 0x512a2f2d
mov dword [ebp - 0x148], 0x14d160ae
mov dword [ebp - 0x144], 0x5a4216fb
mov dword [ebp - 0x140], 0xd2c319ad
mov dword [ebp - 0x13c], 0xb541e33
mov dword [ebp - 0x138], 0x52a60e78
mov dword [ebp - 0x134], 0x79d64df1
mov dword [ebp - 0x130], 0xa96156da
mov dword [ebp - 0x12c], 0x132c9bc
mov dword [ebp - 0x128], 0x8b18b07f
mov dword [ebp - 0x124], 0x4040ac72
mov dword [ebp - 0x120], 0xc10553c1
mov dword [ebp - 0x11c], 0x2d305e89
mov dword [ebp - 0x118], 0x4ac55bbd
mov dword [ebp - 0x114], 0x526062ac
mov dword [ebp - 0x110], 0x1fc9c659
mov dword [ebp - 0x10c], 0xf3c67029
mov dword [ebp - 0x108], 0xf61dd6ba
mov dword [ebp - 0x104], 0x9b408d60
mov dword [ebp - 0x100], 0xb01ec37d
mov dword [ebp - 0xfc], 0xec77daef
mov dword [ebp - 0xf8], 0xfb1eb1c1
mov dword [ebp - 0xf4], 0xb21ec06e
mov dword [ebp - 0xf0], 0x8de1ed47
mov dword [ebp - 0xec], 0xec068d94
mov dword [ebp - 0xe8], 0xd90ddc5b
mov dword [ebp - 0xe4], 0xed7ac6b7
mov dword [ebp - 0xe0], 0xed472a11
mov dword [ebp - 0xdc], 0x2f475a81
mov dword [ebp - 0xd8], 0xc79763d7
mov dword [ebp - 0xd4], 0x11f349ae
mov dword [ebp - 0xd0], 0x8f6732a
mov dword [ebp - 0xcc], 0xd8aec7ad
mov dword [ebp - 0xc8], 0xa5ed29b7
mov dword [ebp - 0xc4], 0xd7635096
mov dword [ebp - 0xc0], 0x411a78bd
mov dword [ebp - 0xbc], 0x5fa6eb05
mov dword [ebp - 0xb8], 0x8abbdc75
mov dword [ebp - 0xb4], 0x252f791a
mov dword [ebp - 0xb0], 0xa489452d
mov dword [ebp - 0xac], 0x1506c9bc
mov dword [ebp - 0xa8], 0x5028d8b5
mov dword [ebp - 0xa4], 0x98fee322
mov dword [ebp - 0xa0], 0x9d326372
mov dword [ebp - 0x9c], 0x45eca09d
mov dword [ebp - 0x98], 0x6c145b08
mov dword [ebp - 0x94], 0xc7ee1a9e
mov dword [ebp - 0x90], 0xf15b156a
mov dword [ebp - 0x8c], 0xd71cbf0c
mov dword [ebp - 0x88], 0x1a272771
mov dword [ebp - 0x84], 0xa056783d
mov dword [ebp - 0x80], 0xe699ad22
mov dword [ebp - 0x7c], 0x6e2654b9
mov dword [ebp - 0x78], 0x782aa8ca
mov dword [ebp - 0x74], 0x4e5c30ae
mov dword [ebp - 0x70], 0x81d8bd30
mov dword [ebp - 0x6c], 0x9fa82b0
mov dword [ebp - 0x68], 0x3b9124e0
mov dword [ebp - 0x64], 0x6a1e848c
mov dword [ebp - 0x60], 0x532eacd1
mov dword [ebp - 0x5c], 0x4f3c4ec5
mov dword [ebp - 0x58], 0xc19d4ec4
mov dword [ebp - 0x54], 0x14f9170c
mov dword [ebp - 0x50], 0x322472c5
mov dword [ebp - 0x4c], 0x5ffc8813
mov dword [ebp - 0x48], 0xbb056ec0
mov dword [ebp - 0x44], 0x6a4f1604
mov dword [ebp - 0x40], 0xc65a5d63
mov dword [ebp - 0x3c], 0xded0add4
mov dword [ebp - 0x38], 0x1ec559f1
mov dword [ebp - 0x34], 0x1b9815ec
mov dword [ebp - 0x30], 0x6cb43bd7
mov dword [ebp - 0x2c], 0x54bcac2
mov dword [ebp - 0x28], 0x20a70596
mov al, byte [esi + 0xc]
xor ebx, ebx
push 2
mov dl, al
mov dword [ebp - 0x24], 0xdc433b4e
mov dword [ebp - 0x20], 0xe0a838fd
mov dword [ebp - 0x1c], 0x7fa0cc0
mov dword [ebp - 0x18], 0x8bfe9038
mov byte [ebp - 0x14], bl
mov dword [ebp - 0x12], 0x5030104
mov word [ebp - 0xe], 0x706
mov byte [ebp - 0xc], 8
pop ecx
mov byte [ebp - 0x13], cl
and dl, 4
jne 0x10009cd9
movzx ecx, al
shr ecx, 1
and ecx, 1
movzx eax, al
mov edi, 0x140
shr eax, 3
and eax, 3
imul eax, eax, 3
add eax, ecx
lea ecx, [esi + 0xd]
mov dword [ebp - 0x158], ecx
mov al, byte [ebp + eax - 0x14]
mov byte [ebp - 1], al
lea eax, [esi + 0x26]
test dl, dl
je 0x10009d8a
push ecx
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
pop ecx
pop ecx
test eax, eax
jne 0x10009d1c
mov ecx, esi
call fcn.10009878
push 0x3c4
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ecx, dword [0x1000f804]
mov edi, eax
mov al, byte [ebp - 1]
mov byte [edi], al
mov edx, dword [ecx]
call dword [edx + 0x28]
mov word [edi + 2], ax
lea ecx, [edi + 0x31]
lea eax, [esi + 0x26]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
push 0x390
push eax
push ecx
call esi
push 0x10
push dword [ebp - 8]
lea eax, [edi + 4]
push eax
call esi
mov eax, dword [ebp - 8]
push 0x19
push dword [ebp - 0x158]
mov eax, dword [eax + 0x124]
mov dword [edi + 0x14], eax
lea eax, [edi + 0x18]
push eax
call esi
add esp, 0x24
mov ecx, 0x3c4
mov esi, 0x140
jmp 0x10009e1c
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
mov al, byte [ebp - 1]
pop ecx
mov ecx, dword [0x1000f804]
mov byte [edi], al
mov eax, dword [ecx]
call dword [eax + 0x28]
mov word [edi + 2], ax
mov ax, word [esi + 0x3b6]
mov word [edi + 4], ax
mov ax, word [esi]
mov word [edi + 6], ax
mov eax, dword [esi + 4]
mov dword [edi + 8], eax
mov eax, dword [esi + 8]
mov dword [edi + 0xc], eax
lea eax, [esi + 0x26]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
push 0x80
push eax
lea eax, [edi + 0xbd]
push eax
call esi
push 0x10
push dword [ebp - 8]
lea eax, [edi + 0x10]
push eax
call esi
mov ecx, dword [ebp - 8]
push 0x80
mov eax, dword [ecx + 0x124]
mov dword [edi + 0x20], eax
lea eax, [ecx + 0x20]
push eax
lea eax, [edi + 0x3d]
push eax
call esi
push 0x19
push dword [ebp - 0x158]
lea eax, [edi + 0x24]
push eax
call esi
mov esi, 0x140
add esp, 0x30
mov ecx, esi
mov eax, ebx
cdq
idiv esi
mov al, byte [ebp + edx - 0x154]
xor byte [ebx + edi], al
inc ebx
cmp ebx, ecx
jl 0x10009e1c
sub esp, 0x10
push ecx
push edi
call fcn.10006b4f
add esp, 0x18
pop edi
pop esi
pop ebx
leave
ret