Function at 0x10021f76
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005b951
call fcn.1005a5c0
sub esp, 0x250
push ebx
push esi
mov byte [ebp - 0x30], cl
xor ebx, ebx
mov dword [ebp - 0x20], 0x215a
cmp dword [ebp - 0x20], 0x24f5
push edi
mov dword [ebp - 0x10], esp
jle 0x10021ff7
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edi, esi
mov esi, 0x7517
mov eax, edi
lea ecx, [ebp - 0x20c]
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10021fc7
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x20c]
call fcn.1000fb16
dec edi
dec esi
jne 0x10021fad
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x3a5b
jl 0x10021fa6
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
cmp dword [ebp - 0x20], 0x1d7a
jge 0x1002200b
push str.kugjfgdsn_pqnkus_eeivwy_qgm_zcl
call fcn.10043d63
pop ecx
or esi, 0xffffffff
mov dword [ebp - 4], esi
cmp byte [ebp - 0x30], 0
je 0x10023162
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0xf0]
push 1
mov dword [ebp - 0xac], eax
call fcn.1000f33d
mov dword [ebp - 4], 2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0xb4], 0xe843631e
mov dword [ebp - 0x14], ebx
jmp 0x1002205d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1002204a
mov dword [ebp - 0x24], 0x2050
cmp dword [ebp - 0x24], 0x96b
jge 0x100226ec
push 0x10078628
push 0x10079c60
push 0x10079c58
push str._lld__lld__lld
call fcn.10043a7b
mov eax, dword [0x10079c64]
add esp, 0x10
cmp dword [0x1007862c], eax
jl 0x100220de
mov edi, dword [0x10078628]
mov edx, dword [0x10079c60]
jg 0x100220b2
cmp edi, edx
jb 0x100220de
push dword [0x10079c64]
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
sub ecx, 1
push edx
sbb eax, ebx
push eax
push ecx
call fcn.100490e0
cmp dword [0x1007862c], edx
jl 0x100220e9
jg 0x100220de
cmp edi, eax
jbe 0x100220e9
push 0x100674ac
call fcn.10043f86
pop ecx
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 1
push eax
mov ecx, 0x106ee3f4
call fcn.100244e3
mov ecx, dword [0x10079c58]
xor eax, eax
mov edx, dword [0x10079c5c]
inc eax
push 0
mov byte [ebp - 0x19], al
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x100], eax
sub eax, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xf8], ecx
pop ecx
sbb ecx, edx
mov dword [ebp - 0x24], ebx
push ecx
push eax
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ecx
call fcn.10045baa
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [0x1007862c]
cmp eax, edx
jl 0x10022202
jle 0x100221f2
mov eax, dword [ebp - 0x14]
push eax
push dword [ebp - 0x24]
call fcn.10045baa
sub dword [0x10078628], eax
mov eax, dword [ebp - 0x54]
sbb dword [0x1007862c], edx
cmp byte [ebp - 0x19], 0
mov edi, dword [ebp - 0x18]
pop ecx
mov dword [ebp - 0x14], eax
sete byte [ebp - 0x19]
pop ecx
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x20], edi
push eax
mov dword [ebp - 0xb0], edi
call fcn.10024536
movzx eax, byte [ebp - 0x19]
add dword [0x10079c60], esi
adc dword [0x10079c64], esi
mov ecx, dword [ebp + eax*8 - 0x100]
mov edx, dword [ebp + eax*8 - 0xfc]
mov eax, edi
sub eax, ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
sbb ecx, edx
mov dword [ebp - 0x54], edx
push ecx
push eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ecx
call fcn.10045baa
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [0x1007862c]
cmp eax, edx
jg 0x10022165
jl 0x10022202
mov edi, dword [0x10078628]
cmp edi, ecx
jae 0x10022165
jmp 0x10022208
mov edi, dword [0x10078628]
mov ecx, dword [0x10079c60]
mov edx, dword [0x10079c64]
cmp edi, ecx
jne 0x10022323
cmp eax, edx
jne 0x10022325
cmp byte [ebp - 0x19], 0
mov edi, dword [ebp - 0x20]
jne 0x100222a6
dec edi
mov dword [ebp - 0x14], esi
or ecx, edx
jmp 0x1002229c
test edi, edi
jne 0x10022246
push 2
pop edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x14], 1
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edi
cdq
cmp eax, ecx
jne 0x10022271
cmp edx, dword [ebp - 0x24]
jne 0x10022271
mov eax, dword [0x10079c58]
dec eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edi, dword [ebp - 0x60]
adc eax, esi
mov dword [0x10079c60], ecx
add edi, dword [ebp - 0x14]
or ecx, eax
mov dword [0x10079c64], eax
mov dword [ebp - 0x60], edi
jne 0x10022235
jmp 0x1002269b
inc edi
mov dword [ebp - 0x14], 1
or ecx, edx
jmp 0x10022319
test edi, edi
jne 0x100222c3
push 2
pop edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x14], 1
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edi
cdq
cmp eax, ecx
jne 0x100222ee
cmp edx, dword [ebp - 0x24]
jne 0x100222ee
mov eax, dword [0x10079c58]
dec eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edi, dword [ebp - 0x4c]
adc eax, esi
mov dword [0x10079c60], ecx
add edi, dword [ebp - 0x14]
or ecx, eax
mov dword [0x10079c64], eax
mov dword [ebp - 0x4c], edi
jne 0x100222b2
jmp 0x1002269b
cmp eax, edx
jl 0x100224b2
jg 0x10022335
cmp edi, ecx
jbe 0x100224b2
mov dword [ebp - 0x20], edi
sub dword [ebp - 0x20], ecx
sbb eax, edx
add dword [ebp - 0x20], 1
adc eax, ebx
sub edi, dword [ebp - 0x20]
mov dword [0x10078628], edi
mov edi, dword [0x1007862c]
sbb edi, eax
mov eax, dword [0x106ee3f8]
add ecx, esi
mov dword [0x1007862c], edi
mov dword [0x10079c60], ecx
mov ecx, 0x106ee3f4
adc edx, esi
cmp byte [ebp - 0x19], 0
mov dword [0x10079c64], edx
mov eax, dword [eax - 4]
je 0x1002241a
add eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0xb8], eax
inc edi
lea eax, [ebp - 0xb8]
push eax
call fcn.100244e3
mov eax, dword [0x106ee3f8]
mov edx, dword [eax - 4]
mov eax, dword [0x10079c60]
inc edx
or eax, dword [0x10079c64]
jmp 0x10022410
test edx, edx
jne 0x100223bc
push 2
pop edx
xor edi, edi
mov dword [ebp - 0x58], edx
inc edi
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edx
cdq
cmp eax, ecx
jne 0x100223e6
cmp edx, dword [ebp - 0x24]
jne 0x100223e6
mov eax, dword [0x10079c58]
mov edi, esi
dec eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edx, dword [ebp - 0x58]
adc eax, esi
mov dword [0x10079c60], ecx
add edx, edi
mov dword [0x10079c64], eax
or ecx, eax
mov dword [ebp - 0x58], edx
jne 0x100223af
jmp 0x1002269b
sub eax, dword [ebp - 0x20]
mov edi, esi
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.100244e3
mov eax, dword [0x106ee3f8]
mov edx, dword [eax - 4]
mov eax, dword [0x10079c60]
dec edx
or eax, dword [0x10079c64]
jmp 0x100224a8
test edx, edx
jne 0x10022454
push 2
pop edx
xor edi, edi
mov dword [ebp - 0x68], edx
inc edi
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edx
cdq
cmp eax, ecx
jne 0x1002247e
cmp edx, dword [ebp - 0x24]
jne 0x1002247e
mov eax, dword [0x10079c58]
mov edi, esi
dec eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edx, dword [ebp - 0x68]
adc eax, esi
mov dword [0x10079c60], ecx
add edx, edi
mov dword [0x10079c64], eax
or ecx, eax
mov dword [ebp - 0x68], edx
jne 0x10022447
jmp 0x1002269b
cmp eax, edx
jg 0x10022523
jge 0x1002251f
sub dword [0x106ee3f8], 4
xor ecx, ecx
inc ecx
sub ecx, dword [0x10079c58]
push 0
pop eax
sbb eax, dword [0x10079c5c]
push eax
push ecx
call fcn.10045baa
mov edi, dword [0x10078628]
add edi, eax
mov eax, dword [0x1007862c]
pop ecx
adc eax, edx
mov dword [0x10078628], edi
mov edx, dword [0x10079c64]
pop ecx
mov ecx, dword [0x10079c60]
add ecx, 1
mov dword [0x1007862c], eax
mov dword [0x10079c60], ecx
adc edx, ebx
cmp byte [ebp - 0x19], 0
mov dword [0x10079c64], edx
sete byte [ebp - 0x19]
cmp eax, edx
jl 0x100224b8
jg 0x10022523
cmp edi, ecx
jb 0x100224b8
mov dword [ebp - 0x20], edi
sub dword [ebp - 0x20], ecx
sbb eax, edx
add dword [ebp - 0x20], 1
adc eax, ebx
sub edi, dword [ebp - 0x20]
mov dword [0x10078628], edi
mov edi, dword [0x1007862c]
sbb edi, eax
mov eax, dword [0x106ee3f8]
add ecx, esi
mov dword [0x1007862c], edi
mov dword [0x10079c60], ecx
mov ecx, 0x106ee3f4
adc edx, esi
cmp byte [ebp - 0x19], 0
mov dword [0x10079c64], edx
mov eax, dword [eax - 4]
je 0x10022608
add eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0xa8], eax
inc edi
lea eax, [ebp - 0xa8]
push eax
call fcn.100244e3
mov eax, dword [0x106ee3f8]
mov edx, dword [eax - 4]
mov eax, dword [0x10079c60]
inc edx
or eax, dword [0x10079c64]
jmp 0x100225fe
test edx, edx
jne 0x100225aa
push 2
pop edx
xor edi, edi
mov dword [ebp - 0x64], edx
inc edi
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edx
cdq
cmp eax, ecx
jne 0x100225d4
cmp edx, dword [ebp - 0x24]
jne 0x100225d4
mov eax, dword [0x10079c58]
mov edi, esi
dec eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edx, dword [ebp - 0x64]
adc eax, esi
mov dword [0x10079c60], ecx
add edx, edi
mov dword [0x10079c64], eax
or ecx, eax
mov dword [ebp - 0x64], edx
jne 0x1002259d
jmp 0x1002269b
sub eax, dword [ebp - 0x20]
mov edi, esi
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xe0]
push eax
call fcn.100244e3
mov eax, dword [0x106ee3f8]
mov edx, dword [eax - 4]
mov eax, dword [0x10079c60]
dec edx
or eax, dword [0x10079c64]
jmp 0x10022696
test edx, edx
jne 0x10022642
push 2
pop edx
xor edi, edi
mov dword [ebp - 0x5c], edx
inc edi
mov ecx, dword [0x10079c58]
mov eax, dword [0x10079c5c]
add ecx, 1
adc eax, ebx
mov dword [ebp - 0x24], eax
mov eax, edx
cdq
cmp eax, ecx
jne 0x1002266c
cmp edx, dword [ebp - 0x24]
jne 0x1002266c
mov eax, dword [0x10079c58]
mov edi, esi
dec eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10024536
mov ecx, dword [0x10079c60]
mov eax, dword [0x10079c64]
add ecx, esi
mov edx, dword [ebp - 0x5c]
adc eax, esi
mov dword [0x10079c60], ecx
add edx, edi
mov dword [0x10079c64], eax
or ecx, eax
mov dword [ebp - 0x5c], edx
jne 0x10022635
push 0x100674b0
call fcn.10043f86
mov eax, dword [0x106ee3f8]
xor edi, edi
pop ecx
mov ecx, dword [0x106ee3f4]
inc edi
sub eax, ecx
sar eax, 2
cmp eax, edi
jbe 0x100226e1
push dword [ecx + edi*4]
push 0x100674b4
call fcn.10043d63
mov eax, dword [0x106ee3f8]
inc edi
pop ecx
pop ecx
mov ecx, dword [0x106ee3f4]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x100226bd
push 0x10063969
call fcn.10043f86
pop ecx
mov eax, dword [ebp - 0xf0]
mov dword [eax], 0xad6
mov dword [ebp - 0x3c], ebx
jmp 0x1002278c
mov dword [ebp - 0x14], ebx
jmp 0x10022713
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0x70a77c87
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10022705
push 0xd7f
push 0x2312
push 1
mov edx, 0x41cc
call fcn.10020822
add esp, 0xc
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
jl 0x10022789
push 0x2f81
lea eax, [ebp - 0x3c]
mov dword [ebp - 0xd8], 0xe780ca9f
push eax
push ecx
push ecx
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xbc], 3
push eax
lea eax, [ebp - 0xb4]
mov dl, 1
push eax
lea eax, [ebp - 0xd8]
push eax
push 0x5c43
push ecx
lea ecx, [ebp - 0xbc]
call fcn.10020052
add esp, 0x24
dec dword [ebp - 0x6c]
jns 0x1002273a
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x10022700
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], esi
call fcn.1000f3c0
mov dword [ebp - 0x14], 0x64eb
cmp dword [ebp - 0x14], 0x670c
jle 0x10022850
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov dword [ebp - 0x54], ebx
mov eax, esi
mov dword [ebp - 0x20], ebx
cdq
idiv edi
mov dword [ebp - 0x24], 0x4741
mov edi, ebx
mov dword [ebp - 0x18], edx
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x23c]
and eax, esi
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100227f3
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x23c]
call fcn.1000fb16
inc esi
cmp esi, 0x6d0e
jl 0x100227d7
add edi, dword [ebp - 0x18]
dec dword [ebp - 0x24]
jne 0x100227d5
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x54], edi
cmp edi, 0x3b0d
jl 0x100227c1
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x729e
jl 0x100227bc
push 0x9bd
push ebx
push 0x1c22
push 0x23c6
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
or esi, 0xffffffff
push 0x7c
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x48], 0x3c017f00
mov word [ebp - 0x50], ax
pop edi
mov dword [ebp - 0x40], ecx
cmp edi, 2
jne 0x10022872
push edi
pop ecx
mov dword [ebp - 0x40], ecx
jmp 0x100228a8
movzx edx, byte [ebp + edi - 0x47]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x4a]
movzx eax, word [ebp + eax*2 - 0x50]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + edi - 0x48]
mov word [ebp + eax*2 - 0x50], cx
lea eax, [ebp - 0x40]
push eax
mov cl, 1
call fcn.100208ea
mov ecx, dword [ebp - 0x40]
add esp, 4
add edi, 2
cmp edi, 4
jb 0x10022866
xor eax, eax
cmp dword [ebp - 0x14], 0x6122
mov word [ebp - 0x4e], ax
jge 0x100228ca
push str.xnnzuwggv_epmu_cjgithhnh_eaeuqvcp_xuwyiiio_oaacmdfhe_naix
call fcn.10043d63
pop ecx
push 0x3fa2
push 0x2009
push ebx
push 0x772a
push 1
mov dword [ebp - 4], esi
xor dl, dl
mov dword [ebp - 0x14], 0xa8eac8b
mov ecx, 0x3cbc
push 0x2d9a
call fcn.10023e04
add esp, 0x18
mov dword [ebp - 0x14], ebx
jmp 0x1002291c
push 0x3754
push 0x3926
push ecx
mov edx, 0xcc2
mov cl, 1
call fcn.10020165
add esp, 0xc
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe5
jl 0x100228ff
xor eax, eax
mov dword [ebp - 0x140], 7
mov word [ebp - 0x154], ax
lea ecx, [ebp - 0x154]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x144], ebx
push eax
call fcn.1001f29f
mov edx, dword [ebp + 0x14]
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 5
call fcn.1001ff9a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 7
call fcn.1000fe44
push 2
lea ecx, [ebp - 0x124]
call fcn.1000f33d
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], 0x4d8e5ccc
mov dword [ebp - 0x14], ebx
jmp 0x100229a9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0xdcec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10022996
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], ebx
jl 0x100229db
lea eax, [ebp - 0x34]
mov byte [ebp - 0x34], bl
push eax
push 1
push 0x4d0f
mov edx, 0x142f
call fcn.1002094c
add esp, 0xc
dec dword [ebp - 0x14]
jns 0x100229bb
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 7
call fcn.1000f3c0
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x24], 0x1d691704
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x24], 0x1708
cmp dword [ebp - 0x24], 0x1ac2
jle 0x10022a3c
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10077318
xor eax, edi
cdq
push edx
push eax
call fcn.1000f05b
inc esi
cmp esi, 0x3609
jl 0x10022a16
inc edi
cmp edi, 0x629f
jl 0x10022a14
or esi, 0xffffffff
mov byte [ebp - 4], 9
cmp dword [ebp - 0x24], 0x1419
jge 0x10022a79
mov edx, str.ukowsm_ikg_tqavjuty_hmxfjnst_lkscgijr_ooweupw_olcrxgv_yeyrsurh_dgamno_gimlus_swjvdm
mov ecx, 0x10077318
call fcn.10013928
jmp 0x10022a79
mov dword [ebp - 4], 7
mov dword [ebp - 0x18], ebx
jmp 0x10022a96
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x24c], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10022a85
mov dword [ebp - 0x18], ebx
jmp 0x10022ab2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x164], 0x16ffa942
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10022aa1
mov dword [ebp - 0x18], ebx
jmp 0x10022ace
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x25c], 0xa87187d7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10022abd
mov dword [ebp - 0x18], ebx
jmp 0x10022c51
mov dword [ebp - 0x14], ebx
jmp 0x10022aee
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10022ae1
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
neg eax
je 0x10022b07
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
cmp eax, 1
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x94]
setge dl
xor ebx, ebx
cmp edx, dword [ebp - 0x24]
setge bl
xor ecx, ecx
cmp ebx, eax
mov eax, 0xf394a2a4
setle cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, 0x3cfcb8f
jg 0x10022c15
push 3
lea ecx, [ebp - 0x10c]
call fcn.1000f33d
push 3
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xb
call fcn.1000f33d
xor ebx, ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x44], ebx
jmp 0x10022b95
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x26ed4bca
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jl 0x10022b82
push 0x6b47
lea eax, [ebp - 0x118]
push ebx
push eax
lea edx, [ebp - 0x44]
call fcn.1002094c
mov eax, dword [ebp - 0x10c]
add esp, 0xc
mov dword [eax + 8], 1
mov dword [ebp - 0x24], 0xf1ba1372
mov dword [ebp - 0x24], 0xf6a1241a
inc dword [ebp - 0x160]
dec dword [eax + 8]
jns 0x10022bc0
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10022bf9
push ecx
push 1
mov ecx, 0x706e
call fcn.100209a6
dec dword [ebp - 0x14]
pop ecx
pop ecx
jns 0x10022be5
lea ecx, [ebp - 0x118]
call fcn.1000f3c0
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 7
call fcn.1000f3c0
jmp 0x10022c34
xor ebx, ebx
lea edx, [ebp - 0x35]
push ebx
push 1
push 1
push 0x6889
mov ecx, 0x1765
mov byte [ebp - 0x35], bl
call fcn.10020be1
add esp, 0x10
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10022c4e
push ecx
mov edx, 0x7255
mov ecx, 0x967
call fcn.1002357c
pop ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffed
jge 0x10022adc
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0x2f92e6c0
mov dword [ebp - 0x14], ebx
jmp 0x10022c7b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0x24f0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10022c6d
push ecx
push ecx
lea eax, [ebp - 0x31]
mov byte [ebp - 0x31], bl
push eax
call fcn.10023dda
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov esi, 0x10067550
push 6
pop edi
cmp dword [ebp - 0x18], ebx
jl 0x10023010
mov dword [ebp - 0x24], 0x773672d7
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x2c], ebx
jne 0x10023010
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c]
cmp eax, dword [ebp - 0x24]
jle 0x10022fe4
mov dword [ebp - 0x20], 0x326874be
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x2c], edi
jae 0x10022d01
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 0x1991
cmp dword [ebp - 0x24], 0xbf1
jge 0x10022ee8
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
push esi
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0xd
call fcn.1000ecff
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
push esi
lea ecx, [ebp - 0x17c]
call fcn.1000ecff
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
push esi
lea ecx, [ebp - 0x1f4]
call fcn.1000ecff
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
push esi
lea ecx, [ebp - 0x194]
call fcn.1000ecff
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
push esi
lea ecx, [ebp - 0x1ac]
call fcn.1000ecff
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
push esi
lea ecx, [ebp - 0x1dc]
call fcn.1000ecff
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x90]
call fcn.10024a3f
push ebx
push 1
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0xd
call fcn.1000fb16
lea eax, [ebp - 0xc4]
mov ecx, 0x100773d0
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.1002428c
mov ecx, eax
call fcn.1002428c
mov eax, dword [ebp - 0xdc]
cdq
idiv edi
imul ecx, edx, 0x18
add ecx, dword [ebp - 0x90]
cmp dword [ecx + 0x14], 0x10
jb 0x10022eba
mov ecx, dword [ecx]
mov eax, dword [ebp - 0xc4]
movsx eax, byte [ecx + eax]
mov ecx, 0x10077318
sub eax, 0x30
push eax
call fcn.1000ef49
push eax
call fcn.10013aff
pop ecx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.1001f44e
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10023008
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], ecx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jg 0x10022fdc
sub esp, 0xc
mov byte [ebp - 0x32], bl
lea eax, [ebp - 0x32]
push eax
push 1
call fcn.10020a4f
mov byte [ebp - 0x33], bl
add esp, 0x14
mov dword [ebp - 0x24], 0x211b
cmp dword [ebp - 0x24], 0x2355
jle 0x10022f79
push ebx
push 0x1420
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x10077318
cdq
push edx
push eax
call fcn.1000f05b
inc edi
cmp edi, 0x14d2
jl 0x10022f4c
inc esi
cmp esi, 0x5d1e
jl 0x10022f4a
push 6
pop edi
mov esi, 0x10067550
push 1
push ecx
mov edx, 0x63d1
lea ecx, [ebp - 0x33]
call fcn.100209e9
pop ecx
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x24], 0x1fe2
pop ecx
jge 0x10022fcd
mov edx, str.izityjzeo_kmaddzsei_yxudfffjc_ogrrq_epydo_oqemprh_neg_zjrrk_jhhcc_oaf_gopqb_fldfrmms_bbm_rwhmhdeg
mov ecx, 0x10077318
call fcn.10013928
jmp 0x10022fcd
mov dword [ebp - 4], 7
inc dword [ebp - 0x20]
jmp 0x10022f05
dec dword [ebp - 0x14]
jmp 0x10022eeb
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 0xfffffff6
push 0x4f88
push eax
mov edx, 0x5bc3
xor cl, cl
call fcn.1002105b
pop ecx
pop ecx
dec dword [ebp - 0x18]
jmp 0x10022c9d
push 0xa
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x7c], 0x701cb02
mov dword [ebp - 0x78], 0x40042d03
mov dword [ebp - 0x74], 0x62ec21
mov byte [ebp - 0x70], 0x29
mov word [ebp - 0xa0], ax
pop esi
mov dword [ebp - 0x80], ecx
cmp esi, edi
jne 0x1002304a
push 5
pop ecx
push 9
mov dword [ebp - 0x80], ecx
pop esi
jmp 0x1002309f
movzx edx, byte [ebp + esi - 0x7b]
mov eax, esi
sub eax, ecx
push 0x70a0
push 0x331f
push ebx
movzx eax, byte [ebp + eax - 0x7e]
movzx ecx, word [ebp + eax*2 - 0xa4]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x7c]
add ecx, edx
mov dl, 1
mov word [ebp + eax*2 - 0xa4], cx
lea eax, [ebp - 0x80]
push eax
push 1
push 0x157c
mov ecx, 0xa97
call fcn.10023e04
mov ecx, dword [ebp - 0x80]
add esp, 0x18
add esi, 2
cmp esi, 0xd
jb 0x1002303b
xor eax, eax
mov dword [ebp - 0x128], 7
mov word [ebp - 0x9c], ax
lea ecx, [ebp - 0x13c]
mov word [ebp - 0x13c], ax
lea eax, [ebp - 0xa4]
push eax
mov dword [ebp - 0x12c], ebx
call fcn.1001f29f
xor eax, eax
mov byte [ebp - 4], 0x16
lea edi, [ebp - 0xa4]
mov dword [ebp - 0x84], ebx
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xd0]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x10023135
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x84]
push eax
push ebx
lea edx, [ebp - 0xd0]
call fcn.10020822
mov eax, dword [ebp - 0x84]
add esp, 0xc
inc eax
mov dword [ebp - 0x84], eax
cmp eax, esi
jb 0x10023107
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0xd0]
push eax
call fcn.1002469c
push ebx
push 1
lea ecx, [ebp - 0x13c]
call fcn.1000fe44
lea ecx, [ebp - 0xd0]
call fcn.10024db3
jmp 0x1002319d
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
sub eax, ecx
push eax
push ecx
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0x224]
push eax
call fcn.100244ab
mov ecx, dword [ebp + 0x18]
push eax
mov dword [ebp - 4], 0x17
call fcn.1002462c
push ebx
push 1
lea ecx, [ebp - 0x224]
call fcn.1000fe44
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret