Function at 0x10018192
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005b15e
call fcn.1005a3a0
sub esp, 0x140
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xa0], esi
cmp byte [ebp + 0x28], bl
je 0x100188ed
mov dword [ebp - 0x18], 0x322f
cmp dword [ebp - 0x18], 0x3259
jle 0x10018265
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, edi
mov dword [ebp - 0x14], esi
mov edi, esi
mov eax, ebx
shl edi, cl
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], edi
mov ecx, eax
mov dword [ebp - 0x4c], edi
mov esi, ebx
sar edi, cl
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x134]
cdq
push edx
push eax
call fcn.10001365
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10018214
mov eax, dword [eax]
push eax
call fcn.100439ae
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.10001636
inc esi
cmp esi, 0x1bbb
jl 0x100181f6
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x106c
jl 0x100181ed
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1938
jl 0x100181dc
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x43d0
jl 0x100181d7
cmp dword [ebp - 0x18], 0x2fe2
jge 0x10018279
push str.ibrixb_tbjc_bfmnhxv_tsenfima_udjss_kdujdgtnv_lqwvttdl_orfp_hyplryh_plsr_pko_dhmvsfe
call fcn.100439ae
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x1c], 0
je 0x100188e3
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ecx
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x100188d8
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
push eax
push 0x1000
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.10011c31
push 2
pop esi
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
push dword [ebp - 0x68]
sar eax, 1
push eax
push 0xa061
push 0x7691
call fcn.10032fdb
pop ecx
pop ecx
call eax
push dword [ebp - 0x68]
lea ecx, [ebp - 0x80]
call fcn.1001905c
push 0x7d89
mov byte [ebp - 4], 3
call fcn.10011036
cmp dword [ebp - 0x6c], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0x80]
cmovae ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x20], edx
cmp word [ecx + eax*2 - 2], dx
je 0x10018338
lea eax, [ebp - 0x80]
mov edx, 0x410f
push eax
push 0x1da6
push 1
push ebx
push 0x4f42
push 1
lea ecx, [ebp - 0x20]
call fcn.10018a60
add esp, 0x18
push 0x78f6
push 1
lea eax, [ebp - 0x80]
mov edx, 0x31af
push eax
push 1
push 0x772
push 0x52d5
push 0x4543
push 0x2e02
mov cl, 1
call fcn.10017049
add esp, 0x20
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 8
cmovae eax, dword [ebp - 0x80]
push ebx
push eax
push 0xa061
push 0x5e2d
call fcn.10032fdb
pop ecx
pop ecx
call eax
push dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x80]
call fcn.10001d41
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
push ecx
push ecx
push edi
mov dl, 1
call fcn.1001710c
mov al, bl
add esp, 0x10
mov byte [ebp + 0x2b], al
mov ecx, ebx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x12c
jae 0x100188d1
test al, al
jne 0x100188d1
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xb8]
call fcn.1000142c
push 0x10
pop edx
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 4
call fcn.1003bc80
sub esp, 0x10
mov byte [ebp - 4], 5
lea eax, [ebp - 0xb8]
lea edx, [ebp - 0x11c]
push 1
push 0x8d1
push ecx
push 0x505d
push eax
push ecx
push 0x4049
push ecx
push ecx
push 0x5c3c
push ecx
push 0x2f93
call fcn.1001801b
mov dword [ebp - 0x1c], 0x24ef
add esp, 0x40
cmp dword [ebp - 0x1c], 0x26d4
jle 0x10018479
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ebx, esi
and ebx, edi
mov edi, dword [ebp - 0x28]
mov eax, ebx
mov ecx, 0x10074fb8
xor eax, edi
cdq
push edx
push eax
call fcn.1000333f
inc edi
cmp edi, 0x1f0
jl 0x10018444
mov edi, dword [ebp - 0x18]
inc esi
push 0
pop ebx
cmp esi, 0x57c2
jl 0x1001843a
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x7b82
jl 0x10018438
mov byte [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x2495
mov dword [ebp - 0x3c], 0x1d01f002
mov byte [ebp - 0x38], bl
mov dword [ebp - 0x37], 0x74cd034b
mov word [ebp - 0x33], 0x32a
mov byte [ebp - 0x31], 0x4b
jge 0x100184da
mov edx, str.dvzf_srnfnsnn_ambwdoqe_pshzsv_pjlxwqazd_wbst_eaxlx_vjd_qltzgxrq_hpesphpl_sbdzapn_wdmz_bmodomcl
mov ecx, 0x10074fb8
call fcn.1000494d
jmp 0x100184da
push 0x78
pop eax
push 2
pop edi
mov dword [ebp - 4], 5
mov ecx, ebx
mov bl, byte [ebp - 0x36]
push edi
mov word [ebp - 0x88], ax
mov dword [ebp - 0x28], ecx
pop esi
cmp edi, 6
jne 0x1001850b
movzx eax, bl
lea ecx, [eax + 1]
mov dword [ebp - 0x28], ecx
lea edi, [eax + 5]
jmp 0x10018552
movzx edx, byte [ebp + edi - 0x3b]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x3e]
movzx eax, word [ebp + eax*2 - 0x8c]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [ebp + edi - 0x3c]
mov word [ebp + eax*2 - 0x8c], cx
lea eax, [ebp - 0x28]
push eax
push 0x2d53
push ecx
mov ecx, 0x53c
call fcn.10017240
mov ecx, dword [ebp - 0x28]
add esp, 0xc
add edi, esi
cmp edi, 0xc
jb 0x100184f8
xor eax, eax
mov dword [ebp - 0xd4], 7
mov word [ebp - 0x84], ax
lea ecx, [ebp - 0xe8]
mov word [ebp - 0xe8], ax
xor ebx, ebx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xd8], ebx
push eax
call fcn.10019651
push ecx
push ecx
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xb8]
call fcn.10019a53
push ebx
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 5
call fcn.100017a2
xor eax, eax
lea edi, [ebp - 0x8c]
cmp dword [ebp - 0xa4], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push esi
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
push 0xa061
push 0x61a9
call fcn.10032fdb
pop ecx
pop ecx
call eax
mov edi, eax
cmp edi, 0xffffffff
je 0x100188a5
push ebx
lea eax, [ebp - 0xec]
push eax
push dword [ebp - 0x30]
mov eax, dword [ebp + 0x14]
push dword [eax]
push edi
push 0xa061
push 0xa759
call fcn.10032fdb
pop ecx
pop ecx
call eax
push edi
test eax, eax
push 0xa061
push 0x7a0d
setne bl
call fcn.10032fdb
pop ecx
pop ecx
call eax
test bl, bl
je 0x100188a3
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x24], 0x6601b800
push 2
mov ecx, ebx
mov word [ebp - 0x2c], ax
pop esi
mov dword [ebp - 0x50], ecx
cmp esi, 2
jne 0x1001866d
push esi
pop ecx
mov dword [ebp - 0x50], ecx
jmp 0x100186bd
movzx edx, byte [ebp + esi - 0x23]
mov eax, esi
sub eax, ecx
push 0x73e3
push 1
push 0x1188
movzx eax, byte [ebp + eax - 0x26]
push 0x440d
push 0x382f
push 1
movzx eax, word [ebp + eax*2 - 0x2c]
mov ecx, eax
and eax, edx
or ecx, edx
lea edx, [ebp - 0x50]
sub ecx, eax
movzx eax, byte [ebp + esi - 0x24]
mov word [ebp + eax*2 - 0x2c], cx
mov ecx, 0x4815
call fcn.10017295
mov ecx, dword [ebp - 0x50]
add esp, 0x18
add esi, 2
cmp esi, 4
jb 0x10018661
xor eax, eax
mov dword [ebp - 0xc0], ebx
push 7
mov word [ebp - 0x2a], ax
lea ecx, [ebp - 0xd0]
pop edi
mov word [ebp - 0xd0], ax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0xbc], edi
call fcn.10019651
push ebx
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 9
push eax
push 0x4357
push 1
push 0x7607
push 0x6408
push 1
push 0x29b8
push 0x2537
mov edx, 0x5864
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0xb8]
call fcn.10018192
add esp, 0x24
mov dword [ebp - 0x48], 0xd006a02
mov ecx, ebx
mov dword [ebp - 0x44], 0x70027103
mov word [ebp - 0x40], 0x1e4
mov byte [ebp - 0x3e], 0x73
push 0x2f
pop eax
push 2
mov word [ebp - 0x94], ax
pop esi
mov dword [ebp - 0x5c], ecx
cmp esi, 6
jne 0x10018768
push 3
pop ecx
mov dword [ebp - 0x5c], ecx
mov esi, edi
jmp 0x100187c5
movzx edx, byte [ebp + esi - 0x47]
mov eax, esi
sub eax, ecx
push 0x744d
movzx eax, byte [ebp + eax - 0x4a]
movzx ecx, word [ebp + eax*2 - 0x98]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x48]
add ecx, edx
mov word [ebp + eax*2 - 0x98], cx
lea eax, [ebp - 0x5c]
push eax
push 0x3e2
push 0x76ce
push 1
push 0x270c
push 0x7a9a
push ecx
mov ecx, 0x31ef
call fcn.10017e23
mov ecx, dword [ebp - 0x5c]
add esp, 0x20
add esi, 2
cmp esi, 0xb
jb 0x10018759
xor eax, eax
mov dword [ebp - 0xf0], edi
mov word [ebp - 0x90], ax
lea ecx, [ebp - 0x104]
mov word [ebp - 0x104], ax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xf4], ebx
call fcn.10019651
push ecx
push ecx
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xd0]
call fcn.10019a53
push ebx
push 1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 9
call fcn.100017a2
xor eax, eax
lea edi, [ebp - 0x98]
stosd dword es:[edi], eax
mov edx, 0x3083
mov cl, 1
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0x2b]
push eax
push 0x603
push 0x1a7
call fcn.10017e74
add esp, 0xc
lea edx, [ebp - 0x80]
lea ecx, [ebp - 0xd0]
call fcn.10016af1
mov ecx, dword [ebp + 8]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xd0]
call fcn.100017a2
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.100017a2
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.100017a2
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.100017a2
lea ecx, [ebp - 0x68]
call fcn.10011cb8
jmp 0x100189eb
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.100017a2
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.100017a2
mov ecx, dword [ebp - 0x14]
mov al, byte [ebp + 0x2b]
inc ecx
jmp 0x100183af
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
jmp 0x1001888b
mov dword [ecx], 1
jmp 0x100189eb
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
jmp 0x100189eb
mov dword [ebp - 0x1c], 0x6b55
cmp dword [ebp - 0x1c], 0x6b89
jle 0x1001898f
mov dword [ebp + 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov eax, esi
mov ecx, edi
mov esi, dword [ebp + 0x28]
mov edi, ebx
shl eax, cl
mov dword [ebp - 0x54], eax
and eax, edi
lea ecx, [ebp - 0x14c]
and eax, esi
cdq
push edx
push eax
call fcn.10001365
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10018938
mov eax, dword [eax]
push eax
call fcn.100439ae
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.10001636
mov eax, dword [ebp - 0x54]
inc edi
cmp edi, 0xc19
jl 0x1001891c
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x1bbc
jl 0x1001890e
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x62ff
jl 0x10018909
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, 0x1349
jl 0x10018904
mov esi, dword [ebp - 0xa0]
cmp dword [ebp - 0x1c], 0x69b7
jge 0x100189a3
push str.dpockbtf_jcjqbpocm_eudnfjge_vjqfjbpm_tya
call fcn.100439ae
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x10], 0
je 0x100189ba
push ecx
push ecx
mov ecx, dword [ebp + 0x24]
push esi
call fcn.10019a53
jmp 0x100189eb
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x20]
mov eax, dword [edi + 4]
sub eax, dword [edi]
sar eax, 2
mov dword [esi], eax
jmp 0x100189e4
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], ebx
push eax
mov ecx, edi
call fcn.1001948b
inc dword [esi]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx]
jl 0x100189cc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret