Function at 0x48f67b
Capabilities:
Accept command line arguments
Encode data using xor

Disassembly:
mov eax, 0x4bcd8b
call fcn.004bbda0
sub esp, 0xdc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], ecx
xor esi, esi
inc esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x6715f0ed
push 3
pop edi
push edi
lea ecx, [ebp - 0x5c]
call fcn.00406726
mov dword [ebp - 0x2c], 0x135443c7
mov dword [ebp - 0x2c], 0x8ff0
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x48f6d2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0xc3cbaa6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x48f6c2
mov dword [ebp - 0x14], ebx
jmp 0x48f6ed
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0x26771399
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x48f6dc
mov dword [ebp - 0x1c], 0x144a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setle cl
mov eax, dword [ebp - 0x18]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
push 2
cmp eax, dword [ebp - 0x18]
jne 0x48f769
mov dword [ebp - 0x28], 0x7e7308f4
mov dword [ebp - 0x24], 0xcff8ee1d
mov dword [ebp - 0x14], 0x2eb2fc25
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
xor edx, edx
test eax, eax
setle dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
pop edi
jmp 0x48f7e2
mov dword [ebp - 0x28], 0x6917
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], 0x1372625a
mov dword [ebp - 0x2c], 0x32d49acb
mov dword [ebp - 0x2c], 0xea8edf9
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
pop edi
jge 0x48f7a4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe8], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x48f791
mov dword [ebp - 0x1c], 0xa4127a8e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 0xffff732f
add eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x5c]
mov dword [eax + 4], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0x83475f54
lea ecx, [ebp - 0x5c]
call fcn.004067f8
mov dword [ebp - 0x18], ebx
push edi
lea ecx, [ebp - 0x74]
call fcn.00406726
mov dword [ebp - 0x14], ebx
jmp 0x48f807
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x48f7fb
mov dword [ebp - 0x14], ebx
jmp 0x48f81b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x48f811
mov byte [ebp - 0x1d], bl
mov dword [ebp - 0x1c], 0x1d33
cmp dword [ebp - 0x1c], 0x20bd
jle 0x48f869
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
mov ecx, ebx
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xace058
call fcn.004063d1
inc ebx
cmp ebx, 0x1089
jl 0x48f83e
inc esi
cmp esi, 0x7e2d
push 0
pop ebx
jl 0x48f83b
xor esi, esi
inc esi
cmp byte [ebp - 0x1d], 0
je 0x48f8ff
mov dword [ebp - 0x24], 0x416d
cmp dword [ebp - 0x24], 0x43a7
jle 0x48f8b1
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xace058
call fcn.004063d1
inc ebx
cmp ebx, 0x5d7f
jl 0x48f888
inc esi
cmp esi, 0x6b9f
push 0
pop ebx
jl 0x48f885
xor esi, esi
inc esi
push ebx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x400d
jge 0x48f8d3
mov edx, str.bop_oxgxawcrl_nvicoy_qzynzynor
mov ecx, 0xace058
call fcn.00409042
or dword [ebp - 4], 0xffffffff
jmp 0x48f8ff
mov dword [ebp - 4], edi
cmp dword [ebp - 0x1c], 0x1a02
jge 0x48f91a
mov edx, str.uzrawe_ipmlgj_sncct_rvdsyu_dntaee_nssbdow_dbhybcgp
mov ecx, 0xace058
call fcn.00409042
or dword [ebp - 4], 0xffffffff
jmp 0x48f946
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xed06
setle cl
imul eax, ecx, 5
sub eax, dword [ebp - 0x18]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 4], eax
setg dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xcecb4571
setne al
cmp eax, 0x34688073
jg 0x48f9a1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x48f9b7
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
jmp 0x48f9b7
mov dword [ebp - 0x28], 0x9ed8
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
add eax, 0xfffffffc
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x74]
call fcn.004067f8
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x28], 0xb27fa3df
mov dword [ebp - 0x1c], edi
jmp 0x48fa62
push esi
lea ecx, [ebp - 0x98]
call fcn.00406726
mov dword [ebp - 0x24], 0x6b42be19
mov dword [ebp - 0x28], 0x4ab653b1
mov dword [ebp - 0x14], ebx
jmp 0x48fa04
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x48f9f4
mov dword [ebp - 0x14], ebx
jmp 0x48fa1c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x48fa0e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub eax, ecx
jne 0x48fa3d
cmp dword [ebp - 0x1c], ebx
mov eax, ebx
je 0x48fa3f
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x98]
call fcn.004067f8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
jge 0x48f9d5
mov dword [ebp - 0x2c], 0x624039b6
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x48fa89
push ebx
push ebx
push 0x17c2
call dword [sym.imp.USER32.dll_InvalidateRect]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x48fa98
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
push 3
lea ecx, [ebp - 0x48]
call fcn.00406726
mov dword [ebp - 0x18], esi
push esi
lea ecx, [ebp - 0x80]
call fcn.00406726
mov dword [ebp - 0x14], ebx
jmp 0x48fac3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0x3342eb90
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x48fab3
mov dword [ebp - 0x14], ebx
jmp 0x48fadf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], 0x53072226
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x48face
mov dword [ebp - 0x18], 0xd38
cmp dword [ebp - 0x18], 0xf13
jle 0x48fb35
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, eax
mov ebx, 0x7260
mov eax, esi
cdq
push edx
push eax
mov ecx, 0xace058
call fcn.004063d1
dec esi
dec ebx
jne 0x48fb08
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x445b
jl 0x48fb01
push ebx
push 0x7d
call dword [sym.imp.GDI32.dll_SetTextColor]
xor esi, esi
inc esi
mov dword [ebp - 0x14], ebx
jmp 0x48fb4a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], 0x66c4779d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x48fb3a
mov dword [ebp - 4], 4
cmp dword [ebp - 0x18], 0xc59
jge 0x48fb6e
mov edx, str.njoupmeik_vqb_urppotfjs_vzka_rtyzlgvda_hreotmmfl_dchh_jdmcru_xbgzp_ntqwxpybj_yqsrbusm_npcrrap_jycvxj_xmxrmiiyf
mov ecx, 0xace058
call fcn.00409042
or dword [ebp - 4], 0xffffffff
jmp 0x48fb9a
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x48fd68
mov dword [ebp - 0x1c], 0x1a9565e0
mov dword [ebp - 0x14], 0x218e9934
mov dword [ebp - 0x2c], 0x8d7c584e
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0xa8], 0xfffffff7
mov dword [ebp - 0x1c], ebx
jmp 0x48fd53
push 3
lea ecx, [ebp - 0xa4]
call fcn.00406726
mov dword [ebp - 0x28], 0x3997b09b
mov dword [ebp - 0x14], 0x8f62c4df
mov dword [ebp - 0x14], ebx
jmp 0x48fc07
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x76c51653
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x48fbf4
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x24], eax
mov dword [eax + 8], edi
movdqa xmm0, xmmword [0xac2e70]
movdqu xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
push dword [ebp + 0x18]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd0]
push eax
push ebx
lea ecx, [ebp - 0x3c]
call fcn.004096b2
push esi
lea ecx, [ebp - 0x68]
call fcn.00406726
mov dword [ebp - 0x14], ebx
jmp 0x48fc6a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0x58331c58
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x48fc5a
mov eax, dword [ebp - 0x3c]
mov dword [eax], edi
mov dword [ebp - 0x28], 0x7b722ba7
mov dword [ebp - 0x14], 0xcd409884
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
dec dword [eax]
jns 0x48fc74
mov eax, dword [ebp - 0x80]
inc dword [eax]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov esi, dword [ebp - 0x48]
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0x28], ecx
push 0xfffffffffffffffa
pop eax
sub eax, ecx
xor ecx, ecx
cmp eax, dword [esi + edx*4]
setg cl
xor edx, edx
cmp ecx, dword [esi + edi*4]
setg dl
xor eax, eax
cmp edx, dword [ebp - 0x28]
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
push 0
pop eax
setl al
mov dword [ebp - 0x28], eax
xor ecx, ecx
cmp edx, 0x1af
setle cl
xor eax, eax
cmp dword [ebp - 0x28], ecx
setne al
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x68]
cmp ecx, dword [eax]
setl dl
mov eax, dword [ebp - 0x2c]
sub edx, eax
mov dword [ebp - 0x28], edx
lea ecx, [ebp - 0x68]
call fcn.004067f8
lea ecx, [ebp - 0x3c]
call fcn.004067f8
dec dword [edi + 8]
push 1
pop esi
push 2
pop edi
jns 0x48fc19
lea ecx, [ebp - 0xa4]
call fcn.004067f8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x48fbd4
dec dword [ebp - 0x18]
push 1
pop esi
jns 0x48fba6
lea ecx, [ebp - 0x80]
call fcn.004067f8
lea ecx, [ebp - 0x48]
call fcn.004067f8
mov dword [ebp - 0x14], 0x5540d7f8
xor edi, edi
inc edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0x21324561
push edi
lea ecx, [ebp - 0xb8]
call fcn.00406726
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], ebx
jmp 0x48fdb5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x48fda6
mov dword [ebp - 0x14], ebx
jmp 0x48fe70
mov dword [ebp - 0x1c], 0x13dce9d0
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x48fde5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc0], 0x21ec2184
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x48fdd4
mov dword [ebp - 0x1c], ebx
jmp 0x48fe60
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], 0x1ea66e58
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x69161d59
mov dword [ebp - 0x2c], 0x4c3f4f88
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x2c], edi
push 3
lea ecx, [ebp - 0x8c]
call fcn.00406726
mov dword [ebp - 0x18], ebx
jmp 0x48fe41
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0x992f1e5c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x48fe2e
inc dword [ebp - 0x24]
lea ecx, [ebp - 0x8c]
cmp dword [ebp - 0xc0], ebx
jne 0x48fe68
call fcn.004067f8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jl 0x48fdf0
jmp 0x48fe6d
call fcn.004067f8
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
je 0x48fdc2
mov dword [ebp - 0x18], ebx
jmp 0x48fe96
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x48fe93
push 0x1b69
call dword [sym.imp.USER32.dll_DrawMenuBar]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffa
jg 0x48fe7f
lea ecx, [ebp - 0xb8]
call fcn.004067f8
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
xor ecx, ecx
cmp eax, edi
setge cl
mov eax, dword [esi]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [esi]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret