Function at 0x412750
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bad00
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5540
call fcn.004980a0
mov eax, dword [0x4fcc8c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x550c], ebx
mov dword [ebp - 0x5508], esi
mov dword [ebp - 4], esi
cmp dword [ebp + 0x24], 8
mov ecx, dword [ebp + 0x10]
jae 0x4127a5
lea ecx, [ebp + 0x10]
lea eax, [ebp - 0x5034]
push eax
call fcn.0042f000
add esp, 4
push 0x27ff
lea ecx, [ebp - 0x5017]
push esi
mov byte [ebp - 4], 1
push ecx
mov byte [ebp - 0x5018], 0
call fcn.004982b0
mov edx, dword [ebp - 0x5030]
add esp, 0xc
cmp dword [ebp - 0x501c], 0x10
jae 0x4127e9
lea edx, [ebp - 0x5030]
lea edi, [ebp - 0x5018]
call fcn.00430610
cmp eax, esi
mov dword [ebp - 0x5508], eax
jg 0x412886
push str.failed_base64_decode__
lea esi, [ebp - 0x550c]
mov dword [ebp - 0x550c], str.ALCMSoapModule::DecryptUpateListString
call fcn.004019a0
add esp, 4
xor edi, edi
xor edx, edx
mov dword [ebx + 0x18], 7
mov dword [ebx + 0x14], edi
push edi
mov eax, 0x4e823c
mov esi, ebx
mov word [ebx + 4], dx
call fcn.004012c0
cmp dword [ebp - 0x501c], 0x10
jb 0x412856
mov eax, dword [ebp - 0x5030]
push eax
call fcn.004913b3
add esp, 4
cmp dword [ebp + 0x24], 8
mov dword [ebp - 0x501c], 0xf
mov dword [ebp - 0x5020], edi
mov byte [ebp - 0x5030], 0
jb 0x41287f
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004913b3
add esp, 4
mov eax, ebx
jmp 0x412c9a
xor ebx, ebx
mov esi, 0x3c7f
mov dword [ebp - 0x5038], 0xf
mov dword [ebp - 0x503c], ebx
mov byte [ebp - 0x504c], bl
mov byte [ebp - 4], 2
mov edx, dword [ebp + 8]
mov al, byte [edx + ebx + 0x4c]
mov ecx, esi
shr ecx, 8
xor cl, al
movzx edx, cl
mov byte [ebp - 0x5501], al
push edx
mov eax, 1
lea edi, [ebp - 0x5050]
call fcn.00408150
movsx eax, byte [ebp - 0x5501]
add eax, esi
imul eax, eax, 0x2bf041
add eax, 0x583b
inc ebx
cmp ebx, 0x11
mov esi, eax
jl 0x4128a7
xor ebx, ebx
mov dword [ebp - 0x5054], 0xf
mov dword [ebp - 0x5058], ebx
mov byte [ebp - 0x5068], bl
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x503c]
add ecx, 0xfffffffe
lea esi, [ebp - 0x5550]
mov edx, edi
call fcn.00406ff0
mov ecx, edi
push eax
push ecx
lea edi, [ebp - 0x5528]
mov byte [ebp - 4], 4
call fcn.0040c0e0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x506c]
mov byte [ebp - 4], 5
call fcn.0040ee70
mov edi, 0x10
cmp dword [ebp - 0x5510], edi
jb 0x412962
mov edx, dword [ebp - 0x5524]
push edx
call fcn.004913b3
add esp, 4
mov dword [ebp - 0x5510], 0xf
mov dword [ebp - 0x5514], ebx
mov byte [ebp - 0x5524], 0
cmp dword [ebp - 0x5538], edi
jb 0x412990
mov eax, dword [ebp - 0x554c]
push eax
call fcn.004913b3
add esp, 4
push 0x27ff
lea ecx, [ebp - 0x2817]
push ebx
push ecx
mov byte [ebp - 0x2818], 0
call fcn.004982b0
add esp, 0xc
mov dword [ebp - method.CRijndael.virtual_0], vtable.CRijndael.0
mov byte [ebp - 0x54fc], 0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x5068]
cmp dword [ebp - 0x5054], edi
jae 0x4129d5
lea eax, [ebp - 0x5068]
push eax
mov eax, 0x4e6a00
lea esi, [ebp - 0x5500]
call fcn.004308b0
mov edx, dword [ebp - 0x5508]
push edx
lea eax, [ebp - 0x2818]
push eax
lea ecx, [ebp - 0x5018]
push ecx
mov eax, esi
call fcn.00431b50
lea eax, [ebp - 0x2818]
mov dword [ebp - 4], 6
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412a12
sub eax, edx
je 0x412b38
lea edx, [ebp - 0x5088]
push edx
lea ecx, [ebp - 0x2818]
call fcn.0042f170
add esp, 4
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x550c]
xor eax, eax
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push 0xffffffffffffffff
mov word [esi + 4], ax
push ebx
lea eax, [ebp - 0x5088]
mov ecx, esi
call fcn.00401370
cmp dword [ebp - 0x5070], 8
jb 0x412a78
mov ecx, dword [ebp - 0x5084]
push ecx
call fcn.004913b3
add esp, 4
xor edx, edx
mov dword [ebp - 0x5070], 7
mov dword [ebp - 0x5074], ebx
mov word [ebp - 0x5084], dx
cmp dword [ebp - 0x5054], edi
jb 0x412aa8
mov eax, dword [ebp - 0x5068]
push eax
call fcn.004913b3
add esp, 4
mov dword [ebp - 0x5054], 0xf
mov dword [ebp - 0x5058], ebx
mov byte [ebp - 0x5068], 0
cmp dword [ebp - 0x5038], edi
jb 0x412ad6
mov ecx, dword [ebp - 0x504c]
push ecx
call fcn.004913b3
add esp, 4
mov dword [ebp - 0x5038], 0xf
mov dword [ebp - 0x503c], ebx
mov byte [ebp - 0x504c], 0
cmp dword [ebp - 0x501c], edi
jb 0x412b04
mov edx, dword [ebp - 0x5030]
push edx
call fcn.004913b3
add esp, 4
cmp dword [ebp + 0x24], 8
mov dword [ebp - 0x501c], 0xf
mov dword [ebp - 0x5020], ebx
mov byte [ebp - 0x5030], 0
jb 0x412c12
mov eax, dword [ebp + 0x10]
push eax
call fcn.004913b3
add esp, 4
mov eax, esi
jmp 0x412c9a
push str.failed_decrypt_data__empty_
lea esi, [ebp - 0x5508]
mov dword [ebp - 0x5508], str.ALCMSoapModule::DecryptUpateListString
call fcn.004019a0
mov esi, dword [ebp - 0x550c]
add esp, 4
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push ebx
mov eax, 0x4e823c
mov word [esi + 4], cx
call fcn.004012c0
cmp dword [ebp - 0x5054], edi
jb 0x412b8d
mov edx, dword [ebp - 0x5068]
push edx
call fcn.004913b3
add esp, 4
mov dword [ebp - 0x5054], 0xf
mov dword [ebp - 0x5058], ebx
mov byte [ebp - 0x5068], 0
cmp dword [ebp - 0x5038], edi
jb 0x412bbb
mov eax, dword [ebp - 0x504c]
push eax
call fcn.004913b3
add esp, 4
mov dword [ebp - 0x5038], 0xf
mov dword [ebp - 0x503c], ebx
mov byte [ebp - 0x504c], 0
cmp dword [ebp - 0x501c], edi
jb 0x412be9
mov ecx, dword [ebp - 0x5030]
push ecx
call fcn.004913b3
add esp, 4
cmp dword [ebp + 0x24], 8
mov dword [ebp - 0x501c], 0xf
mov dword [ebp - 0x5020], ebx
mov byte [ebp - 0x5030], 0
jb 0x412c12
mov edx, dword [ebp + 0x10]
push edx
call fcn.004913b3
add esp, 4
mov eax, esi
jmp 0x412c9a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004913be
mov esp, ebp
pop ebp
ret 0x20