Function at 0x401df0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ecx], 0
push ebx
mov dword [ebp - 4], ecx
mov ebx, 0x974827b8
je 0x402c5e
push esi
push edi
nop dword [eax + eax]
push 0x4129c4
call fcn.00404650
push 0x4129c4
mov esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
mov edx, dword [ebp - 4]
add eax, esi
push 0x4129c4
mov cx, word [edx]
inc edx
add cx, ax
mov dword [ebp - 4], edx
movzx edi, cx
call fcn.00404650
push 0x4129c4
mov esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
add esp, 0x40
add esi, eax
push 0x4129c4
call fcn.00404650
add esi, eax
push 0x4129c4
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
push 0x4129c4
add esi, eax
call fcn.00404650
mov ecx, ebx
add esp, 0x24
ror ecx, 8
add ecx, esi
add ecx, eax
add ecx, edi
xor ebx, ecx
mov ecx, dword [ebp - 4]
cmp byte [ecx], 0
jne 0x401e10
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret