Function at 0x424330
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x5c
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push esi
push edi
mov edi, dword [esp + 0x68]
push eax
push ecx
push edx
push edi
call fcn.00422d50
add esp, 0x10
test al, al
je 0x42465f
lea eax, [esp + 0x10]
lea ecx, [esp + 8]
push eax
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
push 0x4d0e
push 0xcef
push edi
push 0
push 0x2c
mov dword [esp + 0x8c], 0xc2
call fcn.004277c0
mov eax, dword [esp + 0x2c]
add esp, 0x24
test eax, eax
jne 0x42465f
lea ecx, [esp + 0x10]
lea edx, [esp + 8]
push ecx
lea eax, [esp + 0x10]
mov esi, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
push 0x4d0e
push 0xcef
push edi
push 0
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x8c]
add esp, 0x24
test eax, eax
jne 0x42465f
lea edx, [esp + 0x24]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], edx
lea ecx, [esp + 8]
push eax
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
push 0x4d0e
push 0xcef
push edi
push 0
push 0x34
mov byte [esp + 0x48], 0
mov dword [esp + 0x8c], 0xc4
mov dword [esp + 0x30], esi
call fcn.004277c0
mov eax, dword [esp + 0x2c]
add esp, 0x24
test eax, eax
jne 0x42465f
lea ecx, [esp + 0x10]
lea edx, [esp + 8]
push ecx
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
push 0x4d0e
push 0xcef
push edi
push 0
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x8c]
add esp, 0x24
test eax, eax
jne 0x42465f
xor eax, eax
test esi, esi
jle 0x424485
mov cl, byte [esp + 0x18]
mov dl, byte [esp + 0x1c]
add cl, dl
mov dl, byte [esp + eax + 0x24]
xor dl, cl
mov byte [esp + eax + 0x24], dl
inc eax
cmp eax, esi
jl 0x424476
lea edx, [esp + 0x44]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], edx
lea ecx, [esp + 8]
push eax
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
push 0x4d0e
push 0xcef
push edi
push 0
push 0x34
mov byte [esp + 0x68], 0
mov dword [esp + 0x8c], 0xcf
mov dword [esp + 0x30], esi
call fcn.004277c0
mov eax, dword [esp + 0x2c]
add esp, 0x24
test eax, eax
jne 0x42465f
lea ecx, [esp + 0x10]
lea edx, [esp + 8]
push ecx
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
push 0x4d0e
push 0xcef
push edi
push 0
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0x8c]
add esp, 0x24
test eax, eax
jne 0x42465f
xor eax, eax
test esi, esi
jle 0x424531
mov cl, byte [esp + 0x20]
mov dl, byte [esp + 0x18]
add cl, dl
mov dl, byte [esp + eax + 0x44]
xor dl, cl
mov byte [esp + eax + 0x44], dl
inc eax
cmp eax, esi
jl 0x424522
mov esi, dword [sym.imp.MSVCRT.dll_strtol]
lea edx, [esp + 0x14]
push 0x10
lea eax, [esp + 0x28]
push edx
push eax
call esi
mov ecx, eax
mov eax, 0xec2a6fa1
imul ecx
add edx, ecx
mov eax, 0x6d0b8037
sar edx, 0xa
mov ecx, edx
push 0x10
shr ecx, 0x1f
add edx, ecx
lea ecx, [esp + 0x24]
imul edx
sar edx, 8
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov edi, edx
lea edx, [esp + 0x38]
push edx
imul edi, edi, 0xa2de6
call esi
add esp, 0x18
cmp edi, eax
je 0x42458c
xor edi, edi
jmp 0x4245c5
lea eax, [esp + 0x14]
push 0x10
lea ecx, [esp + 0x28]
push eax
push ecx
call esi
mov ecx, eax
mov eax, 0xec2a6fa1
imul ecx
add edx, ecx
add esp, 0xc
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x6d0b8037
imul edx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov edi, edx
push ebp
lea edx, [esp + 0x18]
push 0x10
lea eax, [esp + 0x4c]
push edx
push eax
call esi
mov ecx, eax
mov eax, 0xec2a6fa1
imul ecx
add edx, ecx
mov eax, 0x6d0b8037
sar edx, 0xa
mov ecx, edx
push 0x10
shr ecx, 0x1f
add edx, ecx
lea ecx, [esp + 0x28]
imul edx
sar edx, 8
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov ebp, edx
lea edx, [esp + 0x5c]
push edx
imul ebp, ebp, 0xa2de6
call esi
add esp, 0x18
cmp ebp, eax
pop ebp
je 0x42461c
xor edx, edx
jmp 0x424653
lea eax, [esp + 0x14]
push 0x10
lea ecx, [esp + 0x48]
push eax
push ecx
call esi
mov ecx, eax
mov eax, 0xec2a6fa1
imul ecx
add edx, ecx
add esp, 0xc
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x6d0b8037
imul edx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edi, edx
jne 0x42465f
mov eax, edi
pop edi
pop esi
add esp, 0x5c
ret
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x5c
ret