Function at 0x100298b7
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005b5ff
call fcn.1005a790
sub esp, 0xc4
push ebx
push esi
xor ebx, ebx
mov esi, edx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c], esi
cmp byte [ebp + 8], bl
je 0x10029ee1
lea edi, [ebp + 0x14]
mov dword [ebp - 0x4c], esi
xor eax, eax
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], ebx
mov word [ebp - 0x94], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 0x2993
cmp dword [ebp - 0x18], 0x2a6c
jle 0x100299a1
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
xor eax, edi
lea ecx, [ebp - 0xb8]
xor eax, esi
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029938
mov eax, dword [eax]
push eax
call fcn.10043cef
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.10003c79
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x16d9
jl 0x1002991c
inc edi
cmp edi, 0x35a8
jl 0x10029917
inc esi
cmp esi, 0x5e31
jl 0x10029915
push 0xf27
push 0x20a4
push 0x87
push 0x1aac
push 0xf34
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawStateW]
mov edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x18], 0x27b5
jge 0x100299b5
push str.fvedfdfih_vbqsrp_hbaxm_rwzh_nnkwg_aisnd_duoxpue
call fcn.10043cef
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], 0x477862f
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x38], 0x1151c3c3
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x40], 0x9cdf
mov dword [ebp - 0x14], 0xb27067d5
mov dword [ebp - 0x18], ebx
jmp 0x100299f8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100299ea
mov dword [ebp - 0x1c], ebx
jmp 0x10029a91
mov dword [ebp - 0x2c], 0xebfb
xor edx, edx
mov dword [ebp - 0x24], 0xffffffff
inc edx
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x18], ebx
jmp 0x10029a31
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0x7fa5c62e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10029a23
inc dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0xfffffffc
setge cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp eax, 5
setl cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, 1
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jge 0x10029a06
lea eax, [ebp - 0x94]
xor cl, cl
push eax
push 0x5411
lea edx, [ebp + 0x14]
call fcn.100293d0
mov eax, dword [0x1013a500]
pop ecx
pop ecx
test al, 1
jne 0x10029ae1
or eax, 1
mov dword [0x1013a500], eax
push 0x82ad
mov byte [ebp - 4], 3
call fcn.1003aca7
mov word [0x1013a504], ax
mov byte [ebp - 4], bl
mov eax, dword [0x1013a500]
pop ecx
test al, 2
jne 0x10029b05
or eax, 2
mov dword [0x1013a500], eax
push 0x6e97
mov byte [ebp - 4], 4
call fcn.1003aca7
pop ecx
mov word [0x10139158], ax
mov byte [ebp - 4], bl
mov eax, ebx
mov dword [ebp - 0x44], ebx
cmp eax, dword [edi]
jae 0x10029e3c
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x24], 0x8a038aa1
mov dword [ebp - 0x34], 0x83eb3d01
mov dword [ebp - 0x18], 0x3d2c
cmp dword [ebp - 0x18], 0x3f54
jle 0x10029b79
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0x4f6a
mov eax, ebx
mov ecx, 0x10073e78
and eax, edi
cdq
push edx
push eax
call fcn.1000383a
add ebx, esi
dec dword [ebp - 0x24]
jne 0x10029b4c
inc esi
push 0
pop ebx
cmp esi, 0x6454
jl 0x10029b42
inc edi
cmp edi, 0x45d8
jl 0x10029b40
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 0x3af8
jge 0x10029bb9
mov edx, str.hfvwe_qlybmxpl_cloizmm_qkex_bfsieszla_nfauyclzj_sgrlp_wqq_cfpnmmlt_qeieqrgkw_fcudluho_juadkn
mov ecx, 0x10073e78
call fcn.100059c3
jmp 0x10029bb9
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10029bcf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0x9b7928f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10029bc1
mov dword [ebp - 0x14], ebx
jmp 0x10029beb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10029bda
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xb
jl 0x10029e07
mov dword [ebp - 0x18], 0xfffe
mov dword [ebp - 0x34], 0x57e71f09
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x2c], 0x505b
cmp dword [ebp - 0x2c], 0x53d0
jle 0x10029c83
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], 0x7137
mov eax, esi
lea ecx, [ebp - 0xd0]
and eax, edi
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029c50
mov eax, dword [eax]
push eax
call fcn.10043cef
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd0]
call fcn.10003c79
dec esi
dec dword [ebp - 0x24]
jne 0x10029c34
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x3340
jl 0x10029c2a
inc edi
cmp edi, 0x6694
jl 0x10029c25
mov dword [ebp - 0x40], 4
cmp dword [ebp - 0x2c], 0x4caa
jge 0x10029c9e
push str.hdsqq_ppazpwlie_tavn_qdm_mii_xjhso_xgcc_igfs
call fcn.10043cef
pop ecx
mov dword [ebp - 4], ebx
xor ecx, ecx
mov dword [ebp - 0x2c], 0xfffffffd
inc ecx
mov dword [ebp - 0x20], ebx
jmp 0x10029cba
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x48], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10029cb0
mov dword [ebp - 0x20], ebx
jmp 0x10029cd2
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x64], 0x94a61bf0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10029cc4
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete dl
sub edx, 9
inc dword [ebp - 0x1c]
cmp eax, edx
jl 0x10029cfa
xor esi, esi
inc esi
jmp 0x10029cfc
mov esi, ebx
inc dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub ecx, eax
cmp ecx, esi
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
cmp ecx, 0xfffffffd
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x10029d3c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x40], 0x3e74cda
jge 0x10029d60
cmp dword [ebp - 0x64], ebx
jne 0x10029d60
mov edx, ebx
jmp 0x10029d63
xor edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
sub ecx, 0x4908
neg ecx
push 0
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
pop ecx
setl dl
sub edx, 0xfff8
neg edx
sbb edx, edx
inc edx
sub edx, eax
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x34]
sete cl
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
sub edx, dword [ebp - 0x14]
cmp edx, 0xfffffff6
setge al
xor edx, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x24], ebx
jne 0x10029de3
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c]
cmp eax, 0x9f1f6a35
setne cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x14]
jmp 0x10029bf4
call fcn.10028275
push 0x34
pop ecx
xor edx, edx
div ecx
push ecx
lea eax, [ebp - 0x94]
mov dword [ebp - 0x68], edx
push eax
push ecx
push ecx
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.1002aba7
mov eax, dword [ebp - 0x44]
add esp, 0x18
mov edi, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x44], eax
jmp 0x10029b0a
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x6c], 0x930509b9
mov dword [ebp - 0x70], 0x9c010580
mov dword [ebp - 0x30], ebx
jmp 0x10029e93
push 0x7c7b
push 0x2ed6
push 0x350d
push 1
push 0x593c
push 0x22dc
push ebx
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push 0x43de
push eax
mov edx, 0x4ba
mov cl, 1
call fcn.1002ac55
add esp, 0x24
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x17
jle 0x10029e59
lea eax, [ebp - 0x74]
mov edx, 0x8e6
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push ebx
push eax
lea ecx, [ebp - 0x30]
call fcn.100294ab
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x94]
add esp, 0x10
cmp esi, eax
je 0x10029ece
push 0xffffffffffffffff
push ebx
push eax
mov ecx, esi
call fcn.10003cbd
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.10004184
jmp 0x1002a069
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x14], 0x360de574
mov dword [ebp - 0x4c], 0xd4f6c553
mov dword [ebp - 0x3c], 0x5595
cmp dword [ebp - 0x3c], 0x5746
jle 0x10029f59
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
lea eax, [ebx + edi]
mov ecx, 0x10073e78
xor eax, esi
cdq
push edx
push eax
call fcn.1000383a
inc ebx
cmp ebx, 0x5ab6
jl 0x10029f29
inc edi
push 0
pop ebx
cmp edi, 0x3c67
jl 0x10029f26
inc esi
cmp esi, 0x33a6
jl 0x10029f24
mov dword [ebp - 0x1c], ebx
jmp 0x10029f6c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], 0x3c7d24b5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10029f5e
mov dword [ebp - 4], 9
cmp dword [ebp - 0x3c], 0x51da
jge 0x10029faf
mov edx, str.jnzw_vmoi_zhoslbrf_qepnp_nlzhxlnn_wse_wzifp_yqus_zjqn_meiilo_cln_beplahcqk_nvusjedc_rhgjgdc
mov ecx, 0x10073e78
call fcn.100059c3
jmp 0x10029faf
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jle 0x10029fc9
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xfffffffe
setge cl
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0x3d4752e4
setne cl
add ecx, dword [ebp - 0x24]
je 0x1002a022
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ebx
je 0x1002a006
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x14]
jl 0x1002a025
xor ebx, ebx
inc ebx
xor eax, eax
mov ecx, 0xd58945cb
cmp ebx, 0xfffffff9
setl al
sub eax, dword [ebp - 0x18]
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0xffffffff
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
cmp edx, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
setle cl
add edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret