Function at 0x434cf2
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [0x47fe40]
push ebx
push esi
movzx ebx, byte [eax + 0xe]
mov esi, ecx
movzx ecx, byte [eax + 0xd]
mov dword [ebp + 8], ecx
movzx ecx, byte [eax + 0xc]
mov dword [ebp - 4], ecx
movzx ecx, byte [eax + 0xb]
mov dword [ebp - 0x2c], ecx
movzx ecx, byte [eax + 0xa]
mov dword [ebp - 0x30], ecx
movzx ecx, byte [eax + 9]
mov dword [ebp - 0x34], ecx
movzx ecx, byte [eax + 8]
mov dword [ebp - 0x38], ecx
movzx ecx, word [eax + 6]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x3c], ecx
movaps xmm0, xmmword [str.POP3_User]
movzx ecx, word [eax + 4]
push edi
mov edi, edx
mov dword [ebp - 0x40], ecx
movzx edx, byte [eax + 0xf]
xor ecx, ecx
mov eax, dword [eax]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x44], eax
movaps xmm0, xmmword [0x47f880]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0xd8fd97
mov al, byte [ebp - 0x78]
not al
xor byte [ebp + ecx - 0x77], al
inc ecx
cmp ecx, 0x32
jb 0x434d74
push edx
push ebx
push dword [ebp + 8]
lea eax, [ebp - 0x77]
mov byte [ebp - 0x45], 0
push dword [ebp - 4]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x178]
push eax
call dword [0x46d2e8]
add esp, 0x34
push edi
call dword [0x46d158]
push eax
mov edx, edi
mov ecx, esi
call fcn.00435725
movaps xmm0, xmmword [0x47fcf0]
xor ebx, ebx
pop ecx
movups xmmword [ebp - 0x26], xmm0
mov byte [ebp - 0x16], bl
mov ecx, ebx
mov al, byte [ebp - 0x26]
not al
xor byte [ebp + ecx - 0x25], al
inc ecx
cmp ecx, 0xf
jb 0x434ddc
mov edi, dword [0x46d148]
lea eax, [ebp - 0x25]
push eax
mov byte [ebp - 0x16], bl
call edi
movaps xmm0, xmmword [0x47fcf0]
mov edx, eax
movups xmmword [ebp - 0x15], xmm0
mov byte [ebp - 5], bl
mov ecx, ebx
mov al, byte [ebp - 0x15]
not al
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xf
jb 0x434e0c
push edx
lea edx, [ebp - 0x14]
mov byte [ebp - 5], bl
mov ecx, esi
call fcn.004357e2
pop ecx
lea eax, [ebp - 0x178]
push eax
call edi
push eax
lea edx, [ebp - 0x178]
mov ecx, esi
call fcn.004357e2
pop ecx
push 0xb
pop ebx
mov cl, bl
mov dword [ebp - 0xd], 0xb5bad4d6
mov byte [ebp - 0xe], cl
xor eax, eax
mov dword [ebp - 9], 0xd6c9b1b9
mov byte [ebp - 5], 0
not cl
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, 8
jae 0x434e6f
mov cl, byte [ebp - 0xe]
jmp 0x434e5e
lea eax, [ebp - 0xd]
mov byte [ebp - 5], 0
push eax
call edi
mov ecx, eax
mov byte [ebp - 0x1f], bl
mov dword [ebp - 0x1e], 0xb5bad4d6
xor eax, eax
mov dword [ebp - 0x1a], 0xd6c9b1b9
mov byte [ebp - 0x16], 0
not bl
xor byte [ebp + eax - 0x1e], bl
inc eax
cmp eax, 8
jae 0x434ea3
mov bl, byte [ebp - 0x1f]
jmp 0x434e92
push ecx
lea edx, [ebp - 0x1e]
mov byte [ebp - 0x16], 0
mov ecx, esi
call fcn.004357e2
pop ecx
push dword [ebp + 0xc]
call dword [0x46d158]
mov edx, dword [ebp + 0xc]
mov ecx, esi
push eax
call fcn.00435725
pop ecx
push 0x4f
pop ebx
mov cl, bl
mov word [ebp + 9], 0xba92
mov byte [ebp + 8], cl
xor eax, eax
mov byte [ebp + 0xb], 0
not cl
xor byte [ebp + eax + 9], cl
inc eax
cmp eax, 2
jae 0x434eed
mov cl, byte [ebp + 8]
jmp 0x434edc
lea eax, [ebp + 9]
mov byte [ebp + 0xb], 0
push eax
call edi
mov byte [ebp - 4], bl
xor ecx, ecx
mov word [ebp - 3], 0xba92
mov byte [ebp - 1], 0
not bl
xor byte [ebp + ecx - 3], bl
inc ecx
cmp ecx, 2
jae 0x434f17
mov bl, byte [ebp - 4]
jmp 0x434f06
push eax
lea edx, [ebp - 3]
mov byte [ebp - 1], 0
mov ecx, esi
call fcn.004357e2
cmp dword [ebp + 0x18], 0
mov edx, dword [ebp + 0x10]
pop ecx
mov ecx, esi
je 0x434f3f
mov eax, dword [ebp + 0x14]
shr eax, 1
push eax
call fcn.00435725
jmp 0x434f47
push dword [ebp + 0x14]
call fcn.004357e2
pop ecx
pop edi
pop esi
pop ebx
leave
ret