Function at 0x423500
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x7c
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ebx
push ebp
mov ebp, dword [esp + 0x88]
push esi
push eax
push ecx
push edx
push ebp
call fcn.00422d50
add esp, 0x10
test al, al
jne 0x423530
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x94]
push edi
imul ecx, ecx, 0xa2de6
lea eax, [esp + 0x2c]
push 0x10
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__ltoa]
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov dl, byte [esp + 0x20]
pop edi
not ecx
dec ecx
mov esi, ecx
test esi, esi
jle 0x42357f
mov bl, byte [esp + 0x20]
mov cl, dl
add cl, bl
mov bl, byte [esp + eax + 0x28]
xor bl, cl
mov byte [esp + eax + 0x48], bl
inc eax
cmp eax, esi
jl 0x423570
xor ebx, ebx
xor eax, eax
cmp esi, ebx
mov byte [esp + esi + 0x48], bl
jle 0x4235a0
mov cl, byte [esp + 0x24]
add cl, dl
mov dl, byte [esp + eax + 0x28]
xor dl, cl
mov byte [esp + eax + 0x68], dl
inc eax
cmp eax, esi
jl 0x423591
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x2d
mov byte [esp + esi + 0x8c], bl
mov dword [esp + 0x30], 0xc2
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x4235ee
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x30]
add esp, 0x24
cmp eax, ebx
je 0x423629
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea edx, [esp + 0x48]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x35
mov dword [esp + 0x30], 0xc4
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423678
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x30]
add esp, 0x24
cmp eax, ebx
je 0x4236b3
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea edx, [esp + 0x68]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x35
mov dword [esp + 0x30], 0xcf
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423702
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x30]
add esp, 0x24
cmp eax, ebx
je 0x42373d
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x2d
mov dword [esp + 0x30], 0x46
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x42378b
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x30]
add esp, 0x24
cmp eax, ebx
je 0x4237c6
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea edx, [esp + 0x18]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x2d
mov dword [esp + 0x30], 0x47
mov dword [esp + 0x38], 0xffff
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423811
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x7c
ret
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push 0x4d0e
push 0xcef
push ebp
push ebx
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x30]
add esp, 0x24
cmp eax, ebx
pop esi
pop ebp
sete al
pop ebx
add esp, 0x7c
ret