Function at 0x4321bb
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov dword [ebp - 4], 0x591150
mov ebx, dword [ebp - 4]
push esi
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x432218
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, eax
xor eax, eax
mov dword [ebp - 4], eax
pop ecx
test esi, esi
je 0x43220f
sub edi, edx
lea ecx, [eax + edx]
and eax, 7
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebx + 0xf]
jb 0x4321f4
mov eax, dword [ebx + 0xf]
mov edi, edx
mov byte [edx + eax], 0
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 4], 0x591174
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [ebp - 0xc], eax
cmp byte [eax + 0x13], 0
je 0x432291
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
test esi, esi
je 0x432288
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [edx + 0xf]
jb 0x432264
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591174
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432304
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4322fb
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4322d7
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591198
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432377
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x43236e
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x43234a
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x5911bc
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x4323ea
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4323e1
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4323bd
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x5911e0
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x43245d
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x432454
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x432430
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591204
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x4324d0
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4324c7
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [ecx + edi]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4324a3
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591228
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432543
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x43253a
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x432516
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591248
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x4325b6
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4325ad
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x432589
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591268
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432629
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x432620
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4325fc
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x591288
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x43269c
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x432693
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x43266f
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x5912ac
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x43270f
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x432706
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4326e2
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x5912cc
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432782
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x432779
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x432755
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x5912f0
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x4327f5
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4327ec
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4327c8
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x59130c
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x432868
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x43285f
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x43283b
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
test eax, eax
jne 0x4328ed
mov dword [ebp - 0xc], 0x59132c
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0xc]
add edi, 0x14
mov dword [ebp - 4], eax
cmp byte [eax + 0x13], 0
je 0x4328d7
mov esi, dword [eax + 0xf]
lea eax, [esi + 1]
push eax
call fcn.00562163
mov edx, dword [ebp - 4]
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test esi, esi
je 0x4328ce
mov ebx, ecx
sub edi, ebx
lea ecx, [eax + ebx]
and eax, 7
mov al, byte [eax + edx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0xf]
jb 0x4328aa
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call ebx
pop edi
pop esi
pop ebx
test eax, eax
jne 0x4328ed
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esp, ebp
pop ebp
ret
call fcn.004328f3
int3