Function at 0x4380e0
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x4db61b
mov eax, dword fs:[0]
push eax
mov eax, 0x134
call fcn.00468d20
mov eax, dword [0x5808f0]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5808f0]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x158]
xor eax, eax
mov ebx, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
xor esi, esi
xor edi, edi
mov byte [esp + 0x124], al
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov dword [esp + 0x12d], eax
mov word [esp + 0x131], ax
mov byte [esp + 0x133], al
mov byte [esp + 0x134], al
mov dword [esp + 0x135], eax
mov dword [esp + 0x139], eax
mov dword [esp + 0x13d], eax
mov word [esp + 0x141], ax
mov byte [esp + 0x143], al
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], vtable.dwcl::AES.0
lea ecx, [esp + 0x20]
mov dword [esp + 0x150], eax
call dword [vtable.dwcl::AES.0]
push eax
call fcn.004691cd
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x20]
call edx
mov ecx, dword [esp + 0x2c]
push eax
lea eax, [ebx + 0x48]
push eax
push ecx
call fcn.00468d50
mov edx, dword [ebx + 0x44]
add esp, 0xc
push edi
lea eax, [ebx + 0x24]
push edx
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], eax
call fcn.00401b90
mov ecx, ebp
call fcn.00424be0
mov ebp, edx
mov ebx, eax
test ebp, ebp
ja 0x438202
cmp ebx, 0x10
jb 0x43825f
mov ecx, dword [esp + 0x14]
push 0
push 0x10
lea eax, [esp + 0x12c]
push eax
push edi
push esi
call fcn.00424750
push 0x10
lea ecx, [esp + 0x128]
push ecx
mov edx, ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.00401a30
mov ecx, dword [esp + 0x14]
push 0
push 0x10
lea eax, [esp + 0x12c]
push eax
push edi
push esi
call fcn.00424860
add esi, 0x10
adc edi, 0
mov ecx, ebx
sub ecx, esi
mov eax, ebp
sbb eax, edi
test eax, eax
ja 0x438202
jb 0x43825f
cmp ecx, 0x10
jae 0x438202
cmp ebx, esi
jne 0x43826b
cmp ebp, edi
je 0x438321
sub ebx, esi
sbb ebp, edi
push ebp
push ebx
lea ecx, [esp + 0x12c]
push ecx
mov ecx, dword [esp + 0x20]
push edi
push esi
call fcn.00424750
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov dword [esp + 0x134], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x138], ecx
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x13c], edx
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x44]
push 1
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x2c]
call fcn.00401b90
lea ecx, [esp + 0x134]
push ecx
mov edx, ecx
push edx
lea ecx, [esp + 0x28]
call fcn.00401c00
xor ecx, ecx
test ebp, ebp
jb 0x43830c
ja 0x4382f0
test ebx, ebx
jbe 0x43830c
jmp 0x4382f0
mov al, byte [esp + ecx + 0x134]
xor byte [esp + ecx + 0x124], al
inc ecx
mov eax, ecx
cdq
cmp edx, ebp
jb 0x4382f0
ja 0x43830c
cmp eax, ebx
jb 0x4382f0
push ebp
push ebx
lea ecx, [esp + 0x12c]
push ecx
mov ecx, dword [esp + 0x20]
push edi
push esi
call fcn.00424860
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], vtable.dwcl::AbstractCipher.0
test eax, eax
je 0x438342
push eax
call fcn.004690f0
add esp, 4
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x438353
push eax
call fcn.004690f0
add esp, 4
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.004690b5
add esp, 0x140
ret 8