Function at 0x464100
Capabilities:
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, 0x70
mov esi, esp
mov eax, dword [0x511014]
xor eax, ebp
mov dword [esi + 0x68], eax
cmp dword [ebp + 8], 0
je 0x464af2
lea eax, [ecx + 0x10]
mov dword [esi + 0x18], eax
push eax
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x464a24
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x40]
test eax, eax
mov dword [esi + 4], ebx
je 0x464663
mov ebx, dword [edi + 0x2b0]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
cmp edi, 0x476f00
jne 0x464760
mov ecx, dword [fcn.0048cd00]
cmp ecx, 0x493220
jne 0x464780
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
mov eax, 0x7bd05af6
cmp eax, ebx
mov eax, 0x863
sbb eax, edi
jl 0x464ce0
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 + 0x40], eax
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov edi, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
nop word [eax + eax]
mov ebx, eax
add ebx, 1
mov ecx, edx
adc ecx, 0
lock cmpxchg8b qword [edi + 0x18]
jne 0x4641f0
mov dword [esi + 0x20], esp
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x20]
mov dword [esi + 0x1c], ecx
push eax
sub esp, 0x6c
mov edi, esp
mov dword [esi + 0x14], esp
mov dword [esi + 8], edi
sub esp, 0x5c
mov ecx, esp
mov dword [ecx + 0x54], 0
mov dword [ecx + 0x58], 0
mov ebx, dword [esi + 0x10]
mov dword [ecx + 0x4c], ebx
mov ebx, dword [esi + 0xc]
mov dword [ecx + 0x48], ebx
mov dword [ecx + 0x44], edx
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x38], eax
lea edx, [ebp + 8]
mov eax, dword [edx]
mov dword [esi + 0x2c], eax
mov dword [edx], 0
lea eax, [ecx + 4]
mov dword [esi + 0x28], eax
movups xmm0, xmmword [edx + 4]
movups xmmword [ecx + 4], xmm0
movsd xmm0, qword [edx + 0x24]
movsd qword [ecx + 0x24], xmm0
movups xmm0, xmmword [edx + 0x14]
movups xmmword [ecx + 0x14], xmm0
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0x2c], eax
mov dword [edx + 0x2c], 0
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x30], eax
mov dword [edx + 0x30], 0
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x50], 0
mov eax, dword [ecx + 0x28]
mov dword [esi + 0x24], eax
xor eax, eax
cmp dword [ecx + 0x20], 1
mov edx, 0
je 0x464775
mov ebx, dword [esi + 0x2c]
mov dword [edi], ebx
mov dword [ecx], 0
mov ebx, dword [esi + 0x28]
movups xmm0, xmmword [ebx]
movups xmmword [edi + 4], xmm0
mov ebx, dword [esi + 0x10]
mov dword [edi + 0x1c], ebx
mov ebx, dword [esi + 0xc]
mov dword [edi + 0x18], ebx
mov dword [edi + 0x24], edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x2c], 0
mov dword [edi + 0x28], 0
mov eax, dword [esi + 0x24]
mov dword [edi + 0x30], eax
xorps xmm0, xmm0
movups xmmword [edi + 0x34], xmm0
movups xmmword [edi + 0x41], xmm0
movzx eax, byte [ecx + 0x14]
mov byte [edi + 0x58], al
movzx eax, byte [ecx + 0x15]
mov byte [edi + 0x5a], al
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x5c], eax
mov dword [ecx + 0x2c], 0
movsd xmm0, qword [ecx + 0x40]
movsd qword [edi + 0x60], xmm0
mov eax, dword [ecx + 0x30]
mov dword [edi + 0x68], eax
mov dword [ecx + 0x30], 0
mov eax, dword [ecx + 0x34]
mov dword [edi + 0x6c], eax
mov eax, dword [ecx + 0x38]
cmp dword [ecx + 0x50], 1
mov dword [edi + 0x4c], eax
sete byte [edi + 0x59]
mov ebx, dword [ecx]
test ebx, ebx
jne 0x464729
mov esp, dword [esi + 0x14]
mov eax, dword [esi + 4]
cmp dword [eax + 0x18], 0
je 0x4648fc
mov edx, dword [eax + 0x1c]
mov ecx, dword [esi + 8]
lea eax, [ecx + 4]
mov dword [esi + 0x10], eax
lea eax, [ecx + 0x18]
mov dword [esi + 0xc], eax
add ecx, 0x58
mov dword [esi + 8], ecx
mov ecx, dword [edx]
mov dword [esi + 0x14], ecx
mov eax, dword [edx + 8]
inc eax
xor ebx, ebx
cmp eax, ecx
mov ecx, edx
mov edx, eax
cmove edx, ebx
cmp dword [ecx + 4], edx
mov edx, ecx
mov ecx, dword [esi + 0x14]
je 0x464973
cmp eax, ecx
cmovne ebx, eax
mov dword [edx + 8], ebx
mov eax, dword [edx + 0xc]
imul ecx, ebx, 0x70
mov edx, dword [edi]
mov dword [eax + ecx], edx
mov dword [edi], 0
mov edx, dword [esi + 0x10]
movups xmm0, xmmword [edx]
movups xmmword [eax + ecx + 4], xmm0
mov edx, dword [esi + 0xc]
movups xmm0, xmmword [edx + 0x29]
movups xmmword [eax + ecx + 0x41], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [eax + ecx + 0x38], xmm0
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
movups xmmword [eax + ecx + 0x28], xmm1
movups xmmword [eax + ecx + 0x18], xmm0
mov ebx, dword [esi + 8]
movzx edx, word [ebx]
mov word [eax + ecx + 0x58], dx
movzx edx, byte [ebx + 2]
mov byte [eax + ecx + 0x5a], dl
mov edx, dword [edi + 0x5c]
mov dword [eax + ecx + 0x5c], edx
mov dword [edi + 0x5c], 0
movq xmm0, qword [edi + 0x60]
movq qword [eax + ecx + 0x60], xmm0
mov edx, dword [edi + 0x68]
mov dword [eax + ecx + 0x68], edx
mov dword [edi + 0x68], 0
mov edx, dword [edi + 0x6c]
mov dword [eax + ecx + 0x6c], edx
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
inc eax
mov dword [ecx + 0x20], eax
cmp edx, eax
cmova eax, edx
mov dword [ecx + 0x24], eax
mov esp, dword [esi + 0x20]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x1c]
imul edi, dword [edx + 8], 0x70
add edi, dword [edx + 0xc]
mov dword [esi + 8], edi
mov ebx, dword [eax + 0x20]
mov eax, dword [ebx]
mov edi, dword [eax + 8]
cmp edi, 0x492760
jne 0x464715
test byte [0x5131ac], 0x19
jne 0x464c3e
mov ebx, dword [esi + 8]
cmp dword [ebx + 0x34], 0
jne 0x464568
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 0x464aa6
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x46467e
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0x11e1a300
lea edi, [esi + 0x40]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push edi
call fcn.00454af0
add esp, 4
movq xmm0, qword [esi + 0x38]
movq 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 0x464a5a
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x4646b9
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0x11e1a300
lea edi, [esi + 0x40]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push edi
call fcn.00454af0
add esp, 4
movq xmm0, qword [esi + 0x38]
movq qword [esp + 4], xmm0
mov dword [esp], edi
call fcn.004be150
add esp, 0xc
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x1c]
mov edi, dword [eax + 0xc]
imul ebx, dword [eax + 8], 0x70
cmp dword [edi + ebx + 0x44], 0
jne 0x464af5
mov edi, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
cmp edi, ebx
jne 0x464f1d
cmp dword [esi + 0x1c], 0
jne 0x464648
cmp byte [ecx + 0x30], 0
je 0x464648
mov eax, dword [ecx + 0x16c]
mov edx, dword [ecx + 0x170]
lock or dword [eax], edx
movzx ebx, byte [ecx + 0x31]
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x4647b4
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x20]
mov eax, dword [ebx]
mov edi, dword [eax + 0xc]
cmp edi, 0x48c4a0
jne 0x464746
mov eax, dword [ebx + 0x120]
nop word cs:[eax + eax]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [ebx + 0x120], ecx
jne 0x4645f0
cmp eax, 4
jne 0x4647b4
mov edi, dword [ebx + 0x130]
mov eax, dword [edi]
mov ebx, dword [eax + 0xc]
cmp ebx, 0x493be0
je 0x464794
cmp ebx, 0x4949c0
je 0x464816
cmp ebx, 0x493ae0
je 0x464830
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
jmp 0x4647b4
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x51353c], 9
je 0x4647c1
jmp 0x464b2a
xor ecx, ecx
cmp byte [ebx + 0x176], 0
jne 0x46414a
mov dword [esi + 0x10], 0
jmp 0x4641de
and eax, 0xfffffffc
je 0x4644eb
mov ecx, dword [0x5261e8]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5261ec]
jne 0x4644eb
mov eax, dword [eax + ecx*8]
test eax, eax
je 0x4644eb
mov ecx, dword [eax + 8]
mov dword [ebx + 0x48], ecx
mov eax, dword [eax + 4]
mov dword [ebx + 0x44], eax
jmp 0x4644eb
and eax, 0xfffffffc
je 0x464565
mov ecx, dword [0x5261d8]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5261dc]
jne 0x464565
mov eax, dword [eax + ecx*8]
test eax, eax
mov ecx, dword [esi + 4]
je 0x464568
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x34], edx
movq xmm0, qword [eax + 0x34]
mov edx, dword [eax + 0x3c]
mov dword [ebx + 0x40], edx
movq qword [ebx + 0x38], xmm0
cmp byte [eax + 0x50], 0
jne 0x4648f5
cmp dword [eax + 0x40], 0
setne al
mov byte [ebx + 0x50], al
jmp 0x464568
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push dword [esi + 8]
call edi
jmp 0x464565
lock dec dword [ebx]
jne 0x464346
mov ecx, dword [ebx + 8]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x464346
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
test byte [0x51353c], 9
je 0x4647c1
jmp 0x464b2a
mov ecx, edi
call dword [section..00cfg]
lea eax, [esi + 0x40]
mov ecx, ebx
push eax
call edi
jmp 0x4641cf
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
jmp 0x4642b0
call dword [section..00cfg]
lea eax, [esi + 0x40]
push eax
call ecx
add esp, 4
jmp 0x4641cf
mov cl, 1
xor eax, eax
lock cmpxchg byte [edi + 4], cl
jne 0x4647b4
push edi
push edi
push 0
push dword [edi + 0xc]
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
je 0x464d5d
test byte [0x51353c], 9
jne 0x464b2a
lea edi, [ebp + 8]
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x4647f0
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x464a31
mov edi, dword [edi]
test edi, edi
jne 0x464800
mov ecx, dword [esi + 0x68]
xor ecx, ebp
call fcn.00496ce3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x3c
lock dec dword [eax]
jne 0x4647cb
push eax
call fcn.00494aa1
add esp, 4
jmp 0x4647cb
lock dec dword [edi]
jne 0x4647dc
mov ecx, dword [edi + 8]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x4647dc
add edi, 8
test byte [0x513224], 0x19
jne 0x464e10
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x4647b4
xor ecx, ecx
mov dl, 1
xor eax, eax
lock cmpxchg byte [edi + 4], dl
jne 0x4647b4
push ecx
push ecx
push 0x401
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x4647b4
xor eax, eax
xchg byte [edi + 4], al
mov ebx, dword [0x526094]
test ebx, ebx
jne 0x46488f
sub esp, 0x14
movdqa xmm0, xmmword [0x506fa0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], str.Chrome.MessageLoopProblem
call fcn.0047c4d0
add esp, 0x14
mov ebx, eax
mov dword [0x526094], eax
mov eax, dword [ebx]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push 0
call edi
test byte [0x512ba0], 0x19
je 0x4647b4
lea edi, [esi + 0x40]
push edi
call fcn.0048cd00
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 8
mov dword [esp + 8], str.Chrome.MessageLoopProblem.MESSAGE_POST_ERROR
jmp 0x464df4
mov al, 1
jmp 0x46470d
push 0x14
call fcn.00494aa6
add esp, 4
mov dword [eax], 4
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [esi + 0xc], eax
mov dword [eax + 8], ecx
push 0x1c0
call fcn.00495b47
add esp, 4
mov edx, eax
shr edx, 0xe
mov ecx, eax
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
mov ebx, eax
bt ecx, edx
jb 0x464a16
shr eax, 0x15
mov byte [eax + 0x520914], 1
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], ebx
mov dword [edx + 0x10], 0
mov eax, dword [esi + 4]
mov ebx, dword [eax + 0x18]
mov dword [eax + 0x18], edx
test ebx, ebx
mov ecx, dword [esi + 8]
jne 0x464eab
mov dword [eax + 0x1c], edx
jmp 0x46435c
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
lea ecx, [esi + 0x40]
mov dword [ecx], eax
push ecx
call fcn.00459370
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 1
add eax, ecx
add eax, 2
mov dword [esi + 0x14], eax
push 0x14
call fcn.00494aa6
add esp, 4
mov ecx, dword [esi + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov ebx, eax
imul eax, ecx, 0x70
push eax
call fcn.00495b47
add esp, 4
mov edx, eax
shr edx, 0xe
mov ecx, eax
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
bt ecx, edx
jb 0x464a49
mov ecx, eax
shr ecx, 0x15
mov byte [ecx + 0x520914], 1
mov edx, ebx
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0
mov ebx, dword [esi + 4]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x10], edx
test ecx, ecx
jne 0x464ec9
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x1c], edx
mov ecx, dword [edx]
mov eax, dword [edx + 8]
inc eax
xor ebx, ebx
jmp 0x464390
push eax
call fcn.00455550
add esp, 4
jmp 0x46494a
mov ecx, dword [esi + 0x18]
call fcn.004597a0
jmp 0x464139
lock dec dword [eax + 4]
jne 0x4647d6
push eax
call fcn.0046f8d0
add esp, 4
jmp 0x4647d6
push eax
mov dword [esi + 0x14], eax
call fcn.00455550
mov eax, dword [esi + 0x14]
add esp, 4
jmp 0x4649e0
push 0x5261e0
call fcn.00494ba0
add esp, 4
cmp dword [0x5261e0], 0xffffffff
jne 0x46450c
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 0x46450c
push 0x5261f0
call fcn.00494ba0
add esp, 4
cmp dword [0x5261f0], 0xffffffff
jne 0x464492
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 0x464492
int3
test byte [0x5134ac], 9
je 0x46457d
xor eax, eax
lea edx, [esi + 0x30]
mov dword [edx + 4], eax
mov dword [edx], eax
call fcn.004ef3c0
test al, al
je 0x464b22
test byte [0x5134ac], 0x19
jne 0x464eee
mov ecx, dword [esi + 4]
jmp 0x46457d
mov eax, dword [esi + 4]
mov eax, dword [eax + 8]
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
jne 0x4647c1
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x464ee1
mov edx, dword [esi + 4]
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 + 0x10], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
mov ebx, dword [edx + 0x88]
mov edi, dword [edx + 0x84]
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x51353c], 0x19
je 0x4647c1
sub ebx, edi
mov edi, dword [esi + 0x10]
add edi, dword [esi + 8]
add edi, dword [esi + 0xc]
sar ebx, 4
imul eax, ebx, 0xb6db6db7
add edi, eax
mov eax, dword [esi + 4]
push dword [eax]
call fcn.004ef470
add esp, 4
mov dword [esi + 4], eax
lea eax, [esi + 0x38]
push eax
call fcn.0048cd00
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
pcmpeqd xmm0, xmm0
lea ebx, [esi + 0x40]
movdqa xmmword [ebx], xmm0
movdqa xmmword [ebx + 0x10], xmm0
mov word [ebx], 0x301
mov dword [ebx + 4], str.value
mov ecx, edi
sar ecx, 0x1f
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x10], edi
sub esp, 0x30
lea ecx, [esi + 0x38]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x51353c
mov dword [esp], 0x43
call fcn.0047eb60
add esp, 0x30
mov ecx, ebx
call fcn.0045bed0
jmp 0x4647c1
add ebx, 0x134
mov eax, dword [esi + 8]
mov edi, dword [eax + 0x4c]
xor ebx, dword [0x515c38]
xor edi, dword [0x515c3c]
lea eax, [esi + 0x40]
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 + 0x40]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], eax
sub esp, 0x1c
movq xmm0, qword [esi + 0x38]
movq 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 0x464cd8
mov edi, dword [esi + 0x44]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [esi + 4]
jmp 0x464464
mov eax, dword [0x521208]
mov dword [esi + 8], eax
mov ecx, dword [0x52120c]
mov dword [esi + 0xc], ecx
push ecx
push eax
push edi
push ebx
call fcn.004b5fc0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mul dword [esi + 8]
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x10]
imul ecx, dword [esi + 0xc]
add edx, ecx
mov eax, dword [esi + 0x14]
imul ecx, eax, 0xf4240
mov dword [esi + 0x1c], ecx
imul eax, dword [esi + 8]
add eax, edx
sub ebx, dword [esi + 0x20]
sbb edi, eax
mov ecx, 0xf4240
mov eax, dword [esi + 0x10]
mul ecx
mov dword [esi + 0x10], eax
add edx, dword [esi + 0x1c]
mov dword [esi + 0x1c], edx
mov eax, ebx
mul ecx
imul ecx, edi, 0xf4240
add edx, ecx
push dword [esi + 0xc]
push dword [esi + 8]
push edx
push eax
call fcn.004b5fc0
add eax, dword [esi + 0x10]
adc edx, dword [esi + 0x1c]
jmp 0x4641c9
xor eax, eax
xchg byte [edi + 4], al
mov ebx, dword [0x526098]
test ebx, ebx
jne 0x464d93
sub esp, 0x14
movdqa xmm0, xmmword [0x506fa0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], str.Chrome.MessageLoopProblem
call fcn.0047c4d0
add esp, 0x14
mov ebx, eax
mov dword [0x526098], eax
mov eax, dword [ebx]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push 1
call edi
test byte [0x512ba0], 0x19
je 0x4647b4
lea edi, [esi + 0x40]
push edi
call fcn.0048cd00
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 8
mov dword [esp + 8], str.Chrome.MessageLoopProblem.COMPLETION_POST_ERROR
mov dword [esp + 4], 0x512ba0
mov dword [esp], 0x49
call fcn.0047eb60
add esp, 0x30
jmp 0x4647b4
mov eax, dword [0x515c3c]
mov dword [esi + 0xc], eax
mov ebx, dword [0x515c38]
mov dword [esi + 8], edi
xor ebx, edi
lea edi, [esi + 0x40]
mov dword [edi + 0xc], 0x401200
mov dword [edi + 0x10], 0x50510c
push 8
call fcn.00494aa6
add esp, 4
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [edi + 4], eax
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], eax
sub esp, 0x1c
movq xmm0, qword [esi + 0x38]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], 0x502e28
mov dword [esp + 8], str.WaitableEvent::Signal
mov dword [esp + 4], 0x513224
mov dword [esp], 0x49
call section..text
add esp, 0x1c
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x464ea3
mov edi, dword [esi + 0x44]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [esi + 8]
jmp 0x464826
mov ecx, ebx
call fcn.00401290
push ebx
call fcn.00494aa1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
add esp, 4
mov edx, dword [eax + 0x18]
jmp 0x46496b
mov ebx, ecx
call fcn.00401290
push ebx
call fcn.00494aa1
mov ebx, dword [esi + 4]
add esp, 4
jmp 0x464a00
mov ecx, dword [esi + 0x18]
call fcn.004597a0
jmp 0x464b52
add edi, ebx
lea ecx, [esi + 0x38]
lea eax, [esi + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edi
xor eax, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], eax
sub esp, 8
movq xmm0, qword [esi + 0x40]
movq qword [esp], xmm0
call fcn.004ef490
add esp, 8
jmp 0x464b22
mov eax, dword [ecx + 0x1c]
imul ecx, dword [eax + 8], 0x70
add ecx, dword [eax + 0xc]
mov dword [esi + 8], ecx
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x464f71
xor eax, eax
inc eax
mov dword [esi + 0xc], ecx
lock xadd dword [ecx], eax
test eax, eax
jle 0x464f89
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
call dword [section..00cfg]
push dword [esi + 8]
push dword [esi + 0x10]
call ecx
add esp, 8
mov eax, dword [esi + 0xc]
lock dec dword [eax]
je 0x464f8c
add edi, 8
cmp edi, ebx
mov ecx, dword [esi + 4]
je 0x46458b
jmp 0x464f1d
mov ecx, dword [4]
call dword [section..00cfg]
push dword [esi + 8]
push 0
call ecx
add esp, 8
jmp 0x464f61
int3
push dword [esi + 0xc]
call fcn.0044a690
add esp, 4
jmp 0x464f61