Function at 0x409422
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
xor edx, edx
push esi
push edi
xor edi, edi
push 3
inc edi
pop ecx
mov dword [0x4196e8], edi
call fcn.004130af
push 6
xor edx, edx
pop ecx
call fcn.004130af
mov eax, dword [0x419730]
xor esi, esi
mov ecx, dword [0x4196a0]
test eax, eax
je 0x40948a
mov edx, dword [ecx + esi*4]
test edx, edx
je 0x409485
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x4196a0]
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x4196a0]
mov eax, dword [0x419730]
and dword [ecx + esi*4], 0
inc esi
cmp esi, eax
jb 0x409458
call fcn.0040689e
and dword [0x4196a0], 0
mov edx, edi
push 3
pop ecx
call fcn.004130af
push 5
mov edx, edi
pop ecx
call fcn.004130af
push 6
mov edx, edi
pop ecx
call fcn.004130af
mov byte [ebp - 0x22], 0x59
xor ecx, ecx
mov byte [ebp - 0x21], 6
mov byte [ebp - 0x20], 0x69
mov byte [ebp - 0x1f], 6
mov byte [ebp - 0x1e], 0x67
mov byte [ebp - 0x1d], 6
mov byte [ebp - 0x1c], 0x74
mov byte [ebp - 0x1b], 6
mov byte [ebp - 0x1a], 0x74
mov byte [ebp - 0x19], 6
mov byte [ebp - 0x18], 0x6f
mov byte [ebp - 0x17], 6
mov byte [ebp - 0x16], 0x74
mov byte [ebp - 0x15], 6
mov byte [ebp - 0x14], 0x6d
mov byte [ebp - 0x13], 6
mov byte [ebp - 0x12], 6
mov byte [ebp - 0x11], cl
mov al, byte [ebp - 0x22]
pop edi
mov eax, ecx
pop esi
sub byte [ebp + eax - 0x22], 6
inc eax
cmp eax, 0x11
jb 0x409504
cmp dword [0x41955c], ecx
je 0x40956e
mov byte [ebp - 0x10], 0x76
mov byte [ebp - 0xf], 3
mov byte [ebp - 0xe], 0x77
mov byte [ebp - 0xd], 3
mov byte [ebp - 0xc], 0x72
mov byte [ebp - 0xb], 3
mov byte [ebp - 0xa], 0x73
mov byte [ebp - 9], 3
mov byte [ebp - 8], 0x73
mov byte [ebp - 7], 3
mov byte [ebp - 6], 0x68
mov byte [ebp - 5], 3
mov byte [ebp - 4], 0x67
mov byte [ebp - 3], 3
mov byte [ebp - 2], 3
mov byte [ebp - 1], cl
mov al, byte [ebp - 0x10]
mov eax, ecx
sub byte [ebp + eax - 0x10], 3
inc eax
cmp eax, 0xf
jb 0x40955b
lea eax, [ebp - 0x10]
jmp 0x40962f
mov dword [ebp - 0x3c], 0x16
mov edx, ecx
mov eax, dword [ebp - 0x3c]
xor al, 0x66
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x3c]
inc al
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x3c]
add al, 2
xor al, 0x69
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 0x3c]
add al, 3
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x3c]
add al, 4
xor al, 0x6e
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x3c]
add al, 5
mov byte [ebp - 0x33], al
mov eax, dword [ebp - 0x3c]
add al, 6
xor al, 0x69
mov byte [ebp - 0x32], al
mov eax, dword [ebp - 0x3c]
add al, 7
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x3c]
add al, 8
xor al, 0x73
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x3c]
add al, 9
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x3c]
add al, 0xa
xor al, 0x68
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x3c]
add al, 0xb
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x3c]
add al, 0xc
xor al, 0x65
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x3c]
add al, 0xd
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x3c]
add al, 0xe
xor al, 0x64
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x3c]
add al, 0xf
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x3c]
add al, 0x10
mov byte [ebp - 0x27], cl
mov byte [ebp - 0x28], al
mov al, byte [ebp - 0x38]
mov al, byte [ebp + edx - 0x38]
mov ecx, dword [ebp - 0x3c]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x38], cl
inc edx
cmp edx, 0x11
jb 0x409613
mov byte [ebp - 0x27], 0
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x22]
push ecx
push eax
call fcn.0041321e
and dword [0x4196e8], 0
xor eax, eax
pop ecx
pop ecx
leave
ret 4