Function at 0x100367cf
Capabilities:
Accept command line arguments
Encode data using xor

Disassembly:
mov eax, 0x10058507
call fcn.10056dd0
sub esp, 0xac
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x40], esi
je 0x100368a2
cmp byte [ebp + 0x1c], 0
je 0x10036884
mov dword [ebp + 0xc], 0x5512
xor ebx, ebx
cmp dword [ebp + 0xc], 0x588a
jle 0x1003683a
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10070c18
xor eax, esi
cdq
push edx
push eax
call fcn.1000bb2c
inc edi
cmp edi, 0x5373
jl 0x10036817
inc esi
cmp esi, 0x399f
jl 0x10036815
mov eax, dword [ebp + 0x18]
movzx eax, word [eax]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.10025a00
mov dword [ebp - 4], ebx
cmp dword [ebp + 0xc], 0x53f3
jge 0x10036865
mov edx, str.vcmrtz_ljkjfm_deg_zjwbsq_zgrsbkeep_owwgwpc_mfzapae_rgti_uzmdhmwt_pyjaa_sitgcmprx_rgdvnvzx
mov ecx, 0x10070c18
call fcn.1000e878
jmp 0x10036c72
mov byte [ebp + 0xf], 0
cmp byte [ebp + 0xf], 0
je 0x10036c72
push ecx
push ecx
xor cl, cl
call fcn.1003673a
pop ecx
pop ecx
jmp 0x10036c72
cmp byte [ebp + 0x10], 0
je 0x10036c64
xor ebx, ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
push 2
pop eax
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], eax
call fcn.1000be0e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x24], 0x7730f94f
push 4
call fcn.1000be0e
mov byte [ebp - 4], 4
lea eax, [ebp - 0x98]
mov dword [ebp - 0x6c], 1
lea edx, [ebp - 0x28]
mov dword [ebp - 0x74], ebx
push eax
call fcn.100344ee
pop ecx
mov dword [ebp - 0x28], ebx
jmp 0x10036917
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x10036904
mov dword [ebp - 0x24], ebx
jmp 0x10036956
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x80], 0xcd329b3a
push eax
push 0x41cb
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x24]
push eax
push ebx
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x80]
call fcn.10034533
add esp, 0x18
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 1
jle 0x10036922
push ecx
call fcn.100367a2
pop ecx
lea ecx, [ebp - 0x8c]
call fcn.1000be91
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 2
call fcn.1000be91
mov edi, dword [ebp + 0x14]
mov edx, 0x5ff3
push 0x4270
push ebx
push 0x2da7
mov eax, dword [edi + 0x10]
mov ecx, 0x6d07
push 1
mov dword [ebp - 0x4c], eax
call fcn.10034db8
mov eax, dword [esi + 0x10]
add esp, 0x10
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x70], eax
jb 0x100369b5
mov eax, dword [edi]
jmp 0x100369b7
mov eax, edi
push dword [edi + 0x10]
mov ecx, esi
push ebx
push eax
call fcn.10038528
mov esi, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], esi
cmp esi, dword [ebp - 0x70]
jae 0x10036c4e
cmp eax, 0xffffffff
je 0x10036b44
cmp eax, esi
je 0x10036b12
mov dword [ebp - 0x14], 0xe6e3245f
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 0xc], 0xc34f1d4b
mov dword [ebp - 0x20], 0x250042
push 2
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 0xc], ebx
pop edx
jmp 0x10036a19
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edx
jl 0x10036a0b
cmp dword [ebp - 0x14], ebx
je 0x10036a29
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], ebx
je 0x10036ab0
mov dword [ebp - 0x54], 0x40eb
mov dword [ebp - 0x7c], 0x169ff9e6
mov dword [ebp + 0xc], 0x6d4c01e0
mov dword [ebp + 0xc], ebx
jmp 0x10036a65
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0xa0], 0xbb9a67b9
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edx
jl 0x10036a54
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], ebx
jne 0x10036a84
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], 0
je 0x10036af7
push ecx
push ecx
call fcn.1003673a
pop ecx
pop ecx
jmp 0x10036af7
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], edx
push eax
push 0x745c
lea eax, [ebp - 0x18]
push eax
push 0x35ec
push ecx
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x2c]
call fcn.1003466d
add esp, 0x14
mov dword [ebp - 0x20], ebx
jmp 0x10036af1
mov dword [ebp - 0x18], ebx
jmp 0x10036ae8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10036ade
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jge 0x10036ad9
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x40]
lea edx, [ebp - 0x44]
sub esp, 0xc
lea ecx, [ebp - 0x68]
call fcn.10036d39
mov eax, dword [ebp - 0x48]
add esp, 0x14
mov esi, dword [ebp - 0x4c]
add esi, eax
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x44], esi
jb 0x10036b24
mov eax, dword [edi]
jmp 0x10036b26
mov eax, edi
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x40]
push esi
push eax
call fcn.10038528
mov dword [ebp - 0x48], eax
cmp esi, 0xffffffff
jne 0x100369cb
jmp 0x10036c4e
mov eax, 0x3bf38c08
xor ecx, ecx
mov dword [ebp - 0x3c], eax
inc ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 0x3ae5d5ec
mov dword [ebp - 0x4c], 0xfffffffc
mov dword [ebp + 0xc], 0xfffffffb
mov dword [ebp + 0xc], 0x32d748ae
mov dword [ebp + 0xc], 0x4e20eeb4
mov dword [ebp + 0xc], 0x7758a8c
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0xc], ebx
jmp 0x10036b98
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x50], 0xb66c146d
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], ecx
jl 0x10036b8a
cmp dword [ebp - 0x38], ebx
je 0x10036bcb
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jle 0x10036bb1
mov edx, ebx
cmp dword [ebp - 0x38], ebx
je 0x10036bb3
mov edx, ecx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x3c]
jne 0x10036bc5
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
cmp eax, 0xc5c3
push 0xffffffffffffffff
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
cmp ecx, 0x989265
setle al
add edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x96d5
mov ecx, dword [ebp - 0x40]
setg al
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xb8]
dec dword [ebp - 0x50]
push dword [ebp - 0x44]
push eax
call fcn.10038107
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 5
call fcn.100381b5
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 2
call fcn.1000c799
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x68]
push eax
call fcn.10038225
lea ecx, [ebp - 0x68]
call fcn.1003867f
jmp 0x10036c72
mov eax, dword [ebp + 0x20]
cmp byte [eax], 0
je 0x10036c72
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret