Function at 0x538ea0
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, 0x100
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [0x646040]
xor eax, ebp
mov dword [esp + 0xf8], eax
cmp ecx, ebx
setle al
mov dword [esp + 8], eax
jg 0x539ca9
mov eax, ebx
mov ebx, ecx
mov edi, dword [ebp + 0x18]
test ebx, ebx
jle 0x539a1f
cmp eax, 0x7fffffff
je 0x539cb0
mov ecx, eax
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
cmp edi, 0x3eb
jae 0x539bf7
cmp ecx, ebx
je 0x539cba
cmp edi, 3
jb 0x539cd9
mov eax, ecx
sub eax, ebx
add eax, 2
cmp edi, eax
setbe al
test byte [esp + 8], al
je 0x539cd9
mov dword [esp + 0x30], 0x62323c
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edi
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x4c], 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 [0x630720]
movupd xmmword [ebx - 0x18], xmm0
test esi, esi
je 0x538faf
lea eax, [esi*8]
mov ecx, esi
shr ecx, 0x1d
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
cmp esi, 0x40
jae 0x539975
mov eax, esi
mov dword [esp + 0xb0], eax
push eax
push edx
push ebx
call fcn.00568550
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 0x53993f
cmp eax, 0x38
je 0x538fe9
mov ecx, 0x38
sub ecx, eax
add eax, ebx
push ecx
push 0
push eax
call fcn.00568ad0
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.004e2300
add esp, 0xc
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov esi, dword [0x6570b0]
test esi, esi
je 0x539089
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x18], 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 0x5399a2
cmp eax, 0x40
jb 0x539089
mov edx, eax
and edx, 7
jne 0x539089
mov esi, eax
add esi, 0x10
jb 0x539089
mov edx, dword [ecx + 0xc]
cmp esi, edx
ja 0x539089
mov ecx, dword [ecx + 4]
mov esi, dword [ecx + eax + 4]
cmp esi, 0xc8799269
jne 0x539089
add ecx, eax
mov esi, dword [ecx]
cmp esi, 0x10
jb 0x539089
mov esi, dword [ecx]
add esi, eax
jb 0x539089
cmp esi, edx
ja 0x539089
test ecx, ecx
je 0x539089
mov ebx, dword [ecx + 0xc]
cmp ebx, 0x30
jne 0x5392f1
mov esi, dword [0x64c744]
cmp esi, 1
jbe 0x539b52
push esi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x539a31
mov dword [esp + 0x10], esi
mov esi, dword [0x64c74c]
test esi, esi
je 0x5393c7
mov eax, dword [0x64c744]
cmp eax, 1
jbe 0x539b81
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x5393c7
mov edx, dword [esp + 8]
bswap edx
mov eax, dword [esp + 4]
bswap eax
mov dword [esp + 4], eax
imul eax, eax, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul eax, ecx, 0x5bd1e995
xor eax, 0xde8f4ca8
mov dword [esp + 8], 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, ebx
shr edx, 1
and edx, 0x55555555
mov eax, ebx
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 + 0x18], eax
cmp eax, 1
jbe 0x539a15
mov edi, ecx
cmp ecx, ebx
jb 0x53917e
mov eax, ecx
xor edx, edx
div ebx
mov edi, edx
mov eax, dword [esi]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x5393c7
mov esi, dword [eax]
test esi, esi
je 0x5393c7
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x5392a7
mov eax, dword [esi + 8]
xor eax, dword [esp + 4]
mov edx, dword [esi + 0xc]
xor edx, dword [esp + 8]
or edx, eax
jne 0x5392cc
mov esi, dword [esi + 0x10]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test esi, esi
je 0x5393d1
mov ebx, dword [esp + 0x3c]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
xor eax, eax
cmp edi, fcn.005616f0
je 0x539202
cmp edi, 0x561760
je 0x539295
cmp edi, 0x52c900
je 0x53929f
mov ecx, edi
call dword [0x6401dc]
mov ecx, esi
call edi
cmp ebx, eax
jne 0x539c60
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x53927d
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
cmp edi, 0x561700
jne 0x5392d3
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
jne 0x539c60
cmp edi, 2
jb 0x539cca
cmp edx, 1
jbe 0x539ceb
mov edx, dword [esp + 4]
cmp dword [eax + 4], edx
jne 0x539c60
mov eax, dword [eax + ecx - 8]
cmp eax, dword [esp + 8]
jne 0x539c60
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.00567335
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 2
jmp 0x539202
xor eax, eax
inc eax
jmp 0x539202
cmp dword [esp + 0x18], 1
mov dword [esp + 0xc], edi
jbe 0x539a0b
cmp eax, ebx
jb 0x5392c0
xor edx, edx
div ebx
mov eax, edx
mov edi, dword [esp + 0xc]
cmp eax, edi
jne 0x5393c7
mov esi, dword [esi]
jmp 0x53918d
mov ecx, edi
call dword [0x6401dc]
mov ecx, esi
push ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
call edi
test al, al
jne 0x53927d
jmp 0x539c60
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x34]
cmp ebx, 0x40
mov dword [esp + 0x1c], esi
jb 0x539c8a
mov ecx, ebx
and ecx, 7
jne 0x539c8a
mov dword [esp + 0xc], edi
mov edx, ebx
add edx, 0x10
jb 0x539c8a
mov edi, dword [esi + 0xc]
cmp edx, edi
ja 0x539c8a
mov edx, dword [esi + 4]
mov ecx, dword [edx + ebx + 4]
cmp ecx, 0xc8799269
jne 0x539c8a
add edx, ebx
mov ecx, dword [edx]
cmp ecx, 0x10
jb 0x539c8a
mov esi, dword [edx]
add esi, ebx
setb cl
test edx, edx
je 0x539c8a
test cl, cl
jne 0x539c8a
cmp esi, edi
mov esi, dword [esp + 0x10]
ja 0x539c8a
lock cmpxchg dword [esi + 0x38], ebx
mov edi, dword [esp + 0xc]
jne 0x539031
mov edi, dword [edx + 8]
mov ecx, dword [esi + 0x34]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x1c], 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 0x539c8a
lock inc dword [esi + 0x3c]
cmp edi, 0xf1645914
jne 0x53902b
cmp ebx, dword [esp + 0x18]
je 0x53902b
jmp 0x539a3d
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
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 [0x630720]
movupd xmmword [esp + 0x58], xmm0
test edi, edi
lea ebx, [esp + 0x70]
je 0x53944b
lea eax, [edi*8]
mov ecx, edi
shr ecx, 0x1d
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
cmp edi, 0x40
jae 0x5399ad
mov eax, edi
mov dword [esp + 0xb0], eax
push eax
push esi
push ebx
call fcn.00568550
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 0x5394f2
cmp eax, 0x38
je 0x539485
mov ecx, 0x38
sub ecx, eax
add eax, ebx
push ecx
push 0
push eax
call fcn.00568ad0
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.004e2300
add esp, 0xc
mov eax, dword [esp + 0x58]
bswap eax
push eax
call fcn.00530c80
add esp, 4
test al, al
je 0x539c7e
mov eax, dword [esp + 0x30]
mov esi, dword [eax]
cmp esi, 0x529fe0
je 0x539528
cmp esi, 0x55bf50
je 0x5397d0
mov ecx, esi
call dword [0x6401dc]
lea ecx, [esp + 0x30]
call esi
jmp 0x5396f9
mov byte [eax + 2], 0
mov word [eax], 0
jmp 0x539511
cmp ecx, 0x3f
je 0x539511
add eax, ebx
cmp ecx, 0x3c
je 0x5394e7
mov edx, 0x3f
sub edx, ecx
push edx
push 0
push eax
call fcn.00568ad0
add esp, 0xc
push 1
push ebx
lea eax, [esp + 0x60]
push eax
call fcn.004e2300
add esp, 0xc
xor eax, eax
jmp 0x539470
push 0x14
call fcn.00564055
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x48]
inc eax
mov ecx, esi
push eax
call fcn.0052a210
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x44]
sub esp, 8
movsd qword [esp], xmm0
call fcn.00590e00
add esp, 8
fstp qword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, eax
cmp ecx, 4
jbe 0x539c9a
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 0x10], xmm0
mov ebx, dword [esp + 0x40]
mov dword [eax + 4], ebx
mov ecx, dword [esi]
mov dword [esp + 4], esi
mov eax, dword [esi + 4]
mov edi, eax
sub edi, ecx
sar edi, 2
lea edx, [edi - 1]
cmp edx, 3
jb 0x539660
add edi, 0xfffffffd
mov esi, 2
nop word cs:[eax + eax]
xorps xmm0, xmm0
cvtsi2sd xmm0, ebx
sub esp, 8
movsd qword [esp], xmm0
call fcn.00590e00
add esp, 8
fstp qword [esp + 0x58]
lea eax, [esp + 0x58]
push eax
call fcn.004ffdf0
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 8], ecx
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x539c9a
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x10]
subsd xmm1, xmm0
movd xmm2, edi
por xmm2, xmmword [0x628540]
subsd xmm2, qword [0x628550]
divsd xmm1, xmm2
addsd xmm1, xmm0
sub esp, 8
movsd qword [esp], xmm1
call fcn.00590e50
fstp qword [esp]
call fcn.00590dad
add esp, 8
fstp qword [esp + 0x20]
cvttsd2si eax, qword [esp + 0x20]
cmp ebx, eax
lea ebx, [ebx + 1]
cmovl ebx, eax
mov eax, dword [esp + 8]
mov dword [eax + esi*4], ebx
inc esi
dec edi
jne 0x5395b0
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, ecx
je 0x539c9a
mov dword [eax - 4], 0x7fffffff
mov eax, dword [esp + 4]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov edi, eax
sub edi, esi
je 0x539cfa
js 0x539d01
mov ecx, edi
shr ecx, 2
mov edx, esi
and edi, 3
jne 0x539b31
sub esi, eax
cmp esi, 0xfffffffc
ja 0x5396f2
nop
movzx esi, cl
movzx edi, byte [edx]
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x631d30]
movzx esi, cl
movzx edi, byte [edx + 1]
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x631d30]
movzx esi, cl
movzx edi, byte [edx + 2]
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x631d30]
movzx esi, cl
movzx edi, byte [edx + 3]
xor edi, esi
shr ecx, 8
xor ecx, dword [edi*4 + 0x631d30]
add edx, 4
cmp edx, eax
jne 0x5396a0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], ecx
push eax
call fcn.00530e50
add esp, 4
mov esi, eax
cmp dword [esp + 0x48], 0
je 0x539baf
mov dword [esp + 0x50], 0
mov edi, dword [0x6570b0]
test edi, edi
je 0x5399d6
lea eax, [esp + 0x50]
mov ecx, edi
push eax
push dword [esp + 0x50]
push esi
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x58]
lea eax, [esp + 0x78]
push eax
call fcn.00531cd0
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x5399d6
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 8]
cmp esi, 0x4f0f90
je 0x539781
cmp esi, 0x409010
je 0x5397ad
mov ecx, esi
call dword [0x6401dc]
lea ecx, [esp + 0x30]
push ebx
call esi
push ebx
call fcn.005313f0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x5391cb
xor edx, edx
cmp esi, ebx
sete dl
mov ecx, edi
push edx
push eax
call fcn.00530d10
jmp 0x5391cb
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x6401dc]
mov ecx, ebx
call esi
cmp eax, 5
je 0x539781
mov eax, dword [esp + 0x50]
test eax, eax
je 0x539781
jmp 0x539d07
push 0x14
call fcn.00564055
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x48]
inc eax
mov ecx, edi
push eax
call fcn.0052a210
mov esi, dword [edi]
mov edx, dword [edi + 4]
mov eax, edx
sub eax, esi
sar eax, 2
lea ecx, [eax - 1]
cmp ecx, 2
jb 0x539891
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x40]
cvtsi2sd xmm1, dword [esp + 0x44]
add eax, 0xfffffffd
movd xmm2, eax
por xmm2, xmmword [0x628540]
subsd xmm2, qword [0x628550]
xor edx, edx
inc edx
movq xmm3, qword [0x628550]
movsd xmm4, qword [0x617998]
mov esi, dword [edi]
mov ebx, edi
mov edi, dword [edi + 4]
sub edi, esi
sar edi, 2
cmp edi, edx
jbe 0x539c9a
movd xmm5, eax
por xmm5, xmm3
subsd xmm5, xmm3
mulsd xmm5, xmm0
lea edi, [edx - 1]
movd xmm6, edi
por xmm6, xmm3
subsd xmm6, xmm3
mulsd xmm6, xmm1
addsd xmm6, xmm5
divsd xmm6, xmm2
addsd xmm6, xmm4
cvttsd2si edi, xmm6
mov dword [esi + edx*4], edi
dec eax
inc edx
cmp edx, ecx
mov edi, ebx
jne 0x53983a
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp edx, esi
je 0x539c9a
mov dword [edx - 4], 0x7fffffff
mov esi, dword [edi]
mov dword [esp + 4], edi
mov eax, dword [edi + 4]
mov edi, eax
sub edi, esi
je 0x539cfa
js 0x539d04
mov ecx, edi
shr ecx, 2
mov edx, esi
and edi, 3
jne 0x539c3f
sub esi, eax
cmp esi, 0xfffffffc
ja 0x5396f2
mov esi, 0xff
mov edi, ecx
and edi, esi
movzx ebx, byte [edx]
xor ebx, edi
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
mov edi, ecx
and edi, esi
movzx ebx, byte [edx + 1]
xor ebx, edi
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
mov edi, ecx
and edi, esi
movzx ebx, byte [edx + 2]
xor ebx, edi
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
mov edi, ecx
and edi, esi
movzx ebx, byte [edx + 3]
xor ebx, edi
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
add edx, 4
cmp edx, eax
jne 0x5398d9
jmp 0x5396f2
mov byte [eax + 2], 0
mov word [eax], 0
jmp 0x53995e
cmp ecx, 0x3f
je 0x53995e
add eax, ebx
cmp ecx, 0x3c
je 0x539934
mov edx, 0x3f
sub edx, ecx
push edx
push 0
push eax
call fcn.00568ad0
add esp, 0xc
lea eax, [esp + 0x58]
push 1
push ebx
push eax
call fcn.004e2300
add esp, 0xc
xor eax, eax
jmp 0x538fd4
mov eax, esi
shr eax, 6
lea ecx, [esp + 0x58]
push eax
push edx
push ecx
mov edi, edx
call fcn.004e2300
add esp, 0xc
mov eax, esi
and eax, 0x3f
je 0x538faf
mov edx, edi
and esi, 0xffffffc0
add edx, esi
jmp 0x538f9d
mov ecx, dword [ecx + 4]
add ecx, 0x30
jmp 0x539079
mov eax, edi
shr eax, 6
push eax
push esi
lea eax, [esp + 0x60]
push eax
call fcn.004e2300
add esp, 0xc
mov eax, edi
and eax, 0x3f
je 0x53944b
and edi, 0xffffffc0
add esi, edi
jmp 0x539439
lea eax, [esp + 0x30]
and byte [eax + 0x1c], 0xbf
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x6401dc]
lea ecx, [esp + 0x30]
push esi
lea eax, [esp + 0x5c]
push eax
call ebx
mov ebx, dword [esp + 0x58]
lea eax, [esp + 0x30]
mov eax, dword [eax + 0x1c]
lock or dword [ebx + 8], eax
jmp 0x53975b
lea edx, [ebx - 1]
and eax, edx
jmp 0x5392c0
lea edi, [ebx - 1]
and edi, ecx
jmp 0x53917e
xor ebx, ebx
inc ebx
mov ecx, ebx
test eax, eax
jg 0x538ee1
jmp 0x538eee
push esi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x5390a7
mov esi, dword [esi + 0x30]
mov ecx, dword [esi + 4]
push 0x68
push 0xf1645914
push ebx
call fcn.0052c910
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 4]
push ebx
mov ebx, eax
call fcn.0052c980
test ebx, ebx
je 0x539089
cmp byte [ebx + 0x60], 0
je 0x539089
cmp byte [ebx + eax - 1], 0
jne 0x539089
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
mov edx, eax
or edx, ecx
je 0x539089
mov edi, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov esi, edi
or esi, edx
je 0x539089
mov esi, edi
xor esi, eax
mov dword [esp + 0x1c], ebx
mov ebx, edx
xor ebx, ecx
or ebx, esi
setne bl
add eax, 1
adc ecx, 0
xor eax, edi
xor ecx, edx
or ecx, eax
setne al
test bl, al
mov edi, dword [esp + 0x1c]
jne 0x539089
mov esi, edi
add esi, 0x60
push esi
call fcn.0057e5c0
add esp, 4
push eax
push esi
call fcn.00539f60
add esp, 8
xor edx, dword [edi + 0x24]
xor eax, dword [edi + 0x20]
or eax, edx
jne 0x539089
mov ecx, dword [esp + 0xc]
push edi
lea eax, [esp + 0x5c]
push eax
call fcn.0053ad60
mov eax, dword [esp + 0x58]
test eax, eax
je 0x539089
xor esi, esi
mov dword [esp + 0x58], esi
push eax
call fcn.005313f0
add esp, 4
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], esi
test edi, edi
jne 0x539d9a
mov esi, dword [esp + 0x10]
jmp 0x539023
movzx ebx, cl
mov dword [esp + 8], ebx
movzx ebx, byte [edx]
xor ebx, dword [esp + 8]
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
inc edx
dec edi
jne 0x539b31
jmp 0x539698
push 0x64c744
call fcn.0040ea60
add esp, 4
test al, al
je 0x539d85
mov dword [0x64c748], 0
mov esi, 0x64c748
mov dword [0x64c744], esi
jmp 0x539098
push 0x64c744
call fcn.0040ea60
add esp, 4
test al, al
je 0x539d90
mov dword [0x64c748], 0
mov eax, 0x64c748
mov dword [0x64c744], eax
jmp 0x5390c7
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
lea ecx, [eax - 1]
mov dword [esp + 0x48], ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub edx, ecx
cmp edx, 4
jbe 0x539ceb
mov ecx, dword [ecx + 4]
mov dword [esp + 0x40], ecx
lea edx, [eax - 2]
mov ecx, dword [esi]
mov edi, dword [esi + 4]
sub edi, ecx
sar edi, 2
cmp edi, edx
jbe 0x539ceb
mov eax, dword [ecx + eax*4 - 8]
mov dword [esp + 0x44], eax
jmp 0x53970f
mov dword [esp + 4], ecx
push esi
push edx
mov edi, edx
call fcn.00539f60
add esp, 8
push eax
push str.Histogram.TooManyBuckets.1000
call fcn.0053a370
add esp, 8
push 0
push 0x10
push str.Blink.UseCounter
push esi
push edi
call fcn.00537f50
add esp, 0x14
test al, al
je 0x539db1
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 4]
jmp 0x538f00
movzx ebx, cl
mov dword [esp + 8], ebx
movzx ebx, byte [edx]
xor ebx, dword [esp + 8]
shr ecx, 8
xor ecx, dword [ebx*4 + 0x631d30]
inc edx
dec edi
jne 0x539c3f
jmp 0x5398c9
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.00539f60
add esp, 8
push eax
push str.Histogram.MismatchedConstructionArguments
call fcn.0053a370
add esp, 8
call fcn.005c6df0
mov esi, eax
jmp 0x53927d
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00591c90
jmp 0x539089
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x624e92
call fcn.005912b0
mov eax, ecx
jmp 0x538ed6
mov ecx, 0x7ffffffe
jmp 0x538eee
lea ecx, [ebx + 1]
mov dword [esp + 8], 0
jmp 0x538f08
cmp dword [esp + 4], 0xffffffff
jne 0x539c60
xor eax, eax
dec eax
jmp 0x539273
push esi
push edx
call fcn.00539f60
add esp, 8
push eax
push str.Histogram.BadConstructionArguments
jmp 0x539c76
push str....._third_partylibc_srcinclude_vector:1418:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x624e92
call fcn.005912b0
xor ecx, ecx
jmp 0x5396f2
int3
int3
mov ecx, dword [eax + 4]
mov dword [esp + 8], ecx
test ecx, ecx
je 0x539781
lea ecx, [ebx + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0xc
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x58]
lea esi, [esp + 0x54]
push esi
push eax
call fcn.005bab10
add esp, 8
mov ecx, dword [esp + 0x58]
add ecx, 0x14
push dword [esp + 8]
call fcn.00433160
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 4]
lea eax, [ecx + edx*8]
add eax, 8
inc edx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + edx]
add edx, 8
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
test ecx, ecx
jne 0x539d2d
jmp 0x539781
mov esi, dword [0x64c744]
jmp 0x539098
mov eax, dword [0x64c744]
jmp 0x5390c7
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x6401dc]
mov ecx, edi
push 1
call esi
jmp 0x539b28
push 0
push 0x14
push str.PageLoad.Clients.Ads
push esi
push dword [ebp + 8]
call fcn.00537f50
add esp, 0x14
test al, al
jne 0x539c30
mov edi, 0x66
push 2
call fcn.00561770
add esp, 4
test al, al
jne 0x539dee
mov dword [esp + 8], 0
jmp 0x539c33
lea ecx, [esp + 0x58]
push 2
push 0x1bf
push str.histogram.cc
call fcn.004096e0
lea eax, [esp + 0x60]
push 0xb
push str.Histogram:
push eax
call fcn.0052f110
add esp, 0xc
push esi
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.0052f110
add esp, 0xc
push 0x1c
push str._has_too_many_bucket_count:
push eax
call fcn.0052f110
add esp, 0xc
mov ecx, eax
push dword [ebp + 0x18]
call fcn.00455d50
lea ecx, [esp + 0x58]
call fcn.00407fc0
mov edx, dword [ebp + 8]
mov dword [esp + 8], 0
jmp 0x539c36