Function at 0x100842ce
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x1010d024]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x50], ebx
push esi
push edi
cmp eax, 7
ja case.default.0x10084265
jmp dword [eax*4 + 0x100845c0]
mov eax, dword [ebp + 0xc]
add eax, eax
mov dword [ebx], 0x14
or eax, 1
mov dword [ebx + 0x10], 0x1100001
mov dword [ebx + 0xc], eax
mov eax, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
xor eax, 0xc9710266
mov dword [ebx], 0xffff
add eax, eax
xor ecx, ecx
mov dword [ebx + 4], eax
movzx eax, byte [ebx + 8]
mov word [eax], cx
lea eax, [ecx + 0xa]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xor esi, esi
lea ebx, [esi + 0x24]
nop dword [eax]
call edi
xor edx, edx
div ebx
mov al, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebp + esi - 0x4c], al
inc esi
cmp esi, 0x10
jl 0x100842e0
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x3c], 0
call fcn.10051c30
mov ebx, dword [ebp - 0x50]
test al, al
je case.default.0x10084265
movsx esi, byte [ebp - 0x4c]
mov edx, 0x4e67c6a7
test esi, esi
je 0x1008433b
lea edi, [ebp - 0x4b]
mov ecx, edx
lea edi, [edi + 1]
shl ecx, 5
mov eax, edx
add ecx, esi
shr eax, 2
movsx esi, byte [edi - 1]
add eax, ecx
xor edx, eax
test esi, esi
jne 0x10084320
lea eax, [edx + edx]
mov dword [ebx], 0x4a
mov dword [ebx + 0x10], eax
lea ecx, [ebp - 0x4c]
mov eax, ecx
mov dword [ebx + 4], edx
mov dword [ebx + 8], 0x726576
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x14], 0x1100001
sub ebx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx + ecx + 0x17], al
test al, al
jne 0x10084366
mov eax, 0x98
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.10044f70
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.10046900
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebx], 0xd4ca7f7b
mov eax, 0x300
mov dword [ebx + 4], 0xc7db6023
mov dword [ebx + 8], 0x6d6a2e1f
mov dword [ebx + 0x14], 0xb4c43105
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0x54], 0
xor esi, esi
mov dword [ebp - 0x50], 0
nop dword [eax + eax]
mov ecx, dword [esi + 0x100d7e5c]
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
call fcn.10051780
mov ecx, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0x50]
add esp, 4
test edx, edx
je 0x1008443c
test ecx, ecx
je 0x1008443c
cmp eax, 0xc8
je 0x10084448
add esi, 4
cmp esi, 0xc
jb 0x10084410
test edx, edx
je 0x100844b1
test ecx, ecx
je 0x100844b1
cmp eax, 0xc8
jne 0x100844b1
mov esi, 0x10186098
mov ecx, edx
sub esi, edx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x10084460
mov al, byte [0x10186098]
mov ecx, 0x10186098
test al, al
je 0x100844a0
nop dword [eax + eax]
cmp al, 0xa
je 0x1008449d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10084480
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, 0x10186098
jmp 0x100844b3
mov byte [ecx], 0
push edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, 0x10186098
jmp 0x100844b3
xor eax, eax
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [ebx], 0x554d4548
mov dword [ebx + 4], 0x13b
mov dword [ebx + 0xc], 0x20455353
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 6], 0
mov dword [ebx + 0xa], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0x1100001
mov dword [ebx + 0x38], 0x20
call esi
mov edi, eax
shl edi, 0x10
call esi
add eax, edi
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x3c], eax
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x34]
mov dword [ebx + 0x48], eax
mov eax, dword [ebx + 8]
push 0
mov dword [ebx + 0x4c], eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [ebx + 0x54], eax
add esp, 4
mov dword [ebx + 0x58], edx
mov eax, 0x68
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x60], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x54], eax
mov eax, 0x300
mov dword [ebx + 0x50], 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100bceb5
mov esp, ebp
pop ebp
ret 0xc