Function at 0x53562c
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [ebp - 0x210]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a2d4a
jmp 0x53565c
mov ecx, dword [ebx + 4]
xor eax, eax
test ecx, ecx
je 0x472db9
jmp 0x472d90
jne 0x44ad51
mov esi, dword [esi + 0x124]
test esi, esi
je 0x406d55
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ecx + 0x22c]
test eax, eax
je 0x4766cf
cmp byte [eax + 0x14], 0
je 0x4766cf
cmp dword [ebx + 4], 0
je 0x4766cf
mov edx, dword [ebx + 8]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
push 0x4766b2
ret
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x208]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
jmp 0x4be160
jmp 0x41c4b8
mov eax, dword [ebx]
mov byte [edx], 0
cmp eax, 0x1000
jae 0x44ad28
mov dword [esi + 0x12c], eax
jmp 0x44ad3b
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x44ad2d
mov eax, dword [ebp - 0x21c]
mov dword [esi + 0x128], eax
mov byte [esi + 0x120], 1
lea ecx, [ecx]
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x120], 0
jmp 0x41c4b2
nop
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x18], 0
jne 0x44aea5
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x21c], eax
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x214], edi
test edi, edi
je 0x4766eb
jmp 0x44aedc
mov edi, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x20c]
mov ebx, dword [edi]
mov edx, dword [ecx + 0x248]
mov eax, dword [ebx + 4]
mov esi, dword [edx]
lea edx, [esi + 0x130]
test eax, eax
je 0x44ad0d
jmp 0x5383f6
lea edx, [eax + 1]
imul edx, edx, 0x2613
xor dx, word [eax*2 + 0x56b420]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 8
jl 0x472d90
push ecx
jmp 0x42d8c9
lea ecx, [eax + 1]
imul ecx, ecx, 0x2fe7
xor cx, word [eax*2 + 0x56b434]
jmp dword [0x472dd1]
mov edx, dword [ebx + 0xc]
mov dword [edx], esi
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x214], eax
test eax, eax
jne 0x44aed6
mov ebx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + 0x22c]
test eax, eax
je 0x406d39
cmp byte [eax + 0x14], 0
je 0x406d39
jmp dword [0x476713]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00507793
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov ecx, dword [ecx + 0x248]
mov esi, dword [ecx]
mov dword [ebp - 0x218], ebx
test eax, eax
jne 0x4a2d7b
mov dword [ebp - 0x21c], eax
jmp 0x44aec0
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax + 0x20], cl
inc eax
test cl, cl
jne 0x4a2d7f
mov byte [esi + 0x18], 1
jmp 0x44aea4
add esp, 0x10
push 0
push 0
lea ecx, [ebp - 0x108]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00507793
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [str.__fj]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0x1e0]
push ebx
push esi
push edi
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a2d50
mov eax, 1
pop edi
pop esi
pop ebx
jmp 0x4a2d3c
mov byte [edx], 0
cmp eax, 0x1000
jae 0x53840f
mov dword [esi + 0x12c], eax
jmp 0x53841f
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x538411
mov eax, dword [ebp - 0x21c]
mov dword [esi + 0x128], eax
mov byte [esi + 0x120], 1
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x120], 0
jne 0x538432
jmp 0x44ad08