Function at 0x597db0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, ecx
mov eax, dword [0x7aa024]
xor eax, ebp
mov dword [esp + 0x70], eax
mov al, byte [0x7acc98]
mov byte [esp + 0x3b], al
test al, 0x19
jne 0x598086
xor eax, eax
dec eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], eax
lea ebx, [esp + 0x5c]
mov byte [ebx], 0xff
lea edi, [esp + 0x60]
mov dword [esp], edi
mov dword [esp + 0xc], 0x12b
mov dword [esp + 8], str....._base_task_sequence_manager_task_queue_impl.cc
mov dword [esp + 4], str.UnregisterTaskQueue
call fcn.005e42b0
mov dword [esp], edi
mov ecx, ebx
call fcn.005ef1d0
sub esp, 4
mov ecx, dword [esi + 0xc]
add ecx, 4
call fcn.00637010
mov ecx, ebx
call fcn.005ef230
movaps xmm0, xmmword [0x74bea0]
movups xmmword [edi], xmm0
lea eax, [esi + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
sub esp, 4
test al, al
je 0x5980f8
mov byte [esi + 0x32], 1
mov eax, dword [esi + 0x18]
mov dword [esp + 0x58], eax
mov ebx, dword [esi + 0x38]
xor eax, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], eax
xorps xmm0, xmm0
movups xmmword [esi + 0x18], xmm0
mov edi, dword [esi + 0x3c]
cmp ebx, edi
jne 0x598106
mov dword [esp + 0x34], 0
xor edx, edx
mov ecx, ebx
mov edi, dword [esi + 0x40]
mov dword [esi + 0x38], edx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x40], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
sub esp, 4
mov ebx, dword [esi + 0x70]
test ebx, ebx
je 0x597ee6
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov dword [esp], esi
mov ecx, ebx
call edi
sub esp, 4
xor edi, edi
mov dword [esp + 0x5c], edi
lea ecx, [esi + 0x110]
lea ebx, [esp + 0x5c]
mov dword [esp], ebx
call fcn.005e01b0
sub esp, 4
mov ecx, ebx
call fcn.005e0250
mov dword [esp + 0x5c], edi
lea ecx, [esi + 0x114]
mov dword [esp], ebx
call fcn.005e01b0
sub esp, 4
mov ecx, ebx
call fcn.005e0250
mov eax, dword [esi + 0x70]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x7b1224]
bt edx, ecx
jb 0x598079
mov dword [esi + 0x70], 0
mov eax, dword [esi + 0x74]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x7b1224]
bt edx, ecx
jb 0x59815e
xor eax, eax
mov dword [esi + 0x74], eax
lea ecx, [esi + 0x170]
call fcn.00596b00
mov eax, dword [esi + 0x84]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x34], eax
xorps xmm0, xmm0
movups xmmword [esi + 0x84], xmm0
mov edi, dword [esi + 0x78]
mov ebx, dword [esi + 0x7c]
xor eax, eax
mov dword [esi + 0x7c], eax
mov dword [esi + 0x78], eax
test edi, edi
je 0x597fb4
mov ecx, edi
call fcn.0059acc0
mov dword [esp], edi
call fcn.0064cd6e
test ebx, ebx
je 0x597fc7
mov ecx, ebx
call fcn.0059acc0
mov dword [esp], ebx
call fcn.0064cd6e
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
sub ecx, esi
mov ebx, dword [esp + 0x58]
jne 0x598032
test esi, esi
je 0x597fe3
mov dword [esp], esi
call fcn.0064cd6e
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x59816b
test ebx, ebx
jne 0x598011
test byte [esp + 0x3b], 0x19
jne 0x5981b4
mov ecx, dword [esp + 0x70]
xor ecx, ebp
call fcn.0064d372
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], 0
mov ecx, ebx
call fcn.00599120
mov dword [esp], ebx
call fcn.0064cd6e
mov ebx, esi
test esi, esi
je 0x597ff3
jmp 0x598011
mov edx, 0x92492493
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
sar edx, 6
add edx, eax
xor edi, edi
inc edi
cmp edx, 2
cmovae edi, edx
mov ecx, esi
call fcn.0062bab0
add esi, 0x70
dec edi
jne 0x598050
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
add edi, 0xffffff90
mov ecx, edi
call fcn.0062b900
cmp edi, esi
je 0x597fd7
jmp 0x598065
mov dword [esp], eax
call fcn.005e5140
jmp 0x597f41
call fcn.005f24d0
mov edi, eax
xor eax, eax
dec eax
lea ebx, [esp + 0x60]
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [esp], ebx
call fcn.005f3000
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], str.TaskQueueImpl::UnregisterTaskQueue
mov dword [esp + 4], 0x7acc98
mov dword [esp], 0x58
call fcn.005f4220
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], str.TaskQueueImpl::UnregisterTaskQueue
mov dword [esp + 0x48], 0x7acc98
jmp 0x597df1
mov ecx, dword [esp + 0x3c]
call fcn.005f1f90
jmp 0x597e60
mov eax, dword [ebx]
mov dword [esp + 0x34], eax
mov eax, dword [eax + 4]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x7b1224]
bt edx, ecx
jae 0x59812d
mov dword [esp], eax
call fcn.005e5140
mov eax, dword [esp + 0x34]
mov dword [eax + 4], 0
mov eax, ebx
add eax, 8
mov ebx, eax
cmp eax, edi
jne 0x598106
mov ecx, dword [esi + 0x38]
mov ebx, dword [esi + 0x3c]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
jmp 0x597e94
mov dword [esp], eax
call fcn.005e5140
jmp 0x597f65
cmp dword [esp + 0x44], eax
je 0x5981f6
lea esi, [esp + 0x70]
mov edi, dword [esp + 0x44]
add edi, 0xfffffff8
mov dword [esp], edi
mov ecx, esi
call fcn.006e7280
sub esp, 4
mov dword [esp + 0x44], edi
cmp edi, dword [esp + 0x40]
jne 0x598179
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x68], ecx
mov dword [esp], eax
call fcn.0064cd6e
mov ebx, dword [esp + 0x58]
jmp 0x597fef
mov eax, dword [esp + 0x48]
cmp byte [eax], 0
je 0x597ffe
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.005f4c40
jmp 0x597ffe
mov eax, dword [esp + 0x40]
jmp 0x59819b