Function at 0x54d6a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x739bc3
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 0x54d6dc
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [ebp - 0x154]
push eax
mov dword [ecx + 4], edx
call fcn.004c5490
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.0054e3e0
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.0047e790
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.0047e790
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.00523500
mov ecx, dword [eax]
test ecx, ecx
jne 0x54d7c5
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
jmp 0x54d7ee
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.0047e790
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 3
test eax, eax
jne 0x54d928
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.0054e010
test al, al
jne 0x54d925
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x54d869
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54d85f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54df1c
push edx
push ecx
call fcn.00503df0
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 0x54d8af
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54d8a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54df1c
push edx
push ecx
call fcn.00503df0
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 0x54d8f5
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54d8eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54df1c
push edx
push ecx
call fcn.00503df0
add esp, 8
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
call fcn.00494b60
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.00523500
cmp dword [ebp - 0x94], 0
je 0x54db11
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x98]
call fcn.00491770
mov esi, eax
mov byte [ebp - 4], 5
call fcn.006fef52
cmp dword [esi + 0x14], 0x10
mov dword [ebp + 8], eax
jb 0x54d981
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0070f01f
add esp, 8
fstp qword [ebp - 0x80]
cmp esi, dword [ebp - 0x78]
je 0x54df21
mov eax, dword [ebp + 8]
cmp dword [eax], 0x22
je 0x54df2b
movsd xmm0, qword [ebp - 0x80]
lea ecx, [ebp - 0x16c]
movsd qword [ebp - 0x88], xmm0
call fcn.0047c810
movd xmm0, dword [0x8e1fac]
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 [0x755468]
movsd qword [ebp - 0x74], xmm0
movsd qword [ebp - 0x88], xmm0
jbe 0x54db11
push edi
mov dword [ebp + 8], edi
call fcn.006de95e
add esp, 4
test eax, eax
jne 0x54df35
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [edi + 0x78]
call fcn.0054a910
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.0054c0c0
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
inc dword [edx + 0x18]
cmp byte [edx + 0x1c], 0
jne 0x54da65
cmp dword [edx + 0xc], eax
je 0x54da6c
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 [0xa82632], 0
mov ecx, dword [0x8e19a8]
je 0x54daad
cmp byte [0x8e0c40], 0
je 0x54daad
test cl, cl
je 0x54dafd
cmp cl, 6
jb 0x54dafd
shr ecx, 8
cmp cl, 3
jb 0x54dafd
jmp 0x54dab1
test cl, cl
je 0x54dafd
mov dword [ebp + 0xc], 0xdb1926
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
movsd xmm0, qword [edx + 0x10]
sub ecx, case.0x62addf.8
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 [0x8e19ac]
push dword [0x8e19a8]
call fcn.005050f0
add esp, 0x20
push edi
call fcn.006de9b9
add esp, 4
jmp 0x54d835
push edi
mov dword [ebp - 0x7c], edi
call fcn.006de95e
add esp, 4
test eax, eax
jne 0x54df3b
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.0054e3e0
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 0x54db83
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 0x54db60
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.0054a870
mov eax, dword [eax + 4]
test eax, eax
jne 0x54db9e
mov eax, dword [edi + 0x5c]
cmp eax, dword [edi + 0x5c]
jne 0x54dbbb
mov esi, dword [0xae9e84]
movd xmm1, dword [0xae9e88]
movd xmm2, dword [0xae9e8c]
jmp 0x54dc17
mov eax, dword [eax + 0x10]
sub eax, 0
je 0x54dc01
sub eax, 1
je 0x54dbe9
sub eax, 1
jne 0x54dc5d
mov esi, dword [0x8e1cfc]
movd xmm1, dword [0x8e1d04]
movd xmm2, dword [0x8e1d0c]
jmp 0x54dc17
mov esi, dword [0x8e1ce4]
movd xmm1, dword [0x8e1cec]
movd xmm2, dword [0x8e1cf4]
jmp 0x54dc17
mov esi, dword [0x8e1ccc]
movd xmm1, dword [0x8e1cd4]
movd xmm2, dword [0x8e1cdc]
mov dword [ebp - 0x54], esi
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
divss xmm2, dword [0x7560e4]
divss xmm1, dword [0x7560e4]
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x50], xmm1
movss dword [ebp + 8], xmm1
test esi, esi
jne 0x54dc6b
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x54dc6b
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x54dc6b
push edi
call fcn.006de9b9
add esp, 4
jmp 0x54d835
cmp byte [0xa82632], 0
je 0x54dcaf
cmp byte [0x8e1d58], 0
je 0x54dcaf
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.0054cb80
push edi
call fcn.006de9b9
add esp, 4
jmp 0x54d835
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [edi + 0x78]
call fcn.0054a910
mov ecx, dword [eax]
lea eax, [ebp - 0x28]
add ecx, 0x20
push eax
call fcn.0054c0c0
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 0x54dced
cmp dword [edx + 0xc], eax
je 0x54dcf9
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 0x54ddcb
sub ecx, esi
mov esi, 1
shl esi, cl
lea ecx, [ebp - 0xd8]
call fcn.00510ae0
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 [0x8e1d38]
mulsd xmm1, xmm3
movaps xmm0, xmm2
mulsd xmm0, xmm1
movsd qword [ebp - 0xa0], xmm1
divsd xmm0, qword [0x77b138]
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mulsd xmm0, xmm3
mulsd xmm0, xmm2
divsd xmm0, qword [0x77b138]
movsd qword [esp], xmm0
call fcn.00510f80
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 [0xa82632], 0
mov ecx, dword [0x8e19a8]
je 0x54ddf6
cmp byte [0x8e0c40], 0
je 0x54ddf6
test cl, cl
je 0x54de59
cmp cl, 6
jb 0x54de59
shr ecx, 8
cmp cl, 3
jb 0x54de59
jmp 0x54ddfa
test cl, cl
je 0x54de59
mov dword [ebp + 0xc], 0xdfce59
lea eax, [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
push dword [edx + 0x18]
movss xmm1, dword [edx + 8]
sub ecx, 0x676419
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 [0x8e19ac]
push dword [0x8e19a8]
call fcn.005050f0
add esp, 0x30
push edi
call fcn.006de9b9
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x54de96
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54de8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54df1c
push edx
push ecx
call fcn.00503df0
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 0x54ded8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54dece
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54df1c
push edx
push ecx
call fcn.00503df0
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 0x54d8f5
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54d8eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x54d8eb
call fcn.006fee64
push str.invalid_stod_argument
call fcn.006ddafa
push str.stod_argument_out_of_range
call fcn.006ddb3a
push eax
call fcn.006ded1a
push eax
call fcn.006ded1a
int3