Function at 0x10041fd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005f099
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
cmp byte [ebp + 0x24], 0
push ebx
push esi
push edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], ecx
je 0x100429dc
cmp byte [ebp + 8], 0
je 0x100429d2
push 0x2062
xor dl, dl
mov ecx, 0x26cb
call fcn.10042ad5
xor ebx, ebx
mov dword [esp + 0xb0], 7
xor eax, eax
mov dword [esp + 0xac], ebx
pop ecx
mov word [esp + 0x98], ax
mov dword [esp + 0x11c], ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0x10], 0xc207
mov dword [esp + 0x18], 9
mov dword [esp + 0x24], 0x9eb818f8
mov dword [esp + 0x14], 0x2fc53d8b
mov dword [esp + 0x1c], 0x14648a57
mov dword [esp + 0x28], 0x7228
mov dword [esp + 0x20], 0x446f9416
push 4
call fcn.1000c44b
mov byte [esp + 0x11c], 1
mov dword [esp + 0xc], 0x2195
cmp dword [esp + 0xc], 0x23aa
jle 0x100420ce
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10075b78
or eax, esi
cdq
push edx
push eax
call fcn.1000c233
inc edi
cmp edi, 0x4d4d
jl 0x100420ab
inc esi
cmp esi, 0x527a
jl 0x100420a9
cmp dword [esp + 0xc], 0x1e54
jge 0x100420e7
mov edx, str.pycrgp_lvpty_leb_ggqkwddm_vwirbnj_cwelug_tryioqtu_mhoivc_fot_cdf
mov ecx, 0x10075b78
call fcn.1000e4aa
mov dword [esp + 0xc], ebx
jmp 0x10042103
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0x28e8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x100420ed
mov ecx, dword [esp + 0x18]
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
dec dword [esp + 0x10]
cmp ecx, eax
jle 0x10042124
xor eax, eax
inc eax
jmp 0x10042126
mov eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jle 0x10042140
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
cmp eax, 0x5659
mov eax, dword [esp + 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp eax, 1
setg cl
cmp ecx, dword [esp + 0x28]
je 0x1004237e
push 2
lea ecx, [esp + 0x84]
call fcn.1000c44b
mov byte [esp + 0x11c], 2
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x10], 0x5dd1
cmp dword [esp + 0x10], 0x5f17
jle 0x10042261
mov edi, ebx
mov dword [esp + 0x24], ebx
mov esi, ebx
mov dword [esp + 0x1c], ebx
mov ecx, esi
mov dword [esp + 0xc], ebx
mov esi, edi
mov dword [esp + 0x14], edi
sar esi, cl
mov edi, ebx
mov ebx, dword [esp + 0xc]
mov eax, edi
mov ecx, 0x10075b78
xor eax, ebx
or eax, esi
cdq
push edx
push eax
call fcn.1000c233
inc edi
cmp edi, 0x5250
jl 0x10042213
inc ebx
push 0
mov dword [esp + 0x10], ebx
cmp ebx, 0x150a
pop ebx
jl 0x1004220d
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x5826
jl 0x100421ff
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0xd2b
jl 0x100421f9
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x10], 0x5c5d
jge 0x1004227e
mov edx, str.ckv_smkn_sfhhfbgyk_eetgwcm_fcey_dspocqmwk_qlhoq_gciqhodfb_axfeb_nffbgghy_suhiqf
mov ecx, 0x10075b78
call fcn.1000e4aa
mov dword [esp + 0x10], ebx
jmp 0x10042294
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c], 2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10042284
mov dword [esp + 0x10], ebx
jmp 0x100422b7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x6ef5427e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100422a1
mov dword [esp + 0x1c], ebx
jmp 0x100422d2
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x2c], ebx
jne 0x100422d8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x100422c4
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
cmp eax, ecx
mov eax, dword [esp + 0x80]
setl dl
mov dword [eax + 4], edx
xor eax, eax
cmp edx, 0xd81
sete al
xor edx, edx
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [esp + 0x20]
cmp edx, eax
setl cl
add ecx, dword [esp + 0x2c]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
sub ecx, 0xdfe9
neg ecx
sbb ecx, ecx
add eax, 0xd2166a3c
inc ecx
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x2c]
imul ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, eax
mov eax, dword [esp + 0x2c]
sete dl
cmp edx, 1
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x80]
call fcn.1000c4ce
jmp 0x1004244c
mov dword [esp + 0x1c], 0xc9c
cmp dword [esp + 0x1c], 0xf44
jle 0x100423fb
mov dword [esp + 0xc], ebx
mov esi, ebx
mov dword [esp + 0x28], ebx
mov edi, ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0x4497
mov ecx, esi
mov eax, ebx
shl eax, cl
mov ecx, 0x10075b78
cdq
push edx
push eax
call fcn.1000c233
add esi, edi
dec dword [esp + 0x20]
jne 0x100423ac
mov esi, dword [esp + 0x28]
inc edi
cmp edi, 0x6393
jl 0x100423a0
inc esi
mov dword [esp + 0x28], esi
push 0
pop ebx
cmp esi, 0x74e5
jl 0x1004239a
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, 0x37f1
jl 0x10042394
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
call fcn.10044ef3
cmp dword [esp + 0x1c], 0x924
jge 0x10042419
mov edx, str.axs_awc_hdybbpur_utmuqbf_xgsmwyxuc_fpw_uimlhxxyr_gjmei_ivpd_ourby_mudagqukb_irwj_sgbdxytnl
mov ecx, 0x10075b78
call fcn.1000e4aa
mov dword [esp + 0x10], ebx
jmp 0x10042445
push 0x6703
push 0x184c
push 1
push 1
push 0x4354
xor dl, dl
mov ecx, 0x509e
call fcn.10042d63
add esp, 0x14
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x1004241f
lea ecx, [esp + 0xd4]
mov byte [esp + 0x11c], bl
call fcn.1000c4ce
push 0x5f09
lea eax, [esp + 0x9c]
push eax
push 0x189d
lea eax, [esp + 0x5c]
push eax
push ebx
call fcn.10043f82
mov eax, dword [0x10076c80]
add esp, 0x14
test al, 1
jne 0x100424b5
or eax, 1
mov dword [0x10076c80], eax
push 0x2295
mov byte [esp + 0x120], 3
call fcn.1001f7b2
mov word [0x1007f398], ax
mov byte [esp + 0x120], bl
mov eax, dword [0x10076c80]
pop ecx
test al, 2
jne 0x100424e1
or eax, 2
mov dword [0x10076c80], eax
push 0x4bb2
mov byte [esp + 0x120], 4
call fcn.1001f7b2
pop ecx
mov word [0x1007f39c], ax
mov byte [esp + 0x11c], bl
mov dword [esp + 0x20], 0x2b85
cmp dword [esp + 0x20], 0x2d45
jle 0x1004253c
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [esp + 0xe0]
xor eax, esi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042514
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [esp + 0xe8]
call fcn.1000c80a
inc edi
cmp edi, 0x2108
jl 0x100424f7
inc esi
cmp esi, 0x77dd
jl 0x100424f5
cmp dword [esp + 0x20], 0x28f9
jge 0x10042551
push str.psxx_gig_bdyjdpixo_yhfxoa_bcaillng_telib_xjhhhs_upowqx
call fcn.10048abc
pop ecx
push 2
mov dword [esp + 0x3c], 8
lea ecx, [esp + 0x90]
pop eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], 0x7c04
mov dword [esp + 0x40], 0xe28fdeb7
mov dword [esp + 0x48], 0xcfce2949
mov dword [esp + 0x14], 1
push eax
call fcn.1000c44b
lea eax, [esp + 0xc0]
mov byte [esp + 0x11c], 5
push eax
lea eax, [esp + 0x90]
mov dword [esp + 0x64], 0xef6e88f3
push eax
push ecx
push ecx
push 0x135b
mov dl, 1
mov ecx, 0x31c4
call fcn.100449e3
add esp, 0x14
mov dword [esp + 0x38], ebx
jmp 0x100426a9
mov dword [esp + 0x24], 0xd15d
mov dword [esp + 0x20], 0xe8e1b881
mov dword [esp + 0x1c], 0x3f23
mov dword [esp + 0x20], 1
mov dword [esp + 0xc], ebx
jmp 0x10042602
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x70], 0xd9bacc5d
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x100425f2
mov eax, dword [esp + 0x14]
xor edx, edx
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
add eax, 0xf4a0
mov esi, dword [esp + 0x48]
imul ecx, eax
sub esi, ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, esi
setge al
xor edx, edx
mov dword [esp + 0x74], eax
inc edx
mov dword [esp + 0x74], 0xc4f3
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
sub edx, eax
mov eax, dword [esp + 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x7c]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x4c], eax
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 0x15
jle 0x100425cc
push 1
lea eax, [esp + 0x64]
push eax
push ecx
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
push 0x18ef
lea edx, [esp + 0x64]
lea ecx, [esp + 0xac]
call fcn.10043df9
add esp, 0x20
mov byte [esp + 0x11c], bl
lea ecx, [esp + 0x8c]
call fcn.1000c4ce
mov esi, dword [esp + 0x50]
test esi, esi
jmp 0x100428bc
push 3
lea ecx, [esp + 0xc8]
call fcn.1000c44b
mov byte [esp + 0x11c], 6
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x14], 9
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x14], 0x714a
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], 0x26a7
cmp dword [esp + 0x28], 0x2855
jle 0x100427ab
mov edi, ebx
mov dword [esp + 0x20], ebx
mov esi, ebx
mov ecx, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebx
sar edi, cl
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10075b78
cdq
push edx
push eax
call fcn.1000c233
inc ebx
cmp ebx, 0x67a0
jl 0x1004276e
mov edi, dword [esp + 0x20]
inc esi
push 0
pop ebx
cmp esi, 0x2aa2
jl 0x10042762
inc edi
mov dword [esp + 0x20], edi
cmp edi, 0x7afc
jl 0x10042760
mov esi, dword [esp + 0xc]
mov dword [esp + 0x14], 0x7867a7bf
cmp dword [esp + 0x28], 0x2585
jge 0x100427cc
mov edx, str.fiitrkgwq_yipwtmgl_fwlltrphm_ypjemhhd_nlmvhrxc_cxog_tumuac
mov ecx, 0x10075b78
call fcn.1000e4aa
lea eax, [esp + 0xc4]
mov dword [esp + 0x5c], 0xd9e96bb6
push eax
lea edx, [esp + 0x40]
call fcn.100449c1
pop ecx
mov dword [esp + 0x3c], ebx
jmp 0x100427ff
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0xd0], 0x67fa5c62
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 1
jl 0x100427ec
push ebx
push 0x6c5f
push ebx
push 0x7f91
push 0x5620
push 0x61ef
push 0x5cb7
push 1
mov edx, 0x6f51
mov ecx, 0x207b
call fcn.10041fd0
push 1
push 0xfe8
push 1
push 0x1093
lea eax, [esp + 0x8c]
mov edx, 0x7b42
push eax
push 0x47fe
push 0x4aae
push ebx
mov ecx, 0x23fd
call fcn.10041fd0
add esp, 0x40
mov byte [esp + 0x11c], bl
lea ecx, [esp + 0xc4]
call fcn.1000c4ce
call fcn.10043224
push 0x34
pop ecx
xor edx, edx
div ecx
push ebx
lea eax, [esp + 0x58]
mov dword [esp + 0x58], edx
push eax
push 1
push 0x1007f39c
push 0x468e
push 0x1007f398
lea eax, [esp + 0xb0]
mov edx, 0x3ea
push eax
push 1
mov ecx, 0x6009
call fcn.10041fd0
add esp, 0x20
dec esi
mov dword [esp + 0xc], esi
jne 0x10042706
mov dword [esp + 0x18], 1
mov dword [esp + 0x34], 0x2f34111d
mov dword [esp + 0x18], ebx
jmp 0x10042944
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], ebx
jmp 0x100428fa
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x64], 2
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x100428ea
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jne 0x1004290f
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x64], ebx
je 0x10042929
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x34]
mov eax, dword [esp + 0x18]
call fcn.10044f18
cmp dword [esp + 0x68], ebx
jne 0x1004294b
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff2
je 0x100428dc
push 1
push ebx
push 1
mov edx, 0xba7
mov ecx, 0x62ed
call fcn.100432c2
mov dword [esp + 0x20], 0x67a2
add esp, 0xc
cmp dword [esp + 0x14], 0x67df
jle 0x100429a4
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x10075b78
cdq
push edx
push eax
call fcn.1000c233
inc edi
cmp edi, 0x11ad
jl 0x10042978
inc esi
cmp esi, 0x4b14
jl 0x10042976
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_EnumFontsA]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x100429be
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1000c84e
push ebx
push 1
lea ecx, [esp + 0xa0]
call fcn.1000ca18
jmp 0x10042ac0
mov eax, dword [ebp + 0x14]
inc dword [eax]
jmp 0x10042ac0
cmp byte [ebp + 0x1c], 0
je 0x10042aac
mov dword [esp + 0xc], 0x58f3
cmp dword [esp + 0xc], 0x5b51
jle 0x10042a69
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], 0x1a2b
mov esi, dword [esp + 0x34]
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [esp + 0xf8]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042a2f
mov eax, dword [eax]
push eax
call fcn.10048abc
pop ecx
push ebx
push 1
lea ecx, [esp + 0x100]
call fcn.1000c80a
inc edi
cmp edi, 0x1483
jl 0x10042a10
mov esi, dword [esp + 0x28]
add dword [esp + 0x34], esi
dec dword [esp + 0x20]
jne 0x10042a0a
inc esi
mov dword [esp + 0x28], esi
cmp esi, 0x6794
jl 0x100429fe
cmp dword [esp + 0xc], 0x5753
jge 0x10042a7e
push str.vwdysgeh_bckirklew_utnk_arw_nvtevwmw_bibqbsqc
call fcn.10048abc
pop ecx
mov eax, dword [ebp + 0x20]
push 0x1a
pop esi
mov ecx, dword [eax]
cmp ecx, esi
jge 0x10042a94
mov eax, dword [ebp + 0x10]
movzx edx, word [eax]
add edx, ecx
jmp 0x10042aa1
mov eax, ecx
cdq
idiv esi
mov eax, dword [ebp + 0x18]
movzx eax, word [eax]
add edx, eax
mov ecx, dword [ebp + 0xc]
push edx
call fcn.1000c3d0
jmp 0x10042ac0
xor ebx, ebx
mov byte [esp + 0x33], bl
cmp byte [esp + 0x33], bl
je 0x10042ac0
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ecx, dword [esp + 0x114]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret