Function at 0x100067c5
Capabilities:
Encode data using xor
Get memory capacity

Disassembly:
mov eax, 0x1005e083
call fcn.1005db30
sub esp, 0x12c
cmp byte [ebp + 8], 0
mov eax, edx
push ebx
push esi
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ecx
je 0x10006878
mov dword [ebp - 0x10], 0x284
mov esi, 0x10075b78
cmp dword [ebp - 0x10], 0x4d1
push 0
pop ebx
jle 0x10006850
mov edi, ebx
mov dword [ebp - 0x4c], ebx
mov eax, ebx
mov dword [ebp - 0x50], ebx
mov ecx, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
sar edi, cl
mov eax, edi
mov ecx, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.1000c233
inc ebx
cmp ebx, 0x7e60
jl 0x10006816
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x50], eax
push 0
pop ebx
cmp eax, 0x3bc4
jl 0x1000680c
inc edi
mov dword [ebp - 0x4c], edi
cmp edi, 0x1ed7
jl 0x10006807
mov eax, dword [ebp - 0x20]
cmp byte [eax], 0
je 0x1000685d
push ebx
push ebx
call dword [sym.imp.USER32.dll_BeginPaint]
cmp dword [ebp - 0x10], 0xe
jge 0x10007128
mov edx, str.qcxqqo_tpjdwvxbp_fnbuoajy_atifbghwb_uwj_ebuygqglq_ohvdd_jcyifgc_lqsbpf
mov ecx, esi
call fcn.1000e4aa
jmp 0x10007128
push ecx
xor ebx, ebx
push ebx
sub esp, 0xc
call fcn.10002ee2
mov dword [ebp - 0x34], 0xc207
add esp, 0x14
mov dword [ebp - 0x14], 9
mov esi, 0x10075b78
mov dword [ebp - 0x24], 0x9eb818f8
mov dword [ebp - 0x38], 0x2fc53d8b
mov dword [ebp - 0x10], 0x14648a57
mov dword [ebp - 0x20], 0x3ff1
cmp dword [ebp - 0x20], 0x400b
jle 0x1000690c
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, ebx
mov dword [ebp - 0x58], ebx
mov ecx, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
sar edi, cl
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, esi
cdq
push edx
push eax
call fcn.1000c233
inc ebx
cmp ebx, 0x4611
jl 0x100068d3
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x58], eax
push 0
pop ebx
cmp eax, 0x927
jl 0x100068c9
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x65a2
jl 0x100068c4
mov dword [ebp - 0x1c], 0x7228
cmp dword [ebp - 0x20], 0x3de5
jge 0x10006928
mov edx, str.tnohe_tqa_nys_egxcctfiv_dflvapf_njr_fmkix_lhtm_vrtho_ave_ojduxljih_dbc_pycbtr_penteqr
mov ecx, esi
call fcn.1000e4aa
mov dword [ebp - 0x18], 0x446f9416
lea ecx, [ebp - 0xbc]
push 4
call fcn.1000c44b
lea eax, [ebp - 0xac]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.10007156
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
imul ecx, eax
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x34]
cmp ecx, eax
jle 0x1000696c
xor eax, eax
inc eax
jmp 0x1000696e
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
add eax, ecx
cmp eax, dword [ebp - 0x14]
jle 0x10006984
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
cmp eax, 0x5659
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
push 2
setge cl
xor edx, edx
cmp ecx, eax
pop edi
setle dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
cmp eax, 1
setg cl
cmp ecx, dword [ebp - 0x1c]
je 0x10006b7f
push edi
lea ecx, [ebp - 0x8c]
call fcn.1000c44b
mov byte [ebp - 4], 1
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
jmp 0x10006a1f
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x3c], edi
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 1
jl 0x10006a15
push ebx
push 0x370f
push 0x5eea
push 0x29c
push ebx
push 0x2ad
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x8c]
call fcn.10002fa7
add esp, 0x18
mov dword [ebp - 0x10], ebx
jmp 0x10006a5d
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], ebx
jne 0x10006a62
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10006a51
mov dword [ebp - 0x24], 0x1205
cmp dword [ebp - 0x24], 0x153e
jle 0x10006ad4
mov eax, ebx
mov dword [ebp - 0x10], ebx
mov edi, ebx
mov dword [ebp - 0x58], ebx
cdq
idiv edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], edx
mov edi, ebx
mov ebx, dword [ebp - 0x20]
mov ecx, edi
mov eax, ebx
sar eax, cl
mov ecx, esi
or eax, edx
cdq
push edx
push eax
call fcn.1000c233
mov edx, dword [ebp - 0x2c]
inc edi
cmp edi, 0x338a
jl 0x10006a8a
inc ebx
push 0
mov dword [ebp - 0x20], ebx
cmp ebx, 0x938
pop ebx
jl 0x10006a85
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x58], edi
cmp edi, 0x4ed7
jl 0x10006a7c
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 0x2e86
jl 0x10006a77
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x8c]
setl dl
mov dword [eax + 4], edx
xor eax, eax
cmp edx, 0xd81
sete al
xor edx, edx
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub ecx, 0xdfe9
neg ecx
sbb ecx, ecx
add eax, 0xd2166a3c
inc ecx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x3c]
imul ecx, eax
mov eax, dword [ebp - 0x3c]
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sete dl
cmp edx, 1
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x24], 0xfbc
jge 0x10006b6f
mov edx, str.esqj_meaamfv_lvbxn_dmrmxloi_nbihrgf_ebpcyf_fwfopk_hktwmcx_fhwvpqysm_rarsrgxo_sqh_ulipa_chuq
mov ecx, esi
call fcn.1000e4aa
lea ecx, [ebp - 0x8c]
call fcn.1000c4ce
jmp 0x10006c26
push ebx
mov edx, 0x3bd1
mov ecx, 0x133
call fcn.1000765f
mov dword [ebp - 0x20], 0x5d5c
cmp dword [ebp - 0x20], 0x5dd0
pop ecx
jle 0x10006c08
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], 0x1a52
mov edi, dword [ebp - 0x10]
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x11c]
and eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006bce
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.1000c80a
inc esi
cmp esi, 0x2c48
jl 0x10006bb2
mov edi, dword [ebp - 0x1c]
add dword [ebp - 0x10], edi
dec dword [ebp - 0x18]
jne 0x10006bad
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x7d56
jl 0x10006ba3
mov esi, 0x10075b78
push ebx
lea ecx, [ebp - 0x34]
call fcn.10001b26
cmp dword [ebp - 0x20], 0x5afc
pop ecx
jge 0x10006c26
push str.bcj_cto_iywkkl_pualax_nmxinanov_trycyjl
call fcn.10048abc
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.1000c4ce
mov dword [ebp - 0x2c], 0x6bf2
cmp dword [ebp - 0x2c], 0x6f87
jle 0x10006cce
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 0x2f7e
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov ecx, eax
mov dword [ebp - 0x38], edi
mov esi, ebx
sar edi, cl
mov eax, edi
lea ecx, [ebp - 0xd4]
xor eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006c82
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd4]
call fcn.1000c80a
inc esi
cmp esi, 0x6695
jl 0x10006c66
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x35bb
jl 0x10006c5d
dec edi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x10], edi
jne 0x10006c58
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x7608
jl 0x10006c4e
mov esi, 0x10075b78
cmp dword [ebp - 0x2c], 0x6984
mov eax, dword [ebp - 0x30]
mov al, byte [eax]
mov byte [ebp - 0x25], al
jge 0x10006cea
push str.ugsiaapmy_tkgiy_jamop_kqe
call fcn.10048abc
pop ecx
mov dword [ebp - 0x2c], 0x4e50
cmp dword [ebp - 0x2c], 0x5205
jle 0x10006d6d
push ebx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], 0x241f
mov edi, dword [ebp - 0x10]
mov eax, ebx
mov dword [ebp - 0x18], eax
mov ecx, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], ebx
sar edi, cl
mov eax, edi
mov ecx, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.1000c233
inc ebx
cmp ebx, 0x2b10
jl 0x10006d21
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x18], eax
push 0
pop ebx
cmp eax, 0x242f
jl 0x10006d17
mov edi, dword [ebp - 0x20]
add dword [ebp - 0x10], edi
dec dword [ebp - 0x1c]
jne 0x10006d0f
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x6845
jl 0x10006d05
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_MoveToEx]
cmp dword [ebp - 0x2c], 0x4c7f
jge 0x10006d82
mov edx, str.suhc_qpj_ycts_jhboi
mov ecx, esi
call fcn.1000e4aa
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x60], 0x2f34111d
mov dword [ebp - 0x1c], 0x2b1b
cmp dword [ebp - 0x1c], 0x2b4a
jle 0x10006dfd
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
lea ecx, [eax + edi]
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0xec]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006dc8
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xec]
call fcn.1000c80a
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0xd43
jl 0x10006da9
inc edi
cmp edi, 0x3de9
jl 0x10006da4
inc esi
cmp esi, 0x3531
jl 0x10006da2
push 2
mov dword [ebp - 0x14], ebx
pop esi
cmp dword [ebp - 0x14], 0xfffffff2
jne 0x10006e67
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x10], ebx
jmp 0x10006e1f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10006e15
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x10006e30
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x70], ebx
je 0x10006e44
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x70]
xor dl, dl
mov eax, dword [ebp - 0x14]
mov ecx, 0x6dce
lea eax, [ebp - 0x60]
push eax
push ebx
call fcn.10004e8b
pop ecx
pop ecx
cmp dword [ebp - 0x6c], ebx
jne 0x10006e67
dec dword [ebp - 0x14]
jmp 0x10006e03
cmp dword [ebp - 0x1c], 0x2a5a
jge 0x10006e7b
push str.wgep_trsib_edg_ncjsayv_bepxxa_sffuecdhd_xpqtj_rybyhn_enxw_qyubfe
call fcn.10048abc
pop ecx
push 0x30b5
push ebx
mov byte [ebp - 0x41], bl
lea edx, [ebp - 0x41]
push 0x6267
mov cl, 1
call fcn.100039c7
mov cl, byte [ebp - 0x25]
add esp, 0xc
mov dl, 0x61
call fcn.1000e681
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x54], 0x7c04
mov dword [ebp - 0x5c], 0xe28fdeb7
mov dword [ebp - 0x50], 0xcfce2949
mov dword [ebp - 0x38], 1
push esi
call fcn.1000c44b
push ebx
push 0xb
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], esi
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x64], 0xef6e88f3
push eax
call fcn.10007aa9
add esp, 0x10
mov dword [ebp - 0x40], ebx
jmp 0x100070e2
mov dword [ebp - 0x14], 0xd15d
mov dword [ebp - 0x2c], 0x1d0d
cmp dword [ebp - 0x2c], 0x1f4e
jle 0x10006fa9
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x1c], 0x6fc9
mov dword [ebp - 0x10], eax
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov ecx, edi
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, ebx
shl edi, cl
mov eax, edi
lea ecx, [ebp - 0x104]
xor eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006f56
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.1000c80a
inc esi
cmp esi, 0x16bd
jl 0x10006f3a
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x3f89
jl 0x10006f2f
mov esi, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
jne 0x10006f2a
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x6018
jl 0x10006f1e
call dword [sym.imp.GDI32.dll_GdiFlush]
mov dword [ebp - 0x30], 0xe8e1b881
cmp dword [ebp - 0x2c], 0x1a3e
jge 0x10006fc4
push str.gorpgxs_lyy_vyja_gwudkn_kneiscys_rasti_sycns_pvpl_daniqshr_wmeqyny
call fcn.10048abc
pop ecx
mov dword [ebp - 0x24], 0x3f23
mov dword [ebp - 0x18], 0x185a
cmp dword [ebp - 0x18], 0x1b78
jle 0x10007029
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x134]
or eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006ffb
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.1000c80a
inc edi
cmp edi, 0x8eb
jl 0x10006fdf
inc esi
cmp esi, 0x1b1f
jl 0x10006fdd
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov dword [ebp - 0x30], 1
cmp dword [ebp - 0x18], 0x1526
jge 0x10007044
push str.rhhjdh_bromk_vdrtuj_tddw_uqwt_ksryu_qwoiixtm_dxypeph_wtdhm_uvmky_mkjv_hgiiuxda_rwvx_hhc
call fcn.10048abc
pop ecx
mov dword [ebp - 0x10], ebx
jmp 0x10007057
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x80], 0xd9bacc5d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10007049
mov eax, dword [ebp - 0x38]
xor edx, edx
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
add eax, 0xf4a0
mov esi, dword [ebp - 0x50]
imul ecx, eax
sub esi, ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, esi
setge al
xor edx, edx
mov dword [ebp - 0x7c], eax
inc edx
mov dword [ebp - 0x7c], 0xc4f3
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x74]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x15
jle 0x10006f00
push ecx
push 1
push ecx
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x54]
call fcn.10005ff5
add esp, 0x20
lea ecx, [ebp - 0x98]
call fcn.1000c4ce
mov ecx, dword [ebp + 0xc]
mov al, byte [ebp - 0x25]
mov byte [ecx], al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret