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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x10123014]
xor eax, ebp
mov dword [esp + 0xb8], eax
movzx edx, byte [0x10125738]
test dl, 0x19
jne 0x1009be3a
mov esi, 0xffffffff
xor edi, edi
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x54], 0xffffffff
mov eax, dword [ecx + 0x70]
cmp byte [eax + 0x175], 0
je 0x1009bdbb
mov dword [esp + 0x50], edi
mov byte [esp + 0x37], dl
movzx ebx, byte [0x10125738]
test bl, 0x19
mov dword [esp + 0x5c], esi
jne 0x1009be8e
mov eax, 0xffffffff
xor edi, edi
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov edx, dword [ebp + 0xc]
lea esi, [ecx + 0x78]
cmp byte [ecx + 0x7c], 0
je 0x1009b75a
mov byte [esp + 0x38], bl
mov ebx, edi
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.100b4ed0
sub esp, 0xc
mov eax, edi
mov edi, ebx
movzx ebx, byte [esp + 0x38]
mov ecx, dword [ebp + 8]
test bl, 0x19
je 0x1009b798
cmp byte [edi], 0
je 0x1009b798
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa4], ecx
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10074430
mov ecx, dword [ebp + 8]
mov eax, ecx
mov ecx, dword [ecx + 0x70]
mov edi, dword [eax + 0x78]
call fcn.100b4f30
test al, al
mov ecx, esi
je 0x1009b7c1
test edi, edi
mov esi, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
jne 0x1009b7ed
mov al, 1
mov dword [esp + 0x44], eax
jmp 0x1009babc
mov esi, dword [esp + 0x40]
cmp dword [esi + 0x50], 0
mov edx, dword [ebp + 0xc]
je 0x1009b7dd
xor eax, eax
mov dword [esp + 0x44], eax
test edi, edi
jne 0x1009b802
jmp 0x1009babc
cmp dword [esi + 0x220], 0
setne al
je 0x1009b7d0
test edi, edi
je 0x1009b7d0
mov dword [esp], edx
call fcn.100cfe50
sub esp, 4
mov esi, dword [esp + 0x40]
mov al, 1
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x7c], 0
je 0x1009babc
cmp dword [esi + 0x50], 0
jne 0x1009babc
movzx ebx, byte [0x10125738]
test bl, 0x19
jne 0x1009bfc0
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esi + 0x20c]
cmp eax, dword [esi + 0x210]
je 0x1009b889
lea eax, [esi + 0x20c]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
call fcn.1006c5b0
sub esp, 4
jmp 0x1009b8b6
lea ecx, [esp + 0xa0]
call fcn.100a12d0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
lea ecx, [esp + 0x80]
call fcn.100a12d0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0xa8]
nop word cs:[eax + eax]
test eax, eax
je 0x1009b931
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
mov edx, dword [esp + 0xb0]
cmp ecx, edx
cmovae ecx, edx
cmp dword [esp + 0xac], ecx
jne 0x1009b970
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x1009ba5d
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
sar edx, 2
mov esi, dword [esp + 0x90]
cmp edx, esi
cmovae edx, esi
cmp dword [esp + 0x8c], edx
jne 0x1009b977
jmp 0x1009ba5d
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xac]
cmp eax, ecx
jne 0x1009b98f
cmp edx, dword [esp + 0x8c]
je 0x1009ba5d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x1009be0e
mov esi, dword [ecx + edx*4]
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax + 0x88]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [eax + 0x80]
movsd qword [esp + 0x70], xmm0
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [section..00cfg]
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 8], xmm0
movq xmm0, qword [esp + 0x70]
movq qword [esp], xmm0
mov ecx, esi
call edi
sub esp, 0x10
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1009b910
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
inc ecx
mov dword [esp + 0xac], ecx
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 2
cmp edx, esi
cmovae edx, esi
cmp ecx, edx
jae 0x1009b910
nop dword [eax + eax]
mov esi, dword [eax]
mov edi, dword [eax + 4]
sub edi, esi
sar edi, 2
cmp edi, ecx
jbe 0x1009be0e
cmp dword [esi + ecx*4], 0
jne 0x1009b910
inc ecx
mov dword [esp + 0xac], ecx
cmp edx, ecx
jne 0x1009ba30
jmp 0x1009b910
lea ecx, [esp + 0x80]
call fcn.1006b270
lea ecx, [esp + 0xa0]
call fcn.1006b270
test bl, 0x19
mov ecx, dword [esp + 0x3c]
je 0x1009bab8
cmp byte [ecx], 0
je 0x1009bab8
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa4], eax
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.10074430
mov esi, dword [esp + 0x40]
movzx eax, byte [0x10125738]
mov byte [esp + 0x3c], al
test al, 0x19
jne 0x1009bede
mov dword [esp + 0x4c], 0xffffffff
xor edi, edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x38], 0xffffffff
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esi + 0x1f0]
cmp eax, dword [esi + 0x1f4]
je 0x1009bb29
lea eax, [esi + 0x1f0]
mov dword [esp], eax
lea ecx, [esp + 0xa0]
call fcn.1006c5b0
sub esp, 4
jmp 0x1009bb56
lea ecx, [esp + 0xa0]
call fcn.100a12d0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
lea ecx, [esp + 0x80]
call fcn.100a12d0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0xa8]
nop word cs:[eax + eax]
test eax, eax
je 0x1009bbd1
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
mov edx, dword [esp + 0xb0]
cmp ecx, edx
cmovae ecx, edx
cmp dword [esp + 0xac], ecx
jne 0x1009bc10
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x1009bccd
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
sar edx, 2
mov esi, dword [esp + 0x90]
cmp edx, esi
cmovae edx, esi
cmp dword [esp + 0x8c], edx
jne 0x1009bc17
jmp 0x1009bccd
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xac]
cmp eax, ecx
jne 0x1009bc2f
cmp edx, dword [esp + 0x8c]
je 0x1009bccd
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x1009be0e
mov ebx, dword [ecx + edx*4]
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, ebx
call esi
sub esp, 4
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1009bbb0
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
inc ecx
mov dword [esp + 0xac], ecx
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 2
cmp edx, esi
cmovae edx, esi
cmp ecx, edx
jae 0x1009bbb0
nop dword [eax + eax]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
sub ebx, esi
sar ebx, 2
cmp ebx, ecx
jbe 0x1009be0e
cmp dword [esi + ecx*4], 0
jne 0x1009bbb0
inc ecx
mov dword [esp + 0xac], ecx
cmp edx, ecx
jne 0x1009bca0
jmp 0x1009bbb0
lea ecx, [esp + 0x80]
call fcn.1006b270
lea ecx, [esp + 0xa0]
call fcn.1006b270
test byte [esp + 0x3c], 0x19
je 0x1009bd26
cmp byte [edi], 0
je 0x1009bd26
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa4], eax
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10074430
test byte [0x10125738], 0x19
jne 0x1009bf32
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x70]
mov dword [esp], ebx
call fcn.100b4010
sub esp, 4
cmp byte [ebx + 0x7c], 0
sete al
mov ecx, dword [esp + 0x44]
xor cl, 1
or cl, al
movzx edx, byte [esp + 0x37]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x50]
jne 0x1009bdbb
mov eax, dword [ebx + 0x88]
sub eax, dword [ebx + 0x80]
mov edx, dword [ebx + 0x8c]
sbb edx, dword [ebx + 0x84]
seto bl
mov ecx, edx
sar ecx, 0x1f
test bl, bl
cmovne eax, ecx
add ecx, 0x80000000
test bl, bl
cmove ecx, edx
cmp eax, 0xc351
mov edx, ecx
sbb edx, 0
movzx edx, byte [esp + 0x37]
jl 0x1009bdbb
mov ebx, dword [esp + 0x40]
cmp dword [ebx + 0x50], 0
jne 0x1009bdbb
test byte [0x10124db4], 0x19
jne 0x1009c017
test dl, 0x19
je 0x1009bdf6
cmp byte [edi], 0
je 0x1009bdf6
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 8], xmm0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.10074430
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.100dea63
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [esp + 0x10], str.vector___index_out_of_bounds
mov dword [esp + 0xc], str.__n___size__
mov dword [esp + 8], 0x587
mov dword [esp + 4], str....._buildtools_third_partylibc_trunkinclude_vector
mov dword [esp], str._s:_d:_assertion__s_failed:__s
call fcn.1003963c
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManagerImpl::NotifyDidProcessTaskObservers
mov dword [esp + 4], 0x10125738
mov dword [esp], 0x58
mov esi, str.SequenceManagerImpl::NotifyDidProcessTaskObservers
mov edi, 0x10125738
mov ebx, edx
call fcn.1001dbe0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
mov edx, ebx
jmp 0x1009b6db
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.QueueOnTaskCompleted
mov dword [esp + 4], 0x10125738
mov dword [esp], 0x58
mov edi, 0x10125738
call fcn.1001dbe0
mov ecx, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, str.SequenceManager.QueueOnTaskCompleted
mov dword [esp + 0x3c], edx
jmp 0x1009b71e
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.DidProcessTaskObservers
mov dword [esp + 4], 0x10125738
mov dword [esp], 0x58
mov edi, 0x10125738
mov dword [esp + 0x38], str.SequenceManager.DidProcessTaskObservers
call fcn.1001dbe0
mov esi, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
jmp 0x1009bae9
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.QueueNotifyDidProcessTask
mov dword [esp + 4], 0x10125738
mov dword [esp], 0x58
call fcn.1001dbe0
mov esi, eax
mov edi, edx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x70]
mov dword [esp], ebx
call fcn.100b4010
sub esp, 4
cmp byte [0x10125738], 0
je 0x1009bd44
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], edi
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 8], xmm0
mov dword [esp + 4], str.SequenceManager.QueueNotifyDidProcessTask
mov dword [esp], 0x10125738
call fcn.10074430
jmp 0x1009bd44
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.SequenceManager.DidProcessTaskTimeObservers
mov dword [esp + 4], 0x10125738
mov dword [esp], 0x58
mov dword [esp + 0x38], str.SequenceManager.DidProcessTaskTimeObservers
mov dword [esp + 0x3c], 0x10125738
call fcn.1001dbe0
mov esi, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
jmp 0x1009b849
movd xmm0, eax
movd xmm1, ecx
add eax, 1
adc ecx, 0x80000000
cmp eax, 2
sbb ecx, 0
punpckldq xmm0, xmm1
movq qword [esp + 0x68], xmm0
fild qword [esp + 0x68]
fstp qword [esp + 0x60]
jae 0x1009c04c
movsd xmm0, qword [0x10118110]
jmp 0x1009c05a
movsd xmm0, qword [esp + 0x60]
divsd xmm0, qword [0x101165f0]
movsd qword [esp + 0xa0], xmm0
lea eax, [esp + 0xa0]
mov dword [esp + 0x28], eax
movdqa xmm0, xmmword [0x10116270]
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x24], str.duration
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.LongTask
mov dword [esp + 4], 0x10124db4
mov dword [esp], 0x49
call fcn.1009c7d0
movzx edx, byte [esp + 0x37]
mov edi, dword [esp + 0x50]
test dl, 0x19
jne 0x1009bdc0
jmp 0x1009bdf6