Function at 0x401a00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3214
call fcn.0040a0d0
mov eax, dword [0x41007c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x1000
mov edi, ecx
push ebx
push 0x411b78
mov dword [ebp - 0x3214], edi
mov dword [0x411b70], ebx
call fcn.004085c0
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
add esp, 0xc
push 0x1000
lea eax, [ebp - 0x120c]
push eax
push 0x3eb
push edi
call esi
cmp byte [ebp - 0x120c], bl
jne 0x401a9d
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push ebx
lea edx, [ebp - 0x20c]
push edx
push 0x40e35c
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403221
mov esp, ebp
pop ebp
ret
push 0x10
lea eax, [ebp - 0x120c]
push ebx
push eax
mov byte [0x411b78], 2
call fcn.00403a38
add esp, 0xc
push 0x1000
lea ecx, [ebp - 0x120c]
push ecx
push 0x3ed
push edi
mov byte [0x411b79], al
call esi
push 0x103
lea edx, [ebp - 0x107]
push ebx
push edx
lea esi, [ebp - 0x120c]
mov dword [ebp - 0x3210], 0x411b7e
mov byte [ebp - 0x108], bl
call fcn.004085c0
mov eax, dword [0x411b70]
add esp, 0xc
cmp byte [ebp - 0x120c], bl
je 0x401b7b
mov cl, byte [esi]
cmp cl, 0x30
jl 0x401b75
cmp cl, 0x46
jg 0x401b75
cmp cl, 0x39
jle 0x401b1d
cmp cl, 0x41
jl 0x401b75
mov edx, ebx
and edx, 0x80000001
jns 0x401b2c
dec edx
or edx, 0xfffffffe
inc edx
inc ebx
mov byte [ebp + edx - 0x108], cl
mov ecx, ebx
inc esi
and ecx, 0x80000001
jns 0x401b44
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x401b76
push 0x10
lea edx, [ebp - 0x108]
push 0
push edx
call fcn.00403a38
mov ecx, dword [ebp - 0x3210]
mov byte [ecx], al
mov eax, dword [0x411b70]
inc ecx
add esp, 0xc
inc eax
mov dword [ebp - 0x3210], ecx
mov dword [0x411b70], eax
jmp 0x401b76
inc esi
cmp byte [esi], 0
jne 0x401b07
mov ecx, eax
shl ecx, 0x10
mov edx, eax
and edx, 0xff00
add ecx, edx
mov edx, eax
shr edx, 8
and edx, 0xff00
shl ecx, 8
add ecx, edx
mov edx, eax
shr edx, 0x18
add ecx, edx
push eax
push str._08X
lea edx, [ebp - 0x108]
mov dword [0x411b7a], ecx
call fcn.004023a0
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
add esp, 8
lea eax, [ebp - 0x108]
push eax
push 0x3ec
push edi
call esi
mov ecx, dword [0x411b70]
add ecx, 5
xor bl, bl
xor eax, eax
test ecx, ecx
jle 0x401bec
xor bl, byte [eax + 0x411b79]
inc eax
cmp eax, ecx
jl 0x401be1
movzx ecx, bl
push ecx
push str._02X
lea edx, [ebp - 0x108]
call fcn.004023a0
add esp, 8
lea edx, [ebp - 0x108]
push edx
push 0x3ee
push edi
call esi
mov edi, dword [0x411b70]
push 0x1fff
lea eax, [ebp - 0x320b]
push 0
mov byte [edi + 0x411b7e], bl
push eax
add edi, 7
mov byte [ebp - 0x320c], 0
call fcn.004085c0
add esp, 0xc
xor esi, esi
lea ebx, [ebp - 0x320c]
test edi, edi
jle 0x401c73
lea ebx, [ebx]
movzx ecx, byte [esi + 0x411b78]
push ecx
push 0x40e264
push 0x104
push ebx
call fcn.0040336b
inc esi
add esp, 0x10
add ebx, 3
cmp esi, edi
jl 0x401c50
mov eax, dword [ebp - 0x3214]
lea edx, [ebp - 0x320c]
push edx
push 0x3f2
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403221
mov esp, ebp
pop ebp
ret