Function at 0x1002926c
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005f01b
call fcn.1005dc20
sub esp, 0x15c
push ebx
push esi
mov esi, edx
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10029c42
xor ebx, ebx
cmp byte [ebp + 0x14], bl
je 0x10029381
mov dword [ebp - 0x18], 0x6dc0
cmp dword [ebp - 0x18], 0x7130
jle 0x1002930d
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x38], esi
mov ecx, edi
mov eax, ebx
sar esi, cl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], esi
mov ecx, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], ebx
sar esi, cl
mov eax, esi
mov ecx, 0x100792d8
xor eax, ebx
cdq
push edx
push eax
call fcn.10004ea6
inc ebx
cmp ebx, 0x110
jl 0x100292c7
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x28], eax
push 0
pop ebx
cmp eax, 0x58b0
jl 0x100292bd
mov esi, dword [ebp - 0x1c]
inc edi
cmp edi, 0x7b9f
jl 0x100292ae
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x6462
jl 0x100292ac
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x6a87
jge 0x10029328
mov edx, str.ovajl_khrwief_gnsivttc_annttccot_anhajtd_erbeet_udawiquun_jtqojhgxj_ztxatn_fkeutg_xhoauqi_vvn_mpsgclra_pueidp
mov ecx, 0x100792d8
call fcn.10008ec9
or dword [ebp - 4], 0xffffffff
push 0x21
pop edx
lea ecx, [ebp - 0x138]
call fcn.10001e99
push ecx
push ecx
mov ecx, dword [ebp + 0x18]
push eax
mov dword [ebp - 4], 2
call fcn.1002c219
push ebx
push 1
lea ecx, [ebp - 0x138]
call fcn.1000587a
jmp 0x10029c6c
mov dword [ebp - 0x20], 0xd5de1fc6
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x38], 0x1cb45490
mov dword [ebp - 0x24], 0xca4024ff
mov dword [ebp - 0x14], 0x4fc7
cmp dword [ebp - 0x14], 0x53a5
jle 0x10029424
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x64], edi
and edi, esi
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x150]
or eax, esi
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100293e8
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x150]
call fcn.100055ae
inc esi
cmp esi, 0x740a
jl 0x100293cc
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0xf47
jl 0x100293c5
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x265e
jl 0x100293c0
cmp dword [ebp - 0x14], 0x4ef9
jge 0x10029438
push str.gqzqo_wushibmj_cypn_vvedgobsj
call fcn.10046fe3
pop ecx
or dword [ebp - 4], 0xffffffff
push 2
mov dword [ebp - 0x20], ebx
pop esi
jmp 0x10029452
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x30], 0x9b6917ab
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10029444
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
push 5
setne cl
imul ecx, ecx, 0xdefc
pop edi
sub ecx, eax
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xd1cc
mov eax, dword [ebp - 0x30]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x67dcc35
setne al
sub eax, edi
imul eax, dword [ebp - 0x30]
test eax, eax
je 0x10029647
push 1
lea ecx, [ebp - 0xa4]
call fcn.10005147
push 4
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], edi
call fcn.10005147
mov byte [ebp - 4], 6
push 9
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x44], ebx
pop edi
cmp dword [ebp - 0x44], esi
jge 0x1002951f
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x98], edi
inc dword [ebp - 0x44]
jmp 0x1002950b
lea eax, [ebp - 0xa4]
push eax
push ecx
lea edx, [ebp - 0x44]
mov cl, 1
call fcn.10027b92
push 0x78b9
lea eax, [ebp - 0x44]
mov edx, 0x521e
push eax
push ebx
push 1
push 0x3c56
push 0x5002
lea eax, [ebp - 0xb0]
mov ecx, 0x4dc9
push eax
push 0x2434
push 1
call fcn.100280d6
mov eax, dword [ebp - 0x98]
add esp, 0x2c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setle cl
xor edx, edx
cmp ecx, 0x2fa57a88
setl dl
sub edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
xor edx, edx
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0xa4]
setne cl
xor eax, eax
cmp ecx, dword [edx]
setle al
xor ecx, ecx
cmp eax, 6
mov eax, dword [ebp - 0xb0]
setne cl
mov dword [eax + 0xc], ecx
mov esi, dword [edx]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
sub edx, esi
cmp edx, esi
setne cl
xor eax, eax
add ecx, 0x485393f1
cmp ecx, esi
setl al
sub eax, esi
jne 0x1002961f
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
call fcn.100051ca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.100051ca
jmp 0x1002972d
push dword [ebp - 0x34]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x1c], 0x2f01
push eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x90], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x8c], ebx
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x88], ebx
movdqu xmmword [ebp - 0x120], xmm0
call fcn.100098a4
mov dword [ebp - 4], 7
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100296ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002969b
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], ebx
jl 0x100296d7
mov byte [ebp - 0x45], bl
cmp byte [ebp - 0x45], 0
je 0x100296cb
call fcn.1002adef
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
dec dword [ebp - 0x14]
jns 0x100296bd
cmp dword [ebp - 0x1c], ebx
je 0x100296f8
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
sub eax, 0x39bced0d
je 0x100296f8
cmp dword [ebp - 0x1c], ebx
je 0x100296f8
xor edx, edx
inc edx
jmp 0x100296fa
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
or dword [ebp - 4], 0xffffffff
call fcn.100051ca
push 9
pop edi
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], ebx
jne 0x1002976d
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x20]
je 0x10029740
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x20]
cmp eax, 0x5a18187e
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x14], ecx
jg 0x10029769
mov eax, dword [ebp - 0x14]
mov eax, ebx
jmp 0x10029770
xor eax, eax
inc eax
mov edx, dword [ebp - 0x30]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x30]
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
sub ecx, eax
je 0x100297a6
cmp dword [ebp - 0x30], ebx
jne 0x100297af
cmp dword [ebp - 0x24], ebx
jne 0x100297af
mov edx, ebx
jmp 0x100297b2
xor edx, edx
inc edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
push 1
setl cl
add ecx, 0xb00f
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xbc]
call fcn.10005147
push 0x6f77
push 0x3051
push 0x1339
push 1
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 8
push eax
push 1
mov dword [ebp - 0x24], 6
lea edx, [ebp - 0xbc]
mov dword [ebp - 0x34], 0xf37911b9
xor cl, cl
push 0x5bf6
call fcn.1002926c
add esp, 0x1c
mov dword [ebp - 0x4c], ebx
jmp 0x1002982b
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x6c], 0x4c506d44
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 2
jl 0x1002981d
mov dword [ebp - 0x68], ebx
jmp 0x10029866
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 2
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xbc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp eax, edx
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], ebx
jle 0x10029836
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.100051ca
push 0x7c
pop eax
push 2
mov dword [ebp - 0x54], 0xcc03d400
mov ecx, ebx
mov word [ebp - 0x50], 0x74ee
mov word [ebp - 0x58], ax
pop esi
cmp esi, 2
jne 0x1002989f
push 4
pop ecx
push ecx
pop esi
jmp 0x100298c6
movzx edx, byte [ebp + esi - 0x53]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x56]
movzx eax, word [ebp + eax*2 - 0x58]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x54]
mov word [ebp + eax*2 - 0x58], cx
mov ecx, ebx
add esi, 2
cmp esi, 6
jb 0x10029893
xor eax, eax
mov word [ebp - 0x56], ax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xffffffe2
jmp 0x100298fa
push 0x174d
push ecx
push ecx
mov byte [ebp - 0x39], bl
lea edx, [ebp - 0x39]
mov cl, 1
call fcn.10027d0e
add esp, 0xc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe8
jg 0x100298e0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x18], eax
xor eax, eax
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0xfc], 7
mov dword [ebp - 0x100], ebx
call fcn.100225f4
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], edi
call fcn.10027af5
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xb
call fcn.1000587a
mov dword [ebp - 0x58], ebx
push 0xfffffffffffffff8
pop esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x64], 0xb74c38b6
mov dword [ebp - 0x34], 0x1b552bf3
mov dword [ebp - 0x24], 0x33c2251
mov dword [ebp - 0x28], 0xfffa
mov dword [ebp - 0x18], 0xfffd
mov dword [ebp - 0x1c], 0xfff6
mov dword [ebp - 0x1c], ebx
jmp 0x1002999f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x78], 0x13923cc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10029991
mov eax, dword [ebp - 0x70]
xor edx, edx
cmp eax, 0xfffffff7
mov ecx, 0x7d2a7e9f
mov eax, dword [ebp - 0x24]
setle dl
sub ecx, edx
add eax, ecx
jne 0x100299c7
cmp dword [ebp - 0x38], ebx
jne 0x100299c7
mov ecx, ebx
jmp 0x100299ca
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x70]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
imul ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x34]
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x78]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffe
setle al
test eax, eax
jle 0x10029a06
mov eax, dword [ebp - 0x64]
inc dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
inc ecx
mov eax, dword [ebp - 0x78]
sub ecx, eax
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x10029a24
cmp dword [ebp - 0x38], ebx
jne 0x10029a24
mov edx, ebx
jmp 0x10029a27
xor edx, edx
inc edx
mov eax, dword [ebp - 0x78]
xor ecx, ecx
cmp edx, eax
push 3
sete cl
xor edx, edx
test ecx, ecx
setle dl
xor ecx, ecx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
setg cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x40], esi
call fcn.10005147
push 0x52a6
push 1
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0xc
push eax
push ebx
push 0x2415
push 0x7126
mov dl, 1
lea ecx, [ebp - 0xd4]
call fcn.1002a840
push 0x8ec
lea eax, [ebp - 0x40]
push eax
push 0x43dc
push 1
call fcn.10027d6f
push 0x263f
lea eax, [ebp - 0x40]
mov dl, 1
push eax
push 0x16a3
push 0x402e
lea eax, [ebp - 0xd4]
mov ecx, 0x12a
push eax
push ebx
push 1
call fcn.1002acab
add esp, 0x44
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd4]
call fcn.100051ca
push 2
mov dword [ebp - 0x60], 0x4019c00
mov dword [ebp - 0x5c], 0x2a030702
mov word [ebp - 0x84], di
pop esi
movzx eax, byte [ebp + esi - 0x62]
movzx edx, byte [ebp + esi - 0x5f]
movzx ecx, word [ebp + eax*2 - 0x84]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x60]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x84], dx
cmp esi, 8
jb 0x10029aea
xor eax, eax
mov word [ebp - 0x7c], ax
mov dword [ebp - 0x24], 0x15db
cmp dword [ebp - 0x24], 0x17b6
jle 0x10029ba3
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x40], ebx
cdq
idiv ecx
lea ecx, [ebp - 0x168]
lea eax, [edi + edx]
and eax, esi
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029b5f
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.100055ae
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x8b1
jl 0x10029b3f
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x15cd
jl 0x10029b3a
inc edi
cmp edi, 0x4c7f
jl 0x10029b35
inc esi
cmp esi, 0x64c7
jl 0x10029b33
xor eax, eax
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
lea ecx, [ebp - 0xf4]
lea eax, [ebp - 0x84]
mov dword [ebp - 0xe4], ebx
push eax
call fcn.100225f4
cmp dword [ebp - 0x24], 0x1309
jge 0x10029be2
push str.gffpkzsae_ksltost_zwbcit_dlhy_pdnk_qvtdkbuje_dlqx_bkhuynzl_sxiwz_tdqfwvhbt_rhaeht
call fcn.10046fe3
pop ecx
xor eax, eax
mov dword [ebp - 4], 0xd
lea edi, [ebp - 0x84]
mov edx, 0x570a
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0xf4]
push eax
push 0x691f
lea eax, [ebp - 0xc8]
push eax
push ecx
mov cl, 1
call fcn.10027de8
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0xc8]
add esp, 0x10
push eax
call fcn.1002bc8d
push ebx
push 1
lea ecx, [ebp - 0xf4]
call fcn.1000587a
lea ecx, [ebp - 0xc8]
call fcn.1002c0e7
jmp 0x10029c6c
cmp byte [ebp + 0xc], 0
je 0x10029c67
mov edx, dword [ebp + 0x10]
mov dword [edx], 0
jmp 0x10029c60
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x5b57fd54
inc dword [edx]
cmp dword [edx], 1
jl 0x10029c53
jmp 0x10029c6c
mov eax, dword [ebp + 8]
inc dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret