Function at 0x100076dc
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005aeb5
call fcn.1005a768
sub esp, 0x34
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x10], esp
xor edi, edi
mov dword [ebp - 0x24], edx
cmp byte [ebp + 0x30], 0
mov dword [ebp - 0x20], ebx
je 0x10007797
mov dword [ebp - 0x14], 0xdf4
cmp dword [ebp - 0x14], 0xe2a
jle 0x10007755
mov esi, edi
mov ebx, edi
mov dword [ebp - 0x1c], edi
mov ecx, edi
mov eax, ebx
shl eax, cl
mov ecx, 0x10075b18
xor eax, esi
cdq
push edx
push eax
call fcn.10001b85
inc edi
cmp edi, 0x2491
jl 0x1000771a
inc ebx
push 0
pop edi
cmp ebx, 0x3969
jl 0x10007717
inc esi
cmp esi, 0x5084
jl 0x10007715
push edi
push edi
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
inc dword [eax + 8]
mov dword [ebp - 4], edi
cmp dword [ebp - 0x14], 0xcb4
jge 0x10007778
mov edx, str.pjun_fadgligz_qetbxmc_ptdnbjn_iwyrbtc_vnf_xtfncx_czatoi_qytkw_ito_zyexb
mov ecx, 0x10075b18
call fcn.100036dc
jmp 0x100078c8
mov dword [ebp - 0x1c], 0xfe6
cmp dword [ebp - 0x1c], 0x1392
jle 0x10007821
push edi
push 0x1248
push edi
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov esi, edi
mov ebx, edi
mov eax, edi
mov dword [ebp - 0x14], edi
mov ecx, edi
mov dword [ebp - 0x18], edi
add eax, ecx
lea ecx, [ebp - 0x3c]
add eax, ebx
xor eax, esi
cdq
push edx
push eax
call fcn.10001a41
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100077dd
mov eax, dword [eax]
push eax
call fcn.100425d6
pop ecx
push edi
push 1
lea ecx, [ebp - 0x3c]
call fcn.10001f96
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x6b6d
jl 0x100077c2
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x19ec
jl 0x100077bd
inc ebx
cmp ebx, 0x2726
jl 0x100077b8
inc esi
cmp esi, 0x580f
jl 0x100077b6
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], 0xc95
jge 0x10007835
push str.tbpwbqgg_gnns_zrfwqjd_smehnlms_ezr_jwhoirrx_qbmeuv_zqlvxloy_colupn_owgucmg_pvzcsbe_tiqatumq_wqxonnae
call fcn.100425d6
pop ecx
mov esi, dword [ebp + 0x24]
xor ecx, ecx
mov edx, dword [ebp + 8]
mov eax, dword [esi]
mov edx, dword [edx]
sub edx, dword [eax + 0xc]
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
cmp edx, eax
mov eax, 0xb5cf0adc
setne cl
cmp eax, ecx
mov eax, dword [esi]
sbb ecx, ecx
inc ecx
cmp dword [eax + 0xc], ecx
jg 0x10007861
mov eax, dword [ebx]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov eax, dword [ebx]
mov eax, dword [ebx]
mov eax, dword [ebx]
mov ecx, dword [esi]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
cmp dword [ecx + 8], eax
je 0x10007880
cmp dword [edx], edi
jne 0x10007880
mov ecx, edi
jmp 0x10007883
xor ecx, ecx
inc ecx
mov eax, dword [ebp + 0x1c]
mov dword [esi], ecx
cmp ecx, dword [eax]
jg 0x10007890
cmp dword [ebx], edi
je 0x10007893
xor edi, edi
inc edi
mov eax, dword [edx]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov esi, dword [ecx]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [eax + 4], esi
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
cmp edi, eax
mov eax, dword [ebp + 0x24]
setg cl
xor edx, edx
cmp esi, ecx
mov eax, dword [eax]
setg dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp + 8]
setge cl
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret