Function at 0x423850
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x7c
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
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 0x423880
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
mov ecx, dword [esp + 0x94]
push edi
imul ecx, ecx, 0xa47b9
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 0x4238cf
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 0x4238c0
xor ebx, ebx
xor eax, eax
cmp esi, ebx
mov byte [esp + esi + 0x48], bl
jle 0x4238f0
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 0x4238e1
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], 0xda
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x42393e
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 0x423979
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], 0xdc
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x4239c8
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 0x423a03
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], 0xe7
mov dword [esp + 0x38], esi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423a52
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 0x423a8d
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], 0x48
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423adb
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 0x423b16
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], 0x49
mov dword [esp + 0x38], 0xffff
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
cmp eax, ebx
je 0x423b61
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