Function at 0x53f560
Capabilities:
Encode data using xor
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x108
mov ecx, dword [ebp + 8]
mov eax, dword [0x644040]
xor eax, ebp
mov dword [esp + 0x100], eax
test ecx, ecx
je 0x540291
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
push ecx
call fcn.0057f420
add esp, 4
mov esi, eax
cmp ebx, edi
jg 0x5402a0
mov al, 1
mov dword [esp + 4], eax
mov eax, edi
mov edi, ebx
mov ebx, dword [ebp + 0x14]
test edi, edi
mov edx, dword [ebp + 8]
jle 0x5400c2
cmp eax, 0x7fffffff
je 0x540287
mov ecx, eax
cmp ebx, 0x3eb
jae 0x5401a6
cmp ecx, edi
je 0x5402af
cmp ebx, 3
jb 0x54022d
mov eax, ecx
sub eax, edi
add eax, 2
cmp ebx, eax
ja 0x54022d
cmp byte [esp + 4], 0
je 0x54022d
mov dword [esp + 0x34], 0x6222cc
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebx
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
xorps xmm0, xmm0
lea ebx, [esp + 0x70]
movups xmmword [ebx + 0x34], xmm0
movups xmmword [ebx + 0x28], xmm0
movups xmmword [ebx + 0x18], xmm0
movups xmmword [ebx + 8], xmm0
movups xmmword [ebx - 8], xmm0
movapd xmm0, xmmword [0x62f520]
movupd xmmword [ebx - 0x18], xmm0
test esi, esi
je 0x53f685
lea eax, [esi*8]
mov ecx, esi
shr ecx, 0x1d
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
cmp esi, 0x40
jae 0x53ff1f
mov eax, esi
mov dword [esp + 0xb0], eax
push eax
push edx
push ebx
call fcn.00569390
add esp, 0xc
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov byte [esp + ecx + 0x70], 0x80
lea eax, [ecx + 1]
cmp eax, 0x39
jae 0x53fee9
cmp eax, 0x38
je 0x53f6bf
mov ecx, 0x38
sub ecx, eax
add eax, ebx
push ecx
push 0
push eax
call fcn.00569910
add esp, 0xc
mov eax, ebx
lea ebx, [esp + 0x58]
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x54], edi
push 1
push eax
push ebx
call fcn.004dde80
add esp, 0xc
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
mov esi, dword [0x655080]
test esi, esi
je 0x53f75f
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x58], 0xffffffff
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
cmp eax, 0x30
je 0x53ff4b
cmp eax, 0x40
jb 0x53f75f
mov edx, eax
and edx, 7
jne 0x53f75f
mov esi, eax
add esi, 0x10
jb 0x53f75f
mov edx, dword [ecx + 0xc]
cmp esi, edx
ja 0x53f75f
mov ecx, dword [ecx + 4]
mov esi, dword [ecx + eax + 4]
cmp esi, 0xc8799269
jne 0x53f75f
add ecx, eax
mov esi, dword [ecx]
cmp esi, 0x10
jb 0x53f75f
mov esi, dword [ecx]
add esi, eax
jb 0x53f75f
cmp esi, edx
ja 0x53f75f
test ecx, ecx
je 0x53f75f
mov ebx, dword [ecx + 0xc]
cmp ebx, 0x30
jne 0x53f99b
mov esi, dword [0x64a734]
cmp esi, 1
jbe 0x5400d4
push esi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x53ffc8
mov dword [esp + 0x10], esi
mov esi, dword [0x64a73c]
test esi, esi
je 0x53fab2
mov eax, dword [0x64a734]
cmp eax, 1
jbe 0x540103
mov edi, dword [esi + 4]
test edi, edi
je 0x53fab2
mov edx, dword [esp + 4]
bswap edx
mov eax, dword [esp + 8]
bswap eax
mov dword [esp + 8], eax
imul eax, eax, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul eax, ecx, 0x5bd1e995
xor eax, 0xde8f4ca8
mov dword [esp + 4], edx
imul ecx, edx, 0x5bd1e995
mov edx, ecx
shr edx, 0x18
xor edx, ecx
imul ecx, edx, 0x5bd1e995
imul eax, eax, 0x5bd1e995
xor eax, ecx
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0x5bd1e995
mov ecx, eax
shr ecx, 0xf
xor ecx, eax
mov edx, edi
shr edx, 1
and edx, 0x55555555
mov eax, edi
sub eax, edx
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add eax, edx
mov edx, eax
shr edx, 4
add edx, eax
and edx, 0xf0f0f0f
imul eax, edx, 0x1010101
shr eax, 0x18
mov dword [esp + 0x1c], eax
cmp eax, 1
jbe 0x53ffbe
mov ebx, ecx
cmp ecx, edi
jb 0x53f854
mov eax, ecx
xor edx, edx
div edi
mov ebx, edx
mov eax, dword [esi]
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x53fab2
mov esi, dword [eax]
test esi, esi
je 0x53fab2
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x53f96f
mov eax, dword [esi + 8]
xor eax, dword [esp + 8]
mov edx, dword [esi + 0xc]
xor edx, dword [esp + 4]
or edx, eax
jne 0x53f994
mov esi, dword [esi + 0x10]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test esi, esi
je 0x53fabc
mov ebx, dword [esp + 0x40]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
xor eax, eax
cmp edi, fcn.00562fa0
je 0x53f8c0
mov ecx, edi
call dword [0x63e64c]
mov ecx, esi
call edi
cmp ebx, eax
jne 0x54023f
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x53f939
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
cmp edi, 0x562fb0
mov dword [esp + 4], ecx
jne 0x53f951
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov edx, ecx
sar edx, 2
lea edi, [edx - 1]
cmp edi, ebx
mov ebx, dword [esp + 8]
jne 0x54023f
cmp edi, 2
jb 0x5402bf
cmp edx, 1
mov edx, dword [esp + 4]
jbe 0x5402d2
cmp dword [eax + 4], edx
jne 0x54023f
mov eax, dword [eax + ecx - 8]
cmp eax, ebx
jne 0x54023f
mov ecx, dword [esp + 0x100]
xor ecx, ebp
call fcn.00568175
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
call dword [0x63e64c]
mov ecx, esi
push ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
call edi
test al, al
jne 0x53f939
jmp 0x54023f
cmp dword [esp + 0x1c], 1
mov dword [esp + 0xc], ebx
jbe 0x53ffb4
cmp eax, edi
jb 0x53f988
xor edx, edx
div edi
mov eax, edx
mov ebx, dword [esp + 0xc]
cmp eax, ebx
jne 0x53fab2
mov esi, dword [esi]
jmp 0x53f863
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x34]
cmp ebx, 0x40
mov dword [esp + 0x18], esi
jb 0x54021d
mov ecx, ebx
and ecx, 7
jne 0x54021d
mov dword [esp + 0xc], edi
mov edx, ebx
add edx, 0x10
jb 0x54021d
mov edi, dword [esi + 0xc]
cmp edx, edi
ja 0x54021d
mov edx, dword [esi + 4]
mov ecx, dword [edx + ebx + 4]
cmp ecx, 0xc8799269
jne 0x54021d
add edx, ebx
mov ecx, dword [edx]
cmp ecx, 0x10
jb 0x54021d
mov esi, dword [edx]
add esi, ebx
setb cl
test edx, edx
je 0x54021d
test cl, cl
jne 0x54021d
cmp esi, edi
mov esi, dword [esp + 0x10]
ja 0x54021d
lock cmpxchg dword [esi + 0x38], ebx
mov edi, dword [esp + 0xc]
jne 0x53f707
mov edi, dword [edx + 8]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x18], ecx
mov ecx, dword [ecx + 0xc]
cmp ecx, eax
cmovb eax, ecx
mov ecx, 0xaaaaaaab
mul ecx
shr edx, 4
cmp dword [esp + 0xc], edx
ja 0x54021d
lock inc dword [esi + 0x3c]
cmp edi, 0xf1645914
jne 0x53f701
cmp ebx, dword [esp + 0x1c]
je 0x53f701
jmp 0x53ffd4
mov byte [eax + 2], 0
mov word [eax], 0
jmp 0x53fa9b
cmp ecx, 0x3f
je 0x53fa9b
add eax, ebx
cmp ecx, 0x3c
je 0x53fa71
mov edx, 0x3f
sub edx, ecx
push edx
push 0
push eax
call fcn.00569910
add esp, 0xc
push 1
push ebx
lea eax, [esp + 0x60]
push eax
call fcn.004dde80
add esp, 0xc
xor eax, eax
jmp 0x53fb5b
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
xorpd xmm0, xmm0
movupd xmmword [esp + 0xa4], xmm0
movupd xmmword [esp + 0x98], xmm0
movupd xmmword [esp + 0x88], xmm0
movupd xmmword [esp + 0x78], xmm0
movupd xmmword [esp + 0x68], xmm0
movapd xmm0, xmmword [0x62f520]
movupd xmmword [esp + 0x58], xmm0
test edi, edi
lea ebx, [esp + 0x70]
je 0x53fb36
lea eax, [edi*8]
mov ecx, edi
shr ecx, 0x1d
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
cmp edi, 0x40
jae 0x53ff56
mov eax, edi
mov dword [esp + 0xb0], eax
push eax
push esi
push ebx
call fcn.00569390
add esp, 0xc
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov byte [esp + ecx + 0x70], 0x80
lea eax, [ecx + 1]
cmp eax, 0x39
jae 0x53fa7c
cmp eax, 0x38
je 0x53fb70
mov ecx, 0x38
sub ecx, eax
add eax, ebx
push ecx
push 0
push eax
call fcn.00569910
add esp, 0xc
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edi
push 1
push ebx
lea eax, [esp + 0x60]
push eax
call fcn.004dde80
add esp, 0xc
mov ebx, dword [esp + 0x58]
mov edi, dword [0x64a734]
cmp edi, 1
jbe 0x5401ee
push edi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x54019a
mov eax, dword [0x64a73c]
test eax, eax
je 0x53fbc4
mov esi, dword [eax + 0x50]
test esi, esi
jne 0x5402f4
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
cmp esi, 0x558840
je 0x53fc95
mov ecx, esi
call dword [0x63e64c]
lea ecx, [esp + 0x34]
call esi
push eax
call fcn.004f7340
add esp, 4
mov esi, eax
cmp dword [esp + 0x4c], 0
je 0x540152
mov dword [esp + 0x58], 0
mov edi, dword [0x655080]
test edi, edi
je 0x53ff7f
lea ebx, [esp + 0x54]
mov ecx, edi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x54]
push esi
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x5c]
push ebx
call fcn.004f8080
mov ebx, dword [ebx]
test ebx, ebx
je 0x53ff7f
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 8]
cmp esi, method.std::__Cr::basic_streambuf_char__struct_std::__Cr::char_traits_char__.virtual_4
je 0x53fc69
mov ecx, esi
call dword [0x63e64c]
lea ecx, [esp + 0x34]
push ebx
call esi
push ebx
call fcn.004f78e0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x53f8a1
xor edx, edx
cmp esi, ebx
sete dl
mov ecx, edi
push edx
push eax
call fcn.00540400
jmp 0x53f8a1
push 0x14
call fcn.00564ea5
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov esi, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov edi, 0
mov edx, 0
inc esi
mov dword [esp + 8], ebx
je 0x53fd1e
mov dword [esp + 4], ecx
cmp esi, 0x40000000
jae 0x5402eb
lea eax, [esi*4]
push eax
call fcn.00564ea5
add esp, 4
mov edi, eax
mov ebx, dword [esp + 8]
mov dword [ebx], eax
mov dword [ebx + 4], eax
lea esi, [eax + esi*4]
mov dword [ebx + 8], esi
mov eax, dword [esp + 4]
lea eax, [eax*4 + 4]
xor ecx, ecx
mov edx, edi
add edx, ecx
je 0x540278
mov dword [edx], 0
add ecx, 4
cmp eax, ecx
jne 0x53fd00
mov dword [ebx + 4], esi
xor eax, eax
mov edx, esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x48]
sub esp, 8
movsd qword [esp], xmm0
mov esi, edx
call fcn.00591c60
add esp, 8
fstp qword [esp + 0x28]
sub esi, edi
cmp esi, 4
jbe 0x540269
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [edi + 4], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, eax
sub edi, ecx
sar edi, 2
lea edx, [edi - 1]
cmp edx, 3
jb 0x53fe40
add edi, 0xfffffffd
mov esi, 2
mov ecx, dword [esp + 4]
nop dword [eax]
mov dword [esp + 4], ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
sub esp, 8
movsd qword [esp], xmm0
call fcn.00591c60
add esp, 8
fstp qword [esp + 0x58]
lea eax, [esp + 0x58]
push eax
call fcn.004ef3c0
add esp, 4
mov eax, dword [esp + 8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ebx
sar eax, 2
cmp eax, esi
jbe 0x540269
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x10]
subsd xmm1, xmm0
movd xmm2, edi
por xmm2, xmmword [0x627190]
subsd xmm2, qword [0x6271a0]
divsd xmm1, xmm2
addsd xmm1, xmm0
sub esp, 8
movsd qword [esp], xmm1
call fcn.00591cb0
fstp qword [esp]
call fcn.00591c0d
add esp, 8
fstp qword [esp + 0x20]
cvttsd2si eax, qword [esp + 0x20]
mov ecx, dword [esp + 4]
cmp ecx, eax
lea ecx, [ecx + 1]
cmovl ecx, eax
mov dword [ebx + esi*4], ecx
inc esi
dec edi
jne 0x53fd90
mov ebx, dword [esp + 8]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp eax, ecx
je 0x540269
mov dword [eax - 4], 0x7fffffff
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, eax
sub edi, esi
je 0x5402e1
js 0x5402e8
mov ecx, edi
shr ecx, 2
mov edx, esi
and edi, 3
jne 0x540131
sub esi, eax
cmp esi, 0xfffffffc
ja 0x53fed2
nop dword [eax + eax]
movzx esi, byte [edx]
movzx edi, cl
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x630a84]
movzx esi, byte [edx + 1]
movzx edi, cl
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x630a84]
movzx esi, byte [edx + 2]
movzx edi, cl
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x630a84]
movzx esi, byte [edx + 3]
movzx edi, cl
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x630a84]
add edx, 4
cmp edx, eax
jne 0x53fe80
mov eax, dword [esp + 8]
mov dword [eax + 0xc], ecx
jmp 0x53fbeb
mov byte [eax + 2], 0
mov word [eax], 0
jmp 0x53ff08
cmp ecx, 0x3f
je 0x53ff08
add eax, ebx
cmp ecx, 0x3c
je 0x53fede
mov edx, 0x3f
sub edx, ecx
push edx
push 0
push eax
call fcn.00569910
add esp, 0xc
lea eax, [esp + 0x58]
push 1
push ebx
push eax
call fcn.004dde80
add esp, 0xc
xor eax, eax
jmp 0x53f6aa
mov eax, esi
shr eax, 6
lea ecx, [esp + 0x58]
push eax
push edx
push ecx
call fcn.004dde80
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, esi
and eax, 0x3f
je 0x53f685
and esi, 0xffffffc0
add edx, esi
jmp 0x53f673
mov ecx, dword [ecx + 4]
add ecx, 0x30
jmp 0x53f74f
mov eax, edi
shr eax, 6
push eax
push esi
lea eax, [esp + 0x60]
push eax
call fcn.004dde80
add esp, 0xc
mov eax, edi
and eax, 0x3f
je 0x53fb36
and edi, 0xffffffc0
add esi, edi
jmp 0x53fb24
lea eax, [esp + 0x34]
and byte [eax + 0x1c], 0xbf
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x63e64c]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x34]
push esi
mov esi, eax
push eax
call ebx
mov ebx, dword [esi]
lea eax, [esp + 0x34]
mov eax, dword [eax + 0x1c]
lock or dword [ebx + 8], eax
jmp 0x53fc4b
lea edx, [edi - 1]
and eax, edx
jmp 0x53f988
lea ebx, [edi - 1]
and ebx, ecx
jmp 0x53f854
push esi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x53f77d
mov esi, dword [esi + 0x30]
mov ecx, dword [esi + 4]
push 0x68
push 0xf1645914
push ebx
call fcn.0052b910
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 4]
push ebx
mov ebx, eax
call fcn.0052b980
test ebx, ebx
je 0x53f75f
cmp byte [ebx + 0x60], 0
je 0x53f75f
cmp byte [ebx + eax - 1], 0
jne 0x53f75f
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x24]
mov edx, ecx
or edx, eax
je 0x53f75f
mov edx, dword [ebx + 0x40]
mov edi, dword [ebx + 0x44]
mov esi, edx
or esi, edi
je 0x53f75f
mov esi, edx
xor esi, ecx
mov dword [esp + 0x18], ebx
mov ebx, edi
xor ebx, eax
add ecx, 1
adc eax, 0
or ebx, esi
mov ebx, dword [esp + 0x18]
je 0x540059
xor edx, ecx
xor edi, eax
or edi, edx
jne 0x53f75f
mov esi, ebx
add esi, 0x60
push esi
call fcn.0057f420
add esp, 4
push eax
push esi
call fcn.0052b630
add esp, 8
xor edx, dword [ebx + 0x24]
xor eax, dword [ebx + 0x20]
or eax, edx
jne 0x53f75f
mov ecx, dword [esp + 0xc]
push ebx
lea eax, [esp + 0x5c]
push eax
call fcn.0052cf70
mov eax, dword [esp + 0x58]
test eax, eax
je 0x53f75f
xor esi, esi
mov dword [esp + 0x58], esi
push eax
call fcn.004f78e0
add esp, 4
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], esi
test edi, edi
jne 0x540337
mov esi, dword [esp + 0x10]
jmp 0x53f6f9
xor edi, edi
inc edi
mov ecx, edi
test eax, eax
jg 0x53f5b9
jmp 0x53f5c6
push 0x64a734
call fcn.00409590
add esp, 4
test al, al
je 0x540322
mov dword [0x64a738], 0
mov esi, 0x64a738
mov dword [0x64a734], esi
jmp 0x53f76e
push 0x64a734
call fcn.00409590
add esp, 4
test al, al
je 0x54032d
mov dword [0x64a738], 0
mov eax, 0x64a738
mov dword [0x64a734], eax
jmp 0x53f79d
movzx ebx, byte [edx]
mov dword [esp + 4], ebx
movzx ebx, cl
xor ebx, dword [esp + 4]
shr ecx, 8
xor ecx, dword [ebx*4 + 0x630a84]
inc edx
dec edi
jne 0x540131
jmp 0x53fe74
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
lea ecx, [eax - 1]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub edx, ecx
cmp edx, 4
jbe 0x5402d2
mov ecx, dword [ecx + 4]
mov dword [esp + 0x44], ecx
lea edx, [eax - 2]
mov ecx, dword [esi]
mov edi, dword [esi + 4]
sub edi, ecx
sar edi, 2
cmp edi, edx
jbe 0x5402d2
mov eax, dword [ecx + eax*4 - 8]
mov dword [esp + 0x48], eax
jmp 0x53fc01
push edi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x53fbb0
mov dword [esp + 8], ecx
push esi
push edx
mov ebx, edx
call fcn.0052b630
add esp, 8
push eax
push str.Histogram.TooManyBuckets.1000
call fcn.004faec0
add esp, 8
push 0
push 0x10
push str.Blink.UseCounter
push esi
push ebx
call fcn.005357f0
add esp, 0x14
test al, al
je 0x540359
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 8]
jmp 0x53f5d2
push 0x64a734
call fcn.00409590
add esp, 4
test al, al
je 0x54034e
mov dword [0x64a738], 0
mov edi, 0x64a738
mov dword [0x64a734], edi
jmp 0x53fba1
mov ecx, dword [esp + 0x18]
push 1
call fcn.00592910
jmp 0x53f75f
push esi
push edx
call fcn.0052b630
add esp, 8
push eax
push str.Histogram.BadConstructionArguments
jmp 0x540255
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.0052b630
add esp, 8
push eax
push 0x62fb00
call fcn.004faec0
add esp, 8
call fcn.005c7650
mov esi, eax
jmp 0x53f939
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x624173
call fcn.00591ed0
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
push 0x624173
call fcn.00591ed0
mov ecx, 0x7ffffffe
jmp 0x53f5c6
push str....._third_partylibc_srcinclude_string_view:267:_assertion___s___nullptr_failed:_null_pointer_passed_to_non_null_argument_of_char_traits_..._::length_n
push 0x624173
call fcn.00591ed0
mov dword [esp + 4], 0
mov eax, ebx
jmp 0x53f5ab
lea ecx, [edi + 1]
mov dword [esp + 4], 0
jmp 0x53f5da
cmp dword [esp + 4], 0xffffffff
jne 0x54023f
xor eax, eax
dec eax
jmp 0x53f931
push str....._third_partylibc_srcinclude_vector:1418:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x624173
call fcn.00591ed0
xor ecx, ecx
jmp 0x53fed2
int3
mov ecx, dword [esp + 8]
call fcn.00591ed0
bswap ebx
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
call dword [0x63e64c]
mov ecx, esi
push ebx
call dword [esp + 8]
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
jne 0x53fbcb
jmp 0x54025d
mov esi, dword [0x64a734]
jmp 0x53f76e
mov eax, dword [0x64a734]
jmp 0x53f79d
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x63e64c]
mov ecx, edi
push 1
call esi
jmp 0x5400b9
mov edi, dword [0x64a734]
jmp 0x53fba1
push 0
push 0x14
push str.PageLoad.Clients.Ads
push esi
push dword [ebp + 8]
call fcn.005357f0
add esp, 0x14
test al, al
jne 0x5401df
mov ebx, 0x66
push 2
call fcn.00563020
add esp, 4
test al, al
jne 0x540396
mov dword [esp + 4], 0
jmp 0x5401e2
lea ecx, [esp + 0x58]
push 2
push 0x1bf
push str.histogram.cc
call fcn.0040a9f0
lea eax, [esp + 0x60]
push 0xb
push str.Histogram:
push eax
call fcn.005320d0
add esp, 0xc
push esi
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.005320d0
add esp, 0xc
push 0x1c
push str._has_too_many_bucket_count:
push eax
call fcn.005320d0
add esp, 0xc
mov ecx, eax
push dword [ebp + 0x14]
call fcn.00451d70
lea ecx, [esp + 0x58]
call fcn.00407a90
mov edx, dword [ebp + 8]
mov dword [esp + 4], 0
jmp 0x5401e5