Function at 0x52bbf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x705af3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
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 0x52bc2c
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [ebp - 0x150]
push eax
mov dword [ecx + 4], edx
call fcn.004be6e0
add esp, 0xc
lea eax, [ebp - 0x150]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x90]
mov ecx, edi
push eax
call fcn.0052c930
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 - 0x124], 0x10
lea eax, [ebp - 0x138]
push dword [ebp - 0x128]
cmovae eax, dword [ebp - 0x138]
lea ecx, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 2
call fcn.00473620
cmp dword [ebp - 0x10c], 0x10
lea eax, [ebp - 0x120]
push dword [ebp - 0x110]
cmovae eax, dword [ebp - 0x120]
lea ecx, [ebp - 0x44]
push eax
call fcn.00473620
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.00504720
mov ecx, dword [eax]
test ecx, ecx
jne 0x52bd15
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
jmp 0x52bd3e
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.00473620
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 3
test eax, eax
jne 0x52be78
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.0052c560
test al, al
jne 0x52be75
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x52bdb9
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52bdaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52c46c
push edx
push ecx
call fcn.004e7fa0
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 0x52bdff
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52bdf5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52c46c
push edx
push ecx
call fcn.004e7fa0
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 0x52be45
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52be3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52c46c
push edx
push ecx
call fcn.004e7fa0
add esp, 8
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
call fcn.004b14e0
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.00504720
cmp dword [ebp - 0x94], 0
je 0x52c061
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x98]
call fcn.00486eb0
mov esi, eax
mov byte [ebp - 4], 5
call fcn.006cc762
cmp dword [esi + 0x14], 0x10
mov dword [ebp + 8], eax
jb 0x52bed1
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.006dc6ef
add esp, 8
fstp qword [ebp - 0x80]
cmp esi, dword [ebp - 0x78]
je 0x52c471
mov eax, dword [ebp + 8]
cmp dword [eax], 0x22
je 0x52c47b
movsd xmm0, qword [ebp - 0x80]
lea ecx, [ebp - 0x168]
movsd qword [ebp - 0x88], xmm0
call fcn.004716c0
movd xmm0, dword [0x7f0fb0]
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 [0x71dfc8]
movsd qword [ebp - 0x74], xmm0
movsd qword [ebp - 0x88], xmm0
jbe 0x52c061
push edi
mov dword [ebp + 8], edi
call fcn.006abda0
add esp, 4
test eax, eax
jne 0x52c485
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [edi + 0x78]
call fcn.00528ed0
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.0052a610
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
inc dword [edx + 0x18]
cmp byte [edx + 0x1c], 0
jne 0x52bfb5
cmp dword [edx + 0xc], eax
je 0x52bfbc
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 [0x991b00], 0
mov ecx, dword [0x7f0ba4]
je 0x52bffd
cmp byte [0x7f0008], 0
je 0x52bffd
test cl, cl
je 0x52c04d
cmp cl, 6
jb 0x52c04d
shr ecx, 8
cmp cl, 3
jb 0x52c04d
jmp 0x52c001
test cl, cl
je 0x52c04d
mov dword [ebp + 0xc], 0x1172fb8
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
movsd xmm0, qword [edx + 0x10]
sub ecx, 0xa26458
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 [0x7f0ba8]
push dword [0x7f0ba4]
call fcn.004e9480
add esp, 0x20
push edi
call fcn.006abdfb
add esp, 4
jmp 0x52bd85
push edi
mov dword [ebp - 0x7c], edi
call fcn.006abda0
add esp, 4
test eax, eax
jne 0x52c48b
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.0052c930
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 0x52c0d3
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 0x52c0b0
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.00528e30
mov eax, dword [eax + 4]
test eax, eax
jne 0x52c0ee
mov eax, dword [edi + 0x5c]
cmp eax, dword [edi + 0x5c]
jne 0x52c10b
mov esi, dword [0x9f7c5c]
movd xmm1, dword [0x9f7c60]
movd xmm2, dword [0x9f7c64]
jmp 0x52c167
mov eax, dword [eax + 0x10]
sub eax, 0
je 0x52c151
sub eax, 1
je 0x52c139
sub eax, 1
jne 0x52c1ad
mov esi, dword [0x7f0e98]
movd xmm1, dword [0x7f0ea0]
movd xmm2, dword [0x7f0ea8]
jmp 0x52c167
mov esi, dword [0x7f0e80]
movd xmm1, dword [0x7f0e88]
movd xmm2, dword [0x7f0e90]
jmp 0x52c167
mov esi, dword [0x7f0e68]
movd xmm1, dword [0x7f0e70]
movd xmm2, dword [0x7f0e78]
mov dword [ebp - 0x54], esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
divss xmm2, dword [0x71f00c]
divss xmm1, dword [0x71f00c]
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x50], xmm1
movss dword [ebp + 8], xmm1
test esi, esi
jne 0x52c1bb
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x52c1bb
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x52c1bb
push edi
call fcn.006abdfb
add esp, 4
jmp 0x52bd85
cmp byte [0x991b00], 0
je 0x52c1ff
cmp byte [0x7f0ef4], 0
je 0x52c1ff
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.0052b0d0
push edi
call fcn.006abdfb
add esp, 4
jmp 0x52bd85
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [edi + 0x78]
call fcn.00528ed0
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.0052a610
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 0x52c23d
cmp dword [edx + 0xc], eax
je 0x52c249
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 0x52c31b
sub ecx, esi
mov esi, 1
shl esi, cl
lea ecx, [ebp - 0xd8]
call fcn.004f4190
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 [0x7f0ed4]
mulsd xmm1, xmm3
movaps xmm0, xmm2
mulsd xmm0, xmm1
movsd qword [ebp - 0xa0], xmm1
divsd xmm0, qword [0x71f050]
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mulsd xmm0, xmm3
mulsd xmm0, xmm2
divsd xmm0, qword [0x71f050]
movsd qword [esp], xmm0
call fcn.004f4630
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 [0x991b00], 0
mov ecx, dword [0x7f0ba4]
je 0x52c346
cmp byte [0x7f0008], 0
je 0x52c346
test cl, cl
je 0x52c3a9
cmp cl, 6
jb 0x52c3a9
shr ecx, 8
cmp cl, 3
jb 0x52c3a9
jmp 0x52c34a
test cl, cl
je 0x52c3a9
mov dword [ebp + 0xc], 0x11eef8c
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
push dword [edx + 0x18]
movss xmm1, dword [edx + 8]
sub ecx, 0xaa24f4
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 [0x7f0ba8]
push dword [0x7f0ba4]
call fcn.004e9480
add esp, 0x30
push edi
call fcn.006abdfb
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x52c3e6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52c3dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52c46c
push edx
push ecx
call fcn.004e7fa0
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 0x52c428
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52c41e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x52c46c
push edx
push ecx
call fcn.004e7fa0
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 0x52be45
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x52be3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x52be3b
call fcn.006cc674
push str.invalid_stod_argument
call fcn.006ab30d
push str.stod_argument_out_of_range
call fcn.006ab34d
push eax
call fcn.006ac15c
push eax
call fcn.006ac15c
int3