Function at 0x10049762
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
je 0x100499c7
mov dword [ebp - 0x14], 0x67ac
cmp dword [ebp - 0x14], 0x6854
push 0
pop esi
jle 0x10049806
mov dword [ebp - 0x10], esi
mov eax, esi
mov dword [ebp - 0xc], 0x147f
mov dword [ebp - 4], eax
mov ebx, esi
mov dword [ebp - 8], esi
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov ebx, eax
mov edi, esi
shl ebx, cl
mov eax, ebx
lea ecx, [ebp - 0x30]
xor eax, edi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100497c0
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push esi
push 1
lea ecx, [ebp - 0x30]
call fcn.1000d197
inc edi
cmp edi, 0x5587
jl 0x100497a7
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp - 8], ebx
cmp ebx, 0x2632
jl 0x1004979c
mov edi, dword [ebp - 0x10]
add eax, edi
dec dword [ebp - 0xc]
mov dword [ebp - 4], eax
jne 0x10049797
inc edi
mov dword [ebp - 0x10], edi
cmp edi, 0x89e
jl 0x1004978b
cmp dword [ebp - 0x14], 0x642d
jge 0x1004981a
push str.wyo_axo_xptdlvxac
call fcn.1004d87c
pop ecx
mov dword [ebp - 0x10], 0x31d8
cmp dword [ebp - 0x10], 0x32a9
jle 0x10049868
mov ebx, esi
mov edi, esi
mov dword [ebp - 0x14], esi
mov esi, edi
mov edi, 0x3bea
mov eax, esi
mov ecx, 0x1007bbb8
xor eax, ebx
cdq
push edx
push eax
call fcn.1000cbc0
dec esi
dec edi
jne 0x10049838
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x7058
jl 0x10049831
inc ebx
push 0
pop esi
cmp ebx, 0x3845
jl 0x1004982c
cmp dword [ebp - 0x10], 0x2f40
jge 0x10049880
mov edx, str.hcheb_aesqls_tkuaoflpd_bgryhsd_yin_kutminw_aluon_qjjxb_atw
mov ecx, 0x1007bbb8
call fcn.1000ee07
mov dword [ebp - 0x10], 0x2d7d
cmp dword [ebp - 0x10], 0x2ef2
jle 0x10049901
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, esi
mov ebx, esi
mov eax, esi
mov dword [ebp - 4], esi
mov ecx, esi
mov dword [ebp - 0x14], esi
add eax, ebx
shl eax, cl
lea ecx, [ebp - 0x48]
and eax, edi
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100498c0
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push esi
push 1
lea ecx, [ebp - 0x48]
call fcn.1000d197
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x2332
jl 0x100498a5
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x7157
jl 0x100498a0
inc ebx
cmp ebx, 0x6b7e
jl 0x1004989b
inc edi
cmp edi, 0x5353
jl 0x10049899
cmp dword [ebp - 0x10], 0x2c9b
jge 0x10049915
push str.jvd_achub_lovrpsjw_igej_lcvr_iyvvimex_svhavasx_nqfc
call fcn.1004d87c
pop ecx
mov edi, dword [ebp + 0x2c]
mov dword [edi], esi
jmp 0x100499bc
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x18], 0x73468807
mov dword [eax], 1
mov dword [ebp - 0x10], 0x73d5
cmp dword [ebp - 0x10], 0x7596
jle 0x1004999d
push esi
push esi
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
mov edi, esi
mov dword [ebp - 0x14], esi
mov ebx, esi
mov dword [ebp - 0x18], esi
mov ecx, ebx
mov esi, edi
mov edi, dword [ebp - 0x18]
shl esi, cl
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x1007bbb8
cdq
push edx
push eax
call fcn.1000cbc0
inc edi
cmp edi, 0x59d3
jl 0x1004995a
mov edi, dword [ebp - 0x14]
inc ebx
push 0
pop esi
cmp ebx, 0x7811
jl 0x1004994e
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x213b
jl 0x1004994c
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, dword [ebp + 0x2c]
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
cmp dword [ebp - 0x10], 0x716d
jge 0x100499ba
mov edx, str.gnwdnu_dxxeapfus_tqkifpkc_vagdkfnm_jgju_jnupuwxpg_rfttxlalu_nhff_injcso
mov ecx, 0x1007bbb8
call fcn.1000ee07
inc dword [edi]
cmp dword [edi], 2
jle 0x1004991f
jmp 0x100499da
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x100499da
xor esi, esi
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_InflateRect]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret