Function at 0x559cb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x746523
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edx, dword [eax + 0x10]
mov edi, ecx
mov dword [ebp - 0x10], esp
sub esp, 8
cmp dword [eax + 0x14], 0x10
mov ecx, esp
mov dword [ebp - 0x2c], edi
jb 0x559cec
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [ebp - 0x154]
push eax
mov dword [ecx + 4], edx
call fcn.004cc290
add esp, 0xc
lea eax, [ebp - 0x154]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x90]
mov ecx, edi
push eax
call fcn.0055a9f0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp dword [ebp - 0x128], 0x10
lea eax, [ebp - 0x13c]
push dword [ebp - 0x12c]
cmovae eax, dword [ebp - 0x13c]
lea ecx, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 2
call fcn.00483e90
cmp dword [ebp - 0x110], 0x10
lea eax, [ebp - 0x124]
push dword [ebp - 0x114]
cmovae eax, dword [ebp - 0x124]
lea ecx, [ebp - 0x44]
push eax
call fcn.00483e90
mov esi, dword [ebp + 0xc]
sub esp, 8
mov eax, esp
mov ecx, esi
mov dword [eax], str.X_Retry_After_Coverage
mov dword [eax + 4], 0x16
lea eax, [ebp - 0xb8]
push eax
call fcn.00530130
mov ecx, dword [eax]
test ecx, ecx
jne 0x559dd5
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
jmp 0x559dfe
mov eax, dword [eax + 4]
push eax
push ecx
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00483e90
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 3
test eax, eax
jne 0x559f38
mov esi, dword [esi + 0xc]
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
sub esp, 8
cmp dword [ebp - 0x30], 0x10
mov edx, esp
cmovae eax, dword [ebp - 0x44]
push dword [ebp - 0x8c]
mov dword [edx], eax
lea eax, [ebp - 0x28]
push dword [ebp - 0x90]
mov dword [edx + 4], ecx
mov ecx, edi
push esi
push eax
call fcn.0055a620
test al, al
jne 0x559f35
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x559e79
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559e6f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a52c
push edx
push ecx
call fcn.00512900
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
cmp edx, 0x10
jb 0x559ebf
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559eb5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a52c
push edx
push ecx
call fcn.00512900
add esp, 8
mov edx, dword [ebp - 0x58]
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
cmp edx, 0x10
jb 0x559f05
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559efb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a52c
push edx
push ecx
call fcn.00512900
add esp, 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
call fcn.0049a830
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp + 0xc]
sub esp, 8
mov ecx, esi
mov eax, esp
mov dword [eax], str.Retry_After
mov dword [eax + 4], 0xb
lea eax, [ebp - 0x98]
push eax
call fcn.00530130
cmp dword [ebp - 0x94], 0
je 0x55a121
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x98]
call fcn.004974c0
mov esi, eax
mov byte [ebp - 4], 5
call fcn.0070b7d2
cmp dword [esi + 0x14], 0x10
mov dword [ebp + 8], eax
jb 0x559f91
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0071c46f
add esp, 8
fstp qword [ebp - 0x80]
cmp esi, dword [ebp - 0x78]
je 0x55a531
mov eax, dword [ebp + 8]
cmp dword [eax], 0x22
je 0x55a53b
movsd xmm0, qword [ebp - 0x80]
lea ecx, [ebp - 0x16c]
movsd qword [ebp - 0x88], xmm0
call fcn.00481f10
movd xmm0, dword [0x8f1634]
lea eax, [ebp - 0xa8]
movsd xmm1, qword [ebp - 0x80]
lea ecx, [ebp - 0x88]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 4], 3
comisd xmm1, xmm0
movsd qword [ebp - 0xa8], xmm0
cmovbe eax, ecx
movsd xmm0, qword [eax]
comisd xmm0, xmmword [0x764250]
movsd qword [ebp - 0x74], xmm0
movsd qword [ebp - 0x88], xmm0
jbe 0x55a121
push edi
mov dword [ebp + 8], edi
call fcn.006eb0ee
add esp, 4
test eax, eax
jne 0x55a545
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [edi + 0x78]
call fcn.005570c0
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.00558870
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
inc dword [edx + 0x18]
cmp byte [edx + 0x1c], 0
jne 0x55a075
cmp dword [edx + 0xc], eax
je 0x55a07c
mov dword [edx + 0x18], 1
movsd xmm0, qword [ebp - 0x74]
addsd xmm0, qword [ebp + 0x10]
mov dword [edx + 0xc], eax
mov byte [edx + 0x1c], 0
movsd qword [edx + 0x10], xmm0
cmp byte [0xa902b2], 0
mov ecx, dword [0x8f1014]
je 0x55a0bd
cmp byte [0x8f028c], 0
je 0x55a0bd
test cl, cl
je 0x55a10d
cmp cl, 6
jb 0x55a10d
shr ecx, 8
cmp cl, 3
jb 0x55a10d
jmp 0x55a0c1
test cl, cl
je 0x55a10d
mov dword [ebp + 0xc], 0x122a0ee
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
movsd xmm0, qword [edx + 0x10]
sub ecx, 0xa945ce
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x88]
movsd qword [esp], xmm0
push eax
push ecx
push dword [0x8f1018]
push dword [0x8f1014]
call fcn.00513ba0
add esp, 0x20
push edi
call fcn.006eb149
add esp, 4
jmp 0x559e45
push edi
mov dword [ebp - 0x7c], edi
call fcn.006eb0ee
add esp, 4
test eax, eax
jne 0x55a54b
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.0055a9f0
lea ecx, [edi + 0x58]
xor esi, esi
mov dword [ebp - 0x48], ecx
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
add eax, edx
mov dword [ebp - 0x74], edx
mov dword [ebp + 8], eax
cmp edx, eax
je 0x55a193
mov edi, eax
nop dword [eax]
mov ecx, esi
mov eax, esi
shr eax, 2
shl ecx, 6
add ecx, eax
movsx eax, byte [edx]
add eax, 0x9e3779b9
inc edx
add eax, ecx
xor esi, eax
cmp edx, edi
jne 0x55a170
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x48]
push esi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.004af740
mov eax, dword [eax + 4]
test eax, eax
jne 0x55a1ae
mov eax, dword [edi + 0x5c]
cmp eax, dword [edi + 0x5c]
jne 0x55a1cb
mov esi, dword [0xaf7b54]
movd xmm1, dword [0xaf7b58]
movd xmm2, dword [0xaf7b5c]
jmp 0x55a227
mov eax, dword [eax + 0x10]
sub eax, 0
je 0x55a211
sub eax, 1
je 0x55a1f9
sub eax, 1
jne 0x55a26d
mov esi, dword [0x8f1384]
movd xmm1, dword [0x8f138c]
movd xmm2, dword [0x8f1394]
jmp 0x55a227
mov esi, dword [0x8f136c]
movd xmm1, dword [0x8f1374]
movd xmm2, dword [0x8f137c]
jmp 0x55a227
mov esi, dword [0x8f1354]
movd xmm1, dword [0x8f135c]
movd xmm2, dword [0x8f1364]
mov dword [ebp - 0x54], esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
divss xmm2, dword [0x765bc4]
divss xmm1, dword [0x765bc4]
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x50], xmm1
movss dword [ebp + 8], xmm1
test esi, esi
jne 0x55a27b
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x55a27b
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x55a27b
push edi
call fcn.006eb149
add esp, 4
jmp 0x559e45
cmp byte [0xa902b2], 0
je 0x55a2bf
cmp byte [0x8f13e0], 0
je 0x55a2bf
mov eax, dword [ebp + 0xc]
mov ecx, edi
movsd xmm0, qword [ebp + 0x10]
push eax
sub esp, 8
lea eax, [ebp - 0x54]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00559190
push edi
call fcn.006eb149
add esp, 4
jmp 0x559e45
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [edi + 0x78]
call fcn.005570c0
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.00558870
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], edx
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0xc]
inc ecx
cmp byte [edx + 0x1c], 0
mov dword [edx + 0x18], ecx
je 0x55a2fd
cmp dword [edx + 0xc], eax
je 0x55a309
mov dword [edx + 0x18], 1
mov ecx, 1
movss xmm0, dword [ebp + 8]
movss xmm2, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov byte [edx + 0x1c], 1
mov dword [edx], esi
movss dword [edx + 4], xmm0
movss dword [edx + 8], xmm2
cmp ecx, esi
jl 0x55a3db
sub ecx, esi
mov esi, 1
shl esi, cl
lea ecx, [ebp - 0xd8]
call fcn.0051f970
movss xmm0, dword [ebp + 8]
xorps xmm1, xmm1
cvtps2pd xmm3, xmm0
sub esp, 0x10
mov ecx, eax
cvtsi2sd xmm1, esi
neg esi
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [0x8f13c0]
mulsd xmm1, xmm3
movaps xmm0, xmm2
mulsd xmm0, xmm1
movsd qword [ebp - 0xa0], xmm1
divsd xmm0, qword [0x78ad58]
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mulsd xmm0, xmm3
ret
mulsd xmm0, xmm2
divsd xmm0, qword [0x78ad58]
movsd qword [esp], xmm0
call fcn.0051fe10
movss xmm2, dword [ebp - 0x2c]
fstp qword [ebp - 0xb0]
movsd xmm0, qword [ebp - 0xb0]
mov edx, dword [ebp - 0x48]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm2
cvtps2pd xmm0, xmm0
addsd xmm0, qword [ebp - 0xa0]
minsd xmm1, xmm0
addsd xmm1, qword [ebp + 0x10]
movsd qword [edx + 0x10], xmm1
cmp byte [0xa902b2], 0
mov ecx, dword [0x8f1014]
je 0x55a406
cmp byte [0x8f028c], 0
je 0x55a406
test cl, cl
je 0x55a469
cmp cl, 6
jb 0x55a469
shr ecx, 8
cmp cl, 3
jb 0x55a469
jmp 0x55a40a
test cl, cl
je 0x55a469
mov dword [ebp + 0xc], 0x12ab4d9
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
push dword [edx + 0x18]
movss xmm1, dword [edx + 8]
sub ecx, 0xb15a81
push dword [edx]
cmp dword [ebp - 0x14], 0x10
movss xmm2, dword [edx + 4]
cmovae eax, dword [ebp - 0x28]
sub esp, 0x18
movsd xmm0, qword [edx + 0x10]
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm2
push eax
push ecx
push dword [0x8f1018]
push dword [0x8f1014]
call fcn.00513ba0
add esp, 0x30
push edi
call fcn.006eb149
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x55a4a6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55a49c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a52c
push edx
push ecx
call fcn.00512900
add esp, 8
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x55a4e8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55a4de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a52c
push edx
push ecx
call fcn.00512900
add esp, 8
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x559f05
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x559efb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x559efb
call fcn.0070b6e4
push str.invalid_stod_argument
call fcn.006ea28a
push str.stod_argument_out_of_range
call fcn.006ea2ca
push eax
call fcn.006eb4aa
push eax
call fcn.006eb4aa
int3