Function at 0x1000f98c
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061c66
call fcn.10060e94
sub esp, 0xec
mov dword [ebp - 0x58], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test dl, dl
je 0x1000fe5e
cmp byte [ebp + 0x10], 0
je 0x1000fd77
mov dword [ebp - 0x24], 0x1860
xor ebx, ebx
cmp dword [ebp - 0x24], 0x1c01
jle 0x1000fa2d
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x18], esi
mov ecx, edi
mov eax, ebx
shl esi, cl
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
and esi, eax
mov dword [ebp - 0x38], ebx
mov eax, esi
mov ecx, 0x1007cfd8
xor eax, ebx
cdq
push edx
push eax
call fcn.1000703f
inc ebx
cmp ebx, 0x1b97
jl 0x1000f9e7
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x20], eax
push 0
pop ebx
cmp eax, 0x4d38
jl 0x1000f9df
mov esi, dword [ebp - 0x14]
inc edi
cmp edi, 0x342e
jl 0x1000f9d0
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x1bb3
jl 0x1000f9ce
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x17fc
jge 0x1000fa48
mov edx, str.sxmzoi_qch_vjciyrjlh_okzif_efxaqp
mov ecx, 0x1007cfd8
call fcn.1000b30d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0x45cdbe8e
lea ecx, [ebp - 0x94]
push 2
call fcn.1000145c
push 2
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], 0x730b
cmp dword [ebp - 0x1c], 0x732e
jle 0x1000fadb
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edx, edi
mov dword [ebp - 0x24], ebx
mov ecx, eax
shl edx, cl
mov dword [ebp - 0x20], edx
mov edi, ebx
mov ebx, dword [ebp - 0x24]
lea eax, [edi + ebx]
mov ecx, 0x1007cfd8
or eax, edx
cdq
push edx
push eax
call fcn.1000703f
mov edx, dword [ebp - 0x20]
inc edi
cmp edi, 0x2bf7
jl 0x1000fa91
inc ebx
push 0
mov dword [ebp - 0x24], ebx
cmp ebx, 0x7187
pop ebx
jl 0x1000fa8c
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x5ecf
jl 0x1000fa80
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x5166
jl 0x1000fa7b
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1c], 0x7218
jge 0x1000faf7
mov edx, str.jsd_cirtofxa_btadeugkm
mov ecx, 0x1007cfd8
call fcn.1000b30d
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], ebx
jmp 0x1000fb57
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x68], 0xfffffffb
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1000fb49
push 1
push 0x729e
lea eax, [ebp - 0x30]
mov edx, 0x1f09
push eax
push 0x4a1c
push 1
push 0x7f5d
lea ecx, [ebp - 0x94]
call fcn.1000f7ab
mov dword [ebp - 0x18], 2
add esp, 0x18
cmp dword [ebp - 0x18], ebx
jl 0x1000fc53
mov esi, dword [ebp - 0x94]
push 2
lea ecx, [ebp - 0x54]
call fcn.1000145c
push ecx
push 1
push ecx
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 5
push eax
push ecx
lea eax, [ebp - 0x34]
push eax
push ecx
push 0x25f3
call fcn.1000ef20
add esp, 0x20
mov dword [ebp - 0x34], ebx
jmp 0x1000fbdc
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x88], 1
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1000fbcb
mov eax, dword [ebp - 0x54]
mov dword [eax], ebx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
sub edx, dword [ebp + eax*4 - 0x68]
xor eax, eax
mov ecx, dword [ebp - 0x54]
cmp edx, dword [ecx]
setl al
mov dword [esi + 4], eax
mov eax, dword [ecx]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x68]
cmp eax, 0xf
mov eax, dword [ebp - 0x54]
setl cl
mov dword [ebp - 0x88], ecx
inc dword [eax]
cmp dword [eax], 2
jle 0x1000fbe7
xor ebx, ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x88], ebx
lea ecx, [ebp - 0x54]
call fcn.100014df
dec dword [ebp - 0x18]
jns 0x1000fb9d
lea ecx, [ebp - 0x94]
call fcn.100014df
mov dword [ebp - 0x98], 0xf
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], bl
push 0xb20
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 6
push eax
push 0xd69
push 1
push 1
push 0x7073
mov dl, 1
lea ecx, [ebp + 0x24]
call fcn.1000f907
mov eax, dword [0x100dfc14]
add esp, 0x18
test al, 1
jne 0x1000fcd0
or eax, 1
mov dword [0x100dfc14], eax
push 0x666
mov byte [ebp - 4], 7
call fcn.1002b607
mov byte [0x100e0fb9], al
mov byte [ebp - 4], 6
mov eax, dword [0x100dfc14]
pop ecx
test al, 2
jne 0x1000fcf4
or eax, 2
mov dword [0x100dfc14], eax
push 0xa9c
mov byte [ebp - 4], 8
call fcn.1002b607
pop ecx
mov byte [0x100e0fb8], al
mov byte [ebp - 4], 6
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x1000fd4e
call fcn.1000d58f
push 0x34
pop ecx
xor edx, edx
div ecx
push 1
push 0x100e0fb8
push 0x419c
push 0x3acd
push 1
push 0x40c1
push 0x12e7
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], edx
push eax
push 0x7201
lea eax, [ebp - 0xac]
mov dl, 1
push 0xaa7
push eax
mov ecx, 0x100e0fb9
call fcn.1000f006
add esp, 0x2c
dec esi
jne 0x1000fcfb
mov ecx, dword [ebp + 0x1c]
lea eax, [ebp - 0xac]
cmp ecx, eax
je 0x1000fd64
push 0xffffffffffffffff
push ebx
push eax
call fcn.10010435
push ebx
push 1
lea ecx, [ebp - 0xac]
call fcn.1001055c
jmp 0x10010323
mov dword [ebp - 0x20], 0x30a2
cmp dword [ebp - 0x20], 0x33d0
jle 0x1000fdfe
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
mov dword [ebp - 0x1c], ebx
mov ecx, edi
sar eax, cl
mov dword [ebp - 0x44], eax
mov esi, eax
mov edi, ebx
mov ebx, dword [ebp - 0x1c]
mov eax, ebx
cdq
idiv edi
mov eax, esi
mov ecx, edx
sar eax, cl
mov ecx, 0x1007cfd8
cdq
push edx
push eax
call fcn.1000703f
inc edi
cmp edi, 0x325
jl 0x1000fdb0
inc ebx
push 0
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x26b4
pop ebx
jl 0x1000fdab
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x7de7
jl 0x1000fd9d
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x163e
jl 0x1000fd98
mov dword [ebp - 4], 9
cmp dword [ebp - 0x20], 0x2ee9
jge 0x1000fe1d
mov edx, str.tzucdzipt_tjhpge_nbgi_efuwbospp_camadzlf
mov ecx, 0x1007cfd8
call fcn.1000b30d
or dword [ebp - 4], 0xffffffff
call fcn.1000d58f
push 0xa
pop ecx
xor edx, edx
div ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
add dx, word [eax]
movzx eax, dx
push eax
call fcn.10010334
jmp 0x10010323
cmp byte [ebp + 8], 0
je 0x1001031e
mov dword [ebp - 0x18], 0xba394643
xor ebx, ebx
mov dword [ebp - 0x38], 0x58a60016
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1000fe92
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x40], 0xc93
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1000fe84
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jg 0x1000ff57
push 2
pop ecx
mov dword [ebp - 0x14], 0xfc07e17f
mov dword [ebp - 0x1c], 0xf84255eb
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1000ff48
mov dword [ebp - 0x20], 0x8fb0
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
push 2
setne dl
xor ecx, ecx
cmp eax, 0x4cf5
mov eax, dword [ebp - 0x40]
setl cl
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x18]
sete cl
sub edx, ecx
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x18]
pop ecx
mov eax, dword [ebp + eax*4 - 0x40]
imul eax, dword [ebp - 0x1c]
neg eax
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffffffb
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1000fec1
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1000fea7
xor eax, eax
mov dword [ebp - 0xb0], 7
mov dword [ebp - 0xb4], ebx
mov word [ebp - 0xc4], ax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0xb
push eax
push ecx
push ecx
lea eax, [ebp - 0xc4]
mov dl, 1
push eax
mov ecx, 0x16e1
call fcn.1000ee13
mov dword [ebp - 0x5c], 0xe7a66fe7
add esp, 0x10
mov dword [ebp - 0x3c], 0x13dce9d
mov dword [ebp - 0x1c], 0xc86695cd
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1000ffbe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000ffb4
mov dword [ebp - 0x14], ebx
jmp 0x1000ffd3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000ffc9
mov dword [ebp - 0x20], 0x4a2f
cmp dword [ebp - 0x20], 0x4b33
jle 0x1001007b
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x1c], 0x2861
mov dword [ebp - 0x18], ecx
mov edi, ebx
mov esi, ebx
mov eax, esi
xor eax, edi
or eax, ecx
lea ecx, [ebp - 0xf8]
cdq
push edx
push eax
call fcn.10001301
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001001e
mov eax, dword [eax]
push eax
call fcn.10048570
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf8]
call fcn.1000162e
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, 0x79ef
jl 0x10010000
inc edi
cmp edi, 0x368a
jl 0x1000fffe
mov esi, dword [ebp - 0x24]
add ecx, esi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
jne 0x1000fffc
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x163b
jl 0x1000fff0
push 0x19f9
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Polygon]
push ecx
lea eax, [ebp - 0x5c]
mov dl, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.1000ed54
cmp dword [ebp - 0x20], 0x47c7
pop ecx
pop ecx
jge 0x100100a0
push str.ktl_brvqyzvb_svton_dqgicdan_sqo_vgbf_ynsy
call fcn.10048570
pop ecx
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x4af12a83
je 0x100100ba
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x70]
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x78]
setg cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, 0x161d
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x9919
setne cl
xor eax, eax
cmp ecx, 3
setne al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x100100f7
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
xor ecx, ecx
inc ecx
push 4
pop esi
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x78], esi
jl 0x1001010f
mov edx, ebx
cmp dword [ebp - 0x3c], ebx
je 0x10010111
mov edx, ecx
xor eax, eax
cmp edx, 0x73ff82f
sete al
sub eax, dword [ebp - 0x5c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x100dfc14]
test al, 4
jne 0x10010153
or eax, esi
mov dword [0x100dfc14], eax
push 0xdeb
mov byte [ebp - 4], 0xe
call fcn.10034a68
pop ecx
xor ecx, ecx
mov word [0x100e0fbc], ax
mov byte [ebp - 4], 0xb
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], 0x17b844a7
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xd0]
push esi
call fcn.1000145c
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x28], ebx
jmp 0x1001018c
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xe0], 0xfffffff7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1001017b
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x28]
push eax
push ecx
push ecx
mov cl, 1
call fcn.1000f6a3
mov eax, dword [ebp - 0x14]
xor ecx, ecx
add esp, 0x10
cmp eax, 0x6aed1d25
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge bl
xor ecx, ecx
cmp ebx, eax
setl cl
cmp ecx, 0xfff8
sbb eax, eax
inc eax
cmp eax, 0xca8c98aa
ja 0x100101f0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], 0xcd49
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
jne 0x1001020e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 1
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
xor ebx, ebx
sub ecx, dword [ebp - 0x14]
jne 0x10010239
cmp dword [ebp - 0x18], ebx
jne 0x10010239
mov ecx, ebx
jmp 0x1001023c
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
imul eax, ecx
xor ecx, ecx
push 0x259
push 0x6a8f
push 0x2755
push 1
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe0]
push 0x171a
setl cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x2c]
push 0x458
cmp ecx, eax
mov eax, dword [ebp - 0xe0]
sete dl
xor ecx, ecx
cmp edx, eax
lea eax, [ebp - 0x48]
push eax
push 0x47f9
push 0x1e1f
push 0x7abe
push 1
push 1
sete cl
mov edx, 0x2a67
push 0x6484
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0x2c]
push 0x205
push 0x377a
call fcn.1000e8e5
add esp, 0x3c
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd0]
call fcn.100014df
mov esi, dword [ebp - 0x58]
test esi, esi
je 0x100102f8
push 0x100e0fbc
lea eax, [ebp - 0xc4]
mov ecx, 0x554d
push 0x2261
push eax
call fcn.1000f960
add esp, 0xc
dec esi
jne 0x100102d7
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0xc4]
cmp ecx, eax
je 0x1001030e
push 0xffffffffffffffff
push ebx
push eax
call fcn.10007c9d
push ebx
push 1
lea ecx, [ebp - 0xc4]
call fcn.10007ea2
jmp 0x10010323
mov eax, dword [ebp + 0x18]
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