Function at 0x41ada0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x513418
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x577680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov esi, 1
call fcn.0041ba70
test al, al
jne 0x41adf5
call fcn.004f1791
mov ecx, dword [0x578ad4]
cmp ecx, eax
jne 0x41adf5
dec ecx
mov dword [0x578ad4], ecx
call fcn.00417800
xor ecx, ecx
push ecx
push ecx
test al, al
push ecx
cmovne esi, ecx
push esi
push 0x52e4a0
call fcn.0041bd20
add esp, 0x14
mov ebx, eax
call fcn.0041baa0
test al, al
jne 0x41ae3c
mov eax, dword [0x578ad4]
xor esi, esi
test eax, eax
je 0x41ae36
mov ecx, eax
cdq
and ecx, 1
sub eax, edx
add esi, ecx
sar eax, 1
jne 0x41ae28
mov dword [0x578ad4], esi
test ebx, ebx
jne 0x41ae47
xor al, al
jmp 0x41b1e3
push 0
lea ecx, [ebp - 0x24c]
call fcn.004707b0
push 0x52aa8c
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0
call fcn.00470770
lea eax, [ebp - 0x238]
push eax
push str.method
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 1
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0
call fcn.00470ad0
lea eax, [ebp - 0x228]
push edi
push eax
call fcn.0049acd0
add esp, 8
push eax
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.004706a0
lea eax, [ebp - 0x238]
push eax
push 0x52aa48
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 3
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.00470ad0
cmp dword [ebp - 0x214], 0x10
mov byte [ebp - 4], 0
jb 0x41af08
push dword [ebp - 0x228]
call fcn.004f03fe
add esp, 4
push 0x52aaa4
lea ecx, [ebp - 0x238]
call fcn.00470770
lea eax, [ebp - 0x238]
push eax
push str.acceptedStatusCodes
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 4
call fcn.00470d60
mov ecx, eax
call fcn.00471370
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0
call fcn.00470ad0
mov eax, dword [0x578ad4]
imul eax, eax
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 0xa
jne 0x41afc5
xor esi, esi
call fcn.004f1791
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esi
movsd qword [ebp + esi*8 - 0x218], xmm0
cmp esi, 0x40
jb 0x41af60
xor ecx, ecx
mov edi, edi
mov eax, 0x3f
cmp ecx, eax
jge 0x41afbf
lea esp, [esp]
movsd xmm0, qword [ebp + eax*8 - 0x210]
movsd xmm1, qword [ebp + eax*8 - 0x218]
comisd xmm0, xmm1
jbe 0x41afba
movsd qword [ebp + eax*8 - 0x210], xmm1
movsd qword [ebp + eax*8 - 0x218], xmm0
dec eax
cmp eax, ecx
jg 0x41af90
inc ecx
cmp ecx, 0x40
jl 0x41af80
push 0x52aab4
lea ecx, [ebp - 0x238]
call fcn.00470770
lea eax, [ebp - 0x238]
push eax
push str.acceptTypes
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 5
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0
call fcn.00470ad0
call fcn.0041bb40
test al, al
jne 0x41b0a3
mov edx, dword [0x578ad4]
xor esi, esi
jmp 0x41b020
mov ecx, esi
and ecx, 1
dec ecx
not ecx
and ecx, edx
mov eax, esi
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
sar eax, 1
not ecx
and ecx, edx
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, edx
sar ecx, 1
xor eax, ecx
inc esi
add edx, eax
cmp esi, 0x100
jl 0x41b020
mov dword [0x578ad4], edx
push 1
lea ecx, [ebp - 0x238]
call fcn.004708b0
lea eax, [ebp - 0x238]
push eax
push str.noResponse
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 6
call fcn.00470d60
mov ecx, eax
call fcn.00470b70
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0
call fcn.00470ad0
call fcn.0041bb40
test al, al
jne 0x41b0fc
push 4
call fcn.004f04fa
mov ecx, dword [0x578ad4]
add esp, 4
mov dword [eax], ecx
push 0
push 0
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x25c]
push ebx
push eax
mov dword [ebp - 0x23c], 0
call fcn.00418520
add esp, 0x18
mov esi, dword [0x578ad4]
mov ecx, 9
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
mov byte [ebp - 4], 7
cmp edx, 4
jne 0x41b17d
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ef820
push eax
call fcn.004f0683
add esp, 8
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push str.result
lea ecx, [ebp - 0x25c]
call fcn.00470d60
mov ecx, eax
call fcn.00471f30
test al, al
je 0x41b1be
push str.result
lea ecx, [ebp - 0x25c]
call fcn.00470d60
mov ecx, eax
call fcn.004713a0
test al, al
je 0x41b1be
mov bl, 1
jmp 0x41b1c0
xor bl, bl
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0
call fcn.00470ad0
lea ecx, [ebp - 0x24c]
mov dword [ebp - 4], 0xffffffff
call fcn.00470ad0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f0cd4
mov esp, ebp
pop ebp
ret