Function at 0x465ac0
Capabilities:
Check for time delay via queryperformancecounter
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov esi, esp
mov dword [esi + 0xc], ecx
lea ecx, [ebp + 8]
mov eax, dword [0x511014]
xor eax, ebp
mov dword [esi + 0x98], eax
cmp byte [ecx + 0x74], 0
je 0x465c23
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x20]
mov eax, dword [ebx]
mov edi, dword [eax + 8]
cmp edi, 0x492760
jne 0x466159
test byte [0x5131ac], 0x19
jne 0x466b57
lea eax, [ebp + 8]
cmp dword [eax + 0x34], 0
jne 0x465c16
mov eax, dword [0x5261f0]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x466864
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x466067
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0x11e1a300
lea edi, [esi + 0x70]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push edi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
call fcn.004be150
add esp, 0xc
mov eax, dword [0x5261e0]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x466818
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x4660a5
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0x11e1a300
lea edi, [esi + 0x70]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push edi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
call fcn.004be150
add esp, 0xc
lea eax, [ebp + 8]
cmp dword [eax + 0x44], 0
jne 0x466a70
lea eax, [ebp + 8]
mov eax, dword [eax + 0x70]
mov dword [esi + 0x20], eax
mov eax, dword [0x514bd0]
cmp eax, 0x41da10
je 0x466943
mov eax, dword [0x514bd0]
cmp eax, 0x493220
jne 0x465d7b
mov eax, dword [esi + 0x20]
cmp byte [eax], 0
jne 0x46605c
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
cmp edi, 0x476f00
jne 0x4662a2
mov ecx, dword [fcn.0048cd00]
cmp ecx, 0x493220
jne 0x4662b7
xor eax, eax
lea edi, [esi + 0x70]
mov dword [edi + 4], eax
mov dword [edi], eax
push edi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [edi]
mov edi, dword [edi + 4]
cmp ebx, 0x7bd05af7
mov eax, edi
sbb eax, 0x863
jge 0x466bfa
mov ecx, 0xf4240
mov eax, ebx
mul ecx
imul ecx, edi, 0xf4240
add ecx, edx
push dword [0x52120c]
push dword [0x521208]
push ecx
push eax
call fcn.004b5fc0
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], edx
mov eax, dword [esi + 0x20]
cmp byte [eax], 0
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
jne 0x465ce8
mov byte [eax], 1
mov eax, dword [0x5168a0]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4662d2
sub ebx, dword [0x516898]
sbb edi, dword [0x51689c]
seto cl
mov eax, edi
sar eax, 0x1f
test cl, cl
cmovne ebx, eax
add eax, 0x80000000
test cl, cl
cmove eax, edi
lea ecx, [ebp + 8]
mov ecx, dword [ecx + 0x4c]
xor ebx, ecx
sar ecx, 0x1f
xor ecx, eax
mov edx, 0x3afb7e91
mov eax, ebx
mul edx
imul edi, ebx, 0xd288ce70
add edi, edx
imul ecx, ecx, 0x3afb7e91
add ecx, edi
add eax, 0xd6388650
adc ecx, 0x346dc5
mov edx, ecx
shrd edx, eax, 4
shld ecx, eax, 0x1c
mov eax, 0xbac710ca
cmp eax, ecx
mov eax, 0x68db8
sbb eax, edx
jae 0x466652
mov dword [esi + 0x20], esp
push eax
sub esp, 0x6c
mov edi, esp
lea ebx, [ebp + 8]
mov eax, dword [ebx]
mov dword [edi], eax
xor ecx, ecx
mov dword [ebx], ecx
movups xmm0, xmmword [ebx + 4]
movups xmmword [edi + 4], xmm0
movups xmm0, xmmword [ebx + 0x41]
movups xmmword [edi + 0x41], xmm0
movups xmm0, xmmword [ebx + 0x38]
movups xmmword [edi + 0x38], xmm0
movups xmm0, xmmword [ebx + 0x18]
movups xmm1, xmmword [ebx + 0x28]
movups xmmword [edi + 0x28], xmm1
movups xmmword [edi + 0x18], xmm0
mov dl, byte [ebx + 0x5a]
mov byte [edi + 0x5a], dl
movzx edx, word [ebx + 0x58]
mov word [edi + 0x58], dx
mov edx, dword [ebx + 0x5c]
mov dword [edi + 0x5c], edx
mov dword [ebx + 0x5c], ecx
movq xmm0, qword [ebx + 0x60]
movq qword [edi + 0x60], xmm0
mov edx, dword [ebx + 0x68]
mov dword [edi + 0x68], edx
mov dword [ebx + 0x68], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [edi + 0x6c], ecx
test eax, eax
je 0x466940
mov eax, dword [esi + 0xc]
lea ecx, [eax + 0x80]
cmp byte [edi + 0x59], 0
jne 0x46611d
lea edx, [esi + 0x70]
push edi
call fcn.00466df0
add esp, 4
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x46612b
mov ebx, dword [edi + 0x5c]
test ebx, ebx
jne 0x46616e
mov edi, dword [edi]
test edi, edi
jne 0x466268
mov esp, dword [esi + 0x20]
lea eax, [ebp + 8]
mov eax, dword [eax + 0x70]
mov dword [esi + 0x2c], eax
xor eax, eax
dec eax
mov dword [esi + 0x43], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0xc]
mov edi, dword [edx + 0x84]
mov ecx, dword [edx + 0x88]
cmp edi, ecx
je 0x466220
cmp byte [edx + 0xb4], 0
je 0x466220
mov dword [esi + 0x10], 0
cmp dword [edx + 0x90], 0
jne 0x466251
mov eax, dword [edi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x2c]
mov dword [esi + 0x14], edx
mov edx, dword [edi + 0x28]
mov dword [esi + 0x24], edx
mov edx, dword [edi + 0x30]
mov dword [esi + 0x18], edx
mov dl, 1
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0xc]
mov ebx, dword [edx + 0x74]
test ebx, ebx
jne 0x46648e
xor ecx, ecx
dec ecx
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0xc]
mov cl, byte [ecx + 0x118]
cmp byte [esi + 0x20], 0
je 0x466104
test cl, cl
je 0x466104
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 0x120]
xor ecx, dword [esi + 8]
mov edi, dword [edi + 0x124]
xor edi, eax
or edi, ecx
jne 0x465f1e
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 0x128]
xor ecx, dword [esi + 0x24]
mov edi, dword [edi + 0x12c]
xor edi, dword [esi + 0x14]
or edi, ecx
jne 0x465f1e
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
cmp dword [ecx + 0x130], edx
jne 0x465f1e
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x18]
cmp dword [ecx + 0x134], edx
je 0x466012
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x20]
mov byte [ebx + 0x118], cl
mov ecx, dword [esi + 0x40]
mov edi, dword [esi + 0x43]
mov dword [ebx + 0x119], ecx
mov dword [ebx + 0x11c], edi
mov dword [ebx + 0x124], eax
mov dword [esi + 0x30], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x120], eax
mov ecx, dword [esi + 0x14]
mov dword [ebx + 0x12c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebx + 0x128], ecx
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x130], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x134], eax
mov edx, dword [esi + 0x1c]
mov dword [ebx + 0x13c], edx
mov edx, dword [esi + 0x28]
mov dword [ebx + 0x138], edx
mov edi, dword [ebx + 0x70]
mov dword [esi + 0x34], edi
mov eax, dword [esi + 0x20]
mov byte [esi + 0x70], al
mov edi, dword [esi + 0x43]
mov dword [esi + 0x74], edi
mov edi, dword [esi + 0x40]
mov dword [esi + 0x71], edi
mov eax, dword [esi + 8]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], ecx
mov eax, dword [esi + 0x14]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x8c], eax
mov dword [esi + 0x90], edx
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x94], eax
sub esp, 0x30
movsd xmm0, qword [esi + 0x90]
movsd qword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x70]
movups xmm1, xmmword [esi + 0x80]
movups xmmword [esp + 0x18], xmm1
movdqu xmmword [esp + 8], xmm0
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [esi + 0x34]
call fcn.00478fc0
test byte [0x51353c], 9
jne 0x46694d
lea eax, [ebp + 8]
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x466142
lea eax, [ebp + 8]
mov edi, dword [eax + 0x5c]
test edi, edi
jne 0x4661c5
mov edi, dword [eax]
test edi, edi
jne 0x466285
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.00496ce3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x78
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
jmp 0x465ce8
and eax, 0xfffffffc
je 0x465b9c
mov ecx, dword [0x5261e8]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5261ec]
jne 0x465b9c
mov eax, dword [eax + ecx*8]
test eax, eax
je 0x465b9c
mov ecx, dword [eax + 8]
lea edx, [ebp + 8]
mov dword [edx + 0x48], ecx
mov eax, dword [eax + 4]
mov dword [edx + 0x44], eax
jmp 0x465b9c
and eax, 0xfffffffc
je 0x465c16
mov ecx, dword [0x5261d8]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5261dc]
jne 0x465c16
mov eax, dword [eax + ecx*8]
test eax, eax
je 0x465c16
mov ecx, dword [eax + 0x10]
lea edx, [ebp + 8]
mov dword [edx + 0x34], ecx
movsd xmm0, qword [eax + 0x34]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x40], ecx
movsd qword [edx + 0x38], xmm0
cmp byte [eax + 0x50], 0
jne 0x4662cb
cmp dword [eax + 0x40], 0
setne al
lea ecx, [ebp + 8]
mov byte [ecx + 0x50], al
jmp 0x465c16
cmp byte [esi + 0x20], 0
setne ch
test cl, cl
setne cl
cmp ch, cl
je 0x466012
jmp 0x465f1e
mov eax, dword [esi + 0xc]
inc dword [eax + 0x90]
jmp 0x465e02
lock dec dword [eax]
jne 0x465e19
push eax
call fcn.00494aa1
add esp, 4
jmp 0x465e19
lock dec dword [eax]
jne 0x46602d
push eax
call fcn.00494aa1
add esp, 4
jmp 0x46602d
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
lea eax, [ebp + 8]
push eax
call edi
jmp 0x465c16
lock dec dword [ebx + 4]
jne 0x465e24
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
cmp ecx, 0x48fb30
jne 0x466456
mov eax, dword [eax + 4]
cmp eax, 0x492530
jne 0x46642c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4661a7
lock dec dword [eax]
je 0x466924
mov eax, dword [ebx + 8]
test eax, eax
je 0x4661b7
lock dec dword [eax]
je 0x4665cb
push ebx
call fcn.00494aa1
add esp, 4
jmp 0x465e24
lock dec dword [edi + 4]
jne 0x46603b
mov eax, dword [edi]
mov ebx, dword [eax + 8]
cmp ebx, 0x48fb30
jne 0x466469
mov ebx, dword [eax + 4]
cmp ebx, 0x492530
jne 0x466443
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4661ff
lock dec dword [eax]
je 0x466932
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x46620f
lock dec dword [ebx]
je 0x46660d
push edi
call fcn.00494aa1
add esp, 4
lea eax, [ebp + 8]
jmp 0x46603b
mov dword [esi + 0x20], 0
mov dword [esi + 8], 0
xor eax, eax
mov dword [esi + 0x24], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x18], 0
jmp 0x465e9e
mov edx, dword [esi + 0xc]
mov edx, dword [edx + 0x7c]
xor ebx, ebx
cmp byte [edx + 0x20], 5
setb bl
mov dword [esi + 0x10], ebx
jmp 0x465e7e
lock dec dword [edi]
jne 0x465e2e
mov ecx, dword [edi + 8]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x465e2e
lock dec dword [edi]
jne 0x466045
mov ecx, dword [edi + 8]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x466045
mov ecx, edi
call dword [section..00cfg]
lea eax, [esi + 0x48]
mov ecx, ebx
push eax
call edi
jmp 0x465cd1
call dword [section..00cfg]
lea eax, [esi + 0x48]
push eax
call ecx
add esp, 4
jmp 0x465cd1
mov al, 1
jmp 0x4660f9
push 0x5168a0
call fcn.00494ba0
add esp, 4
cmp dword [0x5168a0], 0xffffffff
jne 0x465d09
mov ecx, dword [0x5168ac]
mov eax, dword [0x5168a8]
mov edx, eax
or edx, ecx
mov edx, 0x7fffffff
jne 0x466401
mov ecx, dword [0x514bd0]
cmp ecx, 0x493220
jne 0x46647a
xor eax, eax
lea ecx, [esi + 0x70]
mov dword [ecx + 4], eax
mov dword [ecx], eax
push ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [esi + 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, ecx
cmp ecx, 0x7bd05af7
mov ecx, eax
sbb eax, 0x863
jge 0x466c9b
mov eax, edx
mov edx, 0xf4240
mul edx
imul ecx, ecx, 0xf4240
add ecx, edx
push dword [0x52120c]
push dword [0x521208]
push ecx
push eax
call fcn.004b5fc0
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
lea eax, [esi + 0x48]
push eax
call fcn.0048ce40
add esp, 4
mov eax, 0xb779c000
lea ecx, [esi + 0x48]
add eax, dword [ecx]
mov edx, 0xffd6a169
adc edx, dword [ecx + 4]
seto byte [esi + 8]
mov ecx, edx
sar ecx, 0x1f
cmp byte [esi + 8], 0
cmovne eax, ecx
add ecx, 0x80000000
cmp byte [esi + 8], 0
cmove ecx, edx
xor edx, edx
dec edx
mov dword [esi + 8], eax
add edx, eax
mov eax, 0x7fffffff
adc eax, ecx
add edx, 2
adc eax, 0
cmp edx, 2
mov edx, dword [esi + 0x70]
mov dword [esi + 0x10], edx
sbb eax, 0
mov eax, dword [esi + 0x74]
jb 0x466c77
mov edx, dword [esi + 0x10]
sub edx, dword [esi + 8]
sbb eax, ecx
seto cl
mov byte [esi + 0x10], cl
mov dword [esi + 8], eax
sar eax, 0x1f
test cl, cl
lea ecx, [eax - 0x80000000]
cmove eax, edx
cmp byte [esi + 0x10], 0
cmove ecx, dword [esi + 8]
mov edx, 0x7fffffff
mov dword [0x516898], eax
mov dword [0x51689c], ecx
xor eax, eax
dec eax
mov dword [0x5168a8], eax
mov dword [0x5168ac], edx
push 0x5168a0
call fcn.00495b95
add esp, 4
jmp 0x465d09
mov ecx, eax
mov dword [esi + 8], eax
call dword [section..00cfg]
mov ecx, ebx
push 1
call dword [esi + 8]
jmp 0x465e24
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
call ebx
jmp 0x466218
mov dword [esi + 8], ecx
call dword [section..00cfg]
mov ecx, ebx
call dword [esi + 8]
jmp 0x465e24
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
jmp 0x466218
call dword [section..00cfg]
lea eax, [esi + 0x70]
push eax
call ecx
add esp, 4
jmp 0x466370
mov edx, dword [esi + 0xc]
cmp byte [edx + 0xb4], 0
je 0x466647
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x78]
cmp dword [eax + 8], 0
jne 0x4668d9
mov eax, dword [edx + 0x7c]
cmp dword [eax + 8], 0
jne 0x4668d9
cmp edi, ecx
jne 0x4668e2
mov edi, dword [esi + 0xc]
lea eax, [edi + 0x10]
mov dword [esi + 0x28], eax
push eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x466d55
cmp dword [edi + 0x20], 0
setne byte [esi + 0x1c]
push dword [esi + 0x28]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0x20]
mov byte [esi + 0x48], al
mov eax, dword [esi + 0x40]
mov dword [esi + 0x49], eax
mov eax, dword [esi + 0x43]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x64], eax
xor eax, eax
dec eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], eax
mov eax, dword [ebx]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [section..00cfg]
sub esp, 0x34
movsd xmm0, qword [esi + 0x68]
movsd qword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x48]
movups xmm1, xmmword [esi + 0x58]
movups xmmword [esp + 0x18], xmm1
movdqu xmmword [esp + 8], xmm0
movzx eax, byte [esi + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
lea eax, [esi + 0x70]
mov dword [esp], eax
mov ecx, ebx
call edi
mov al, byte [esi + 0x70]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x71]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x43], eax
mov ecx, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
mov dword [esi + 8], eax
mov eax, ecx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x18], ecx
jmp 0x465eb2
mov dword [esi + 8], eax
mov eax, dword [eax + 0x10]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x518914]
bt edx, ecx
jb 0x466d2d
mov eax, dword [esi + 8]
mov dword [eax + 0x10], 0
lea ecx, [eax + 4]
call fcn.0040a0c0
push dword [esi + 8]
call fcn.00494aa1
add esp, 4
jmp 0x4661b7
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x518914]
bt edx, ecx
jb 0x466d3b
mov dword [ebx + 0x10], 0
lea ecx, [ebx + 4]
call fcn.0040a0c0
push ebx
call fcn.00494aa1
add esp, 4
jmp 0x46620f
xor ecx, ecx
dec ecx
mov dword [esi + 0x28], ecx
jmp 0x465eac
mov ecx, dword [esi + 0x20]
cmp byte [ecx], 0
jne 0x46680d
mov edi, dword [ecx + 0x18]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
cmp ebx, 0x476f00
jne 0x4668b0
mov ecx, dword [fcn.0048cd00]
cmp ecx, 0x493220
jne 0x4668c5
xor eax, eax
lea edi, [esi + 0x70]
mov dword [edi + 4], eax
mov dword [edi], eax
push edi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [edi]
mov edi, dword [edi + 4]
cmp ebx, 0x7bd05af7
mov eax, edi
sbb eax, 0x863
jge 0x466d62
mov ecx, 0xf4240
mov eax, ebx
mul ecx
imul ecx, edi, 0xf4240
add ecx, edx
push dword [0x52120c]
push dword [0x521208]
push ecx
push eax
call fcn.004b5fc0
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0x20]
cmp byte [edx], 0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
jne 0x4666ee
mov byte [edx], 1
lea edi, [ebp + 8]
mov edx, dword [edi + 0x20]
sub edx, eax
mov eax, dword [edi + 0x24]
sbb eax, ecx
seto bl
mov ecx, eax
sar ecx, 0x1f
test bl, bl
cmovne edx, ecx
add ecx, 0x80000000
test bl, bl
cmove ecx, eax
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], ecx
mov ecx, dword [0x526140]
test ecx, ecx
jne 0x466784
xor eax, eax
xor ecx, ecx
dec ecx
add ecx, 0xd693a401
adc eax, 0xffffffff
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0x3e8
sub esp, 0x1c
movsd xmm0, qword [esi + 0x40]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esi + 0x38]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x32
mov dword [esp], str.Scheduler.TaskQueueImpl.PostDelayedTaskDelay
call fcn.0045dc90
add esp, 0x1c
mov ecx, eax
mov dword [0x526140], eax
lea eax, [esi + 0x48]
push eax
call fcn.00467dc0
mov ebx, dword [0x526144]
test ebx, ebx
jne 0x4667d9
lea edi, [esi + 0x70]
mov ecx, edi
push str.Scheduler.TaskQueueImpl.DelayedIncomingQueueSize
call fcn.004be240
sub esp, 0x14
movaps xmm0, xmmword [0x5098a0]
movups xmmword [esp + 4], xmm0
mov dword [esp], edi
call fcn.00486200
add esp, 0x14
mov ebx, eax
cmp byte [edi + 0xb], 0
jns 0x4667d3
push dword [esi + 0x70]
call fcn.00494aa1
add esp, 4
mov dword [0x526144], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x88]
sub eax, dword [ecx + 0x84]
sar eax, 4
imul eax, eax, 0xb6db6db7
mov dword [esi + 0x20], eax
mov eax, dword [ebx]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push dword [esi + 0x20]
call edi
jmp 0x465d7b
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
jmp 0x4666ee
push 0x5261e0
call fcn.00494ba0
add esp, 4
cmp dword [0x5261e0], 0xffffffff
jne 0x465bbd
mov dword [0x5261dc], 0
mov dword [0x5261d8], 0xffffffff
mov ecx, 0x5261d8
push 0
call fcn.00404c70
push 0x5261e0
call fcn.00495b95
add esp, 4
jmp 0x465bbd
push 0x5261f0
call fcn.00494ba0
add esp, 4
cmp dword [0x5261f0], 0xffffffff
jne 0x465b43
mov dword [0x5261ec], 0
mov dword [0x5261e8], 0xffffffff
mov ecx, 0x5261e8
push 0
call fcn.00404c70
push 0x5261f0
call fcn.00495b95
add esp, 4
jmp 0x465b43
mov ecx, ebx
call dword [section..00cfg]
lea eax, [esi + 0x48]
mov ecx, edi
push eax
call ebx
jmp 0x4666d7
call dword [section..00cfg]
lea eax, [esi + 0x48]
push eax
call ecx
add esp, 4
jmp 0x4666d7
mov byte [esi + 0x1c], 1
jmp 0x4664ec
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2b0]
mov dword [esi + 0x1c], eax
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esi + 0x28], ecx
call dword [section..00cfg]
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x70]
push eax
call dword [esi + 0x28]
mov eax, dword [esi + 0x70]
cmp eax, dword [edi + 0x20]
mov eax, dword [esi + 0x74]
sbb eax, dword [edi + 0x24]
mov byte [esi + 0x1c], 1
jl 0x4664c3
jmp 0x4664ec
push eax
call fcn.00494aa1
add esp, 4
jmp 0x4661a7
push eax
call fcn.00494aa1
add esp, 4
jmp 0x4661ff
int3
call fcn.0041da40
jmp 0x465c3c
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
jne 0x46601f
mov eax, dword [esi + 0xc]
lea ebx, [eax + 0x10]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x466d49
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x20]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x20], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x88]
mov dword [esi + 0x14], eax
mov edi, dword [edx + 0x84]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x51353c], 0x19
je 0x46601f
mov eax, dword [esi + 0x14]
sub eax, edi
mov edi, dword [esi + 0x20]
add edi, dword [esi + 8]
add edi, dword [esi + 0x10]
sar eax, 4
imul eax, eax, 0xb6db6db7
add edi, eax
mov eax, dword [esi + 0xc]
push dword [eax]
call fcn.004ef470
add esp, 4
mov ebx, eax
lea eax, [esi + 0x48]
push eax
call fcn.0048cd00
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x70], xmm0
movdqa xmmword [esi + 0x80], xmm0
mov word [esi + 0x70], 0x301
mov dword [esi + 0x74], str.value
mov ecx, edi
sar ecx, 0x1f
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], edi
sub esp, 0x30
lea ecx, [esi + 0x48]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x2c], eax
lea edi, [esi + 0x70]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x51353c
mov dword [esp], 0x43
call fcn.0047eb60
add esp, 0x30
mov ecx, edi
call fcn.0045bed0
jmp 0x46601f
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x148], 0
je 0x465c23
test byte [0x5134ac], 9
je 0x465c23
mov eax, dword [esi + 0xc]
cmp byte [eax + 0xb4], 0
jne 0x465c23
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x160], 0
je 0x465c23
xor eax, eax
dec eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x2b0]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
lea eax, [esi + 0x70]
mov ecx, edi
push eax
call ebx
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x148], 0
je 0x466ddf
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0xc]
sub eax, dword [edx + 0x150]
mov ecx, dword [esi + 0x74]
sbb ecx, dword [edx + 0x154]
seto bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
cmovne eax, edx
add edx, 0x80000000
test bl, bl
cmove edx, ecx
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
test byte [0x5134ac], 0x19
je 0x465c23
lea eax, [esi + 0x40]
lea ecx, [esi + 0x48]
mov dword [ecx], eax
lea eax, [ebp + 8]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], eax
sub esp, 8
movsd xmm0, qword [esi + 0x70]
movsd qword [esp], xmm0
call fcn.004ef490
add esp, 8
jmp 0x465c23
add ebx, 0x134
lea eax, [ebp + 8]
mov edi, dword [eax + 0x4c]
xor ebx, dword [0x515c38]
xor edi, dword [0x515c3c]
lea eax, [esi + 0x70]
mov dword [eax + 0xc], 0x401200
mov dword [eax + 0x10], 0x50510c
push 8
call fcn.00494aa6
add esp, 4
mov dword [eax + 4], edi
mov dword [eax], ebx
lea ecx, [esi + 0x70]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], eax
sub esp, 0x1c
movsd xmm0, qword [esi + 0x48]
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0x18], ecx
mov edi, ecx
mov dword [esp + 0xc], 0x502e28
mov dword [esp + 8], 0x50a438
mov dword [esp + 4], 0x5131ac
mov dword [esp], 0x49
call section..text
add esp, 0x1c
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x465b15
mov edi, dword [esi + 0x74]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x465b15
mov eax, dword [0x521208]
mov dword [esi + 8], eax
mov ecx, dword [0x52120c]
mov dword [esi + 0x10], ecx
push ecx
push eax
push edi
push ebx
call fcn.004b5fc0
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], edx
mul dword [esi + 8]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x14]
imul ecx, dword [esi + 0x10]
add edx, ecx
mov eax, dword [esi + 0x24]
imul ecx, eax, 0xf4240
mov dword [esi + 0x18], ecx
imul eax, dword [esi + 8]
add eax, edx
sub ebx, dword [esi + 0x1c]
sbb edi, eax
mov ecx, 0xf4240
mov eax, dword [esi + 0x14]
mul ecx
mov dword [esi + 0x14], eax
add edx, dword [esi + 0x18]
mov dword [esi + 0x18], edx
mov eax, ebx
mul ecx
imul ecx, edi, 0xf4240
add edx, ecx
push dword [esi + 0x10]
push dword [esi + 8]
push edx
push eax
call fcn.004b5fc0
add eax, dword [esi + 0x14]
adc edx, dword [esi + 0x18]
jmp 0x465ccb
mov edx, eax
mov eax, dword [esi + 0x10]
xor eax, dword [esi + 8]
xor edx, ecx
or edx, eax
mov eax, 0xffffffff
mov ecx, 0x7fffffff
mov edx, 0x7fffffff
jne 0x466401
int3
mov eax, dword [0x521208]
mov dword [esi + 8], eax
mov eax, dword [0x52120c]
mov dword [esi + 0x10], eax
push eax
push dword [esi + 8]
mov dword [esi + 0x1c], ecx
push ecx
mov dword [esi + 0x14], edx
push edx
call fcn.004b5fc0
mov dword [esi + 0x18], eax
mov dword [esi + 0x2c], edx
mul dword [esi + 8]
mov dword [esi + 0x28], eax
mov eax, edx
mov ecx, dword [esi + 0x18]
imul ecx, dword [esi + 0x10]
add eax, ecx
mov edx, dword [esi + 0x2c]
imul ecx, edx, 0xf4240
mov dword [esi + 0x24], ecx
imul edx, dword [esi + 8]
add edx, eax
mov eax, dword [esi + 0x28]
sub dword [esi + 0x14], eax
mov ecx, dword [esi + 0x1c]
sbb ecx, edx
mov eax, dword [esi + 0x18]
mov edx, 0xf4240
mul edx
mov dword [esi + 0x18], eax
add edx, dword [esi + 0x24]
mov dword [esi + 0x1c], edx
mov eax, dword [esi + 0x14]
mov edx, 0xf4240
mul edx
imul ecx, ecx, 0xf4240
add edx, ecx
push dword [esi + 0x10]
push dword [esi + 8]
push edx
push eax
call fcn.004b5fc0
add eax, dword [esi + 0x18]
adc edx, dword [esi + 0x1c]
jmp 0x46636a
push eax
call fcn.00454d60
add esp, 4
jmp 0x4665eb
push eax
call fcn.00454d60
add esp, 4
jmp 0x46662a
mov ecx, ebx
call fcn.004597a0
jmp 0x466979
mov ecx, dword [esi + 0x28]
call fcn.004597a0
jmp 0x4664db
mov eax, dword [0x521208]
mov dword [esi + 8], eax
mov ecx, dword [0x52120c]
mov dword [esi + 0x10], ecx
push ecx
push eax
push edi
push ebx
call fcn.004b5fc0
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], edx
mul dword [esi + 8]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x14]
imul ecx, dword [esi + 0x10]
add edx, ecx
mov eax, dword [esi + 0x24]
imul ecx, eax, 0xf4240
mov dword [esi + 0x18], ecx
imul eax, dword [esi + 8]
add eax, edx
sub ebx, dword [esi + 0x1c]
sbb edi, eax
mov ecx, 0xf4240
mov eax, dword [esi + 0x14]
mul ecx
mov dword [esi + 0x14], eax
add edx, dword [esi + 0x18]
mov dword [esi + 0x18], edx
mov eax, ebx
mul ecx
imul ecx, edi, 0xf4240
add edx, ecx
push dword [esi + 0x10]
push dword [esi + 8]
push edx
push eax
call fcn.004b5fc0
add eax, dword [esi + 0x14]
adc edx, dword [esi + 0x18]
jmp 0x4666d1
call fcn.004bfaf0
int3