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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov ebx, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x7a9040]
xor eax, ebp
mov dword [esp + 0xf8], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xffffffff
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcb8b
lea ecx, [ebx + 0x44]
mov dword [esp + 0x1c], ecx
call fcn.0061f310
lea ecx, [ebx + 0x5c]
call fcn.0061f450
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcbb1
lea eax, [ebx - 4]
mov dword [esp + 0x18], eax
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 0x18]
mov dword [esp + 8], ebx
nop
mov ebx, esi
add ebx, 1
mov ecx, edi
adc ecx, 0
mov eax, esi
mov edx, edi
mov esi, dword [esp + 8]
lock cmpxchg8b qword [esi + 0x14]
mov ebx, dword [esp + 8]
mov esi, eax
mov edi, edx
jne 0x5fbdf0
mov ecx, dword [ebx + 0x16c]
push edi
push esi
mov eax, dword [ebp + 0xc]
push eax
call fcn.00626de0
mov ecx, dword [ebx + 0x170]
push edi
mov edi, dword [ebp + 0xc]
push esi
push edi
call fcn.00626de0
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcbd7
cmp byte [edi + 8], 1
jne 0x5fc861
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.00627240
mov eax, dword [esp + 0x80]
cmp eax, dword [ebx + 0x17c]
mov eax, dword [esp + 0x84]
sbb eax, dword [ebx + 0x180]
mov edi, dword [ebp + 0x10]
jge 0x5fc96c
lea esi, [ebx + 0xe4]
lea eax, [ebx + 0x70]
mov dword [esp + 0xc], eax
mov ecx, esi
push edi
call fcn.0061f620
mov ebx, eax
mov dword [esp + 0x4c], 0xe7
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe7]
test al, al
jne 0x5fcc50
test ebx, ebx
je 0x5fc4c6
mov ecx, ebx
call fcn.00627920
test al, al
jne 0x5fbe98
mov ecx, ebx
call fcn.00627300
cmp byte [eax + 0x58], 0
je 0x5fc8a9
mov ecx, dword [ebx + 0x1c]
call fcn.006236e0
test al, al
jne 0x5fc869
mov eax, dword [esp + 8]
cmp dword [eax + 0x6c], 0
jne 0x5fbf09
cmp dword [eax + 0x15c], 0
jne 0x5fc869
xor ecx, ecx
xor eax, eax
movzx eax, al
movzx edx, cl
lea ecx, [esp + 0x20]
push eax
push edx
call fcn.005fe780
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov ecx, ebx
push eax
call fcn.00627780
mov esi, dword [esp + 8]
mov edi, dword [esi + 0x1a4]
mov eax, dword [esi + 0x1a8]
mov ecx, eax
sub ecx, edi
je 0x5fc978
shr ecx, 2
lea ecx, [ecx + ecx*2]
lea ecx, [ecx*8 - 1]
mov edx, dword [esi + 0x1b4]
add edx, dword [esi + 0x1b0]
cmp ecx, edx
je 0x5fc986
cmp eax, edi
je 0x5fca3a
mov ecx, dword [esi + 0x1b0]
add ecx, dword [esi + 0x1b4]
mov edx, 0xaaaaaaab
mov eax, ecx
mul edx
shr edx, 4
lea eax, [edx*8]
lea eax, [eax + eax*2]
sub ecx, eax
imul ebx, ecx, 0xa8
add ebx, dword [edi + edx*4]
je 0x5fca3a
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmm1, xmmword [esp + 0x30]
movaps xmmword [esp + 0x60], xmm1
movaps xmmword [esp + 0x50], xmm0
mov ecx, ebx
lea edi, [esp + 0x80]
push edi
call fcn.00627f10
mov edi, dword [esp + 0xc]
mov dword [ebx + 0x70], edi
mov ecx, edi
call fcn.00620280
mov dword [ebx + 0x74], eax
movaps xmm0, xmmword [esp + 0x50]
movapd xmm1, xmmword [esp + 0x60]
movups xmmword [ebx + 0x78], xmm0
movupd xmmword [ebx + 0x88], xmm1
movq xmm0, qword [esp + 0x70]
movq qword [ebx + 0x98], xmm0
mov ecx, edi
call fcn.00622420
mov byte [ebx + 0xa0], al
movzx eax, byte [ebx + 0x5a]
mov dword [ebx + 0xa4], eax
mov edi, esi
inc dword [esi + 0x1b4]
lea ecx, [esp + 0x80]
call fcn.00627f60
mov esi, dword [esi + 0x1b0]
add esi, dword [edi + 0x1b4]
mov ebx, dword [edi + 0x1a4]
mov eax, esi
mov ecx, 0xaaaaaaab
mul ecx
mov ecx, edx
shr ecx, 4
mov eax, dword [ebx + ecx*4]
cmp dword [edi + 0x1a8], ebx
mov edi, ebx
je 0x5fc97f
mov edx, 0xaaaaaaab
mov ebx, eax
mov eax, esi
mul edx
shr edx, 1
and edx, 0xfffffff8
lea eax, [edx + edx*2]
sub esi, eax
mov eax, ebx
imul esi, esi, 0xa8
add esi, ebx
cmp eax, esi
je 0x5fcb6b
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fccc6
lea ebx, [esi - 0xa8]
movzx eax, byte [0x7bdb34]
test al, 1
mov edi, dword [ebp + 0xc]
jne 0x5fcb7c
mov ecx, dword [esi - 0x38]
cmp byte [ecx + 0x144], 1
je 0x5fc326
call fcn.006236e0
test al, al
jne 0x5fc316
mov eax, dword [esp + 8]
cmp dword [eax + 0x6c], 0
jne 0x5fc0fa
cmp dword [eax + 0x15c], 0
jne 0x5fc316
xor eax, eax
mov ecx, dword [esi - 0x38]
cmp byte [ecx + 0x145], 1
mov dword [esp + 0xc], ebx
jne 0x5fc403
mov dword [esp + 0x10], eax
push dword [esi - 0x44]
mov dword [esp + 0x1c], esi
push dword [esi - 0x48]
call fcn.006231d0
mov byte [esp + 0x14], al
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcd1c
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
mov ebx, dword [esp + 8]
mov esi, dword [ebx + 0x12c]
mov edi, dword [ebx + 0x130]
lea ecx, [esp + 0x80]
call fcn.005e8320
cmp esi, edi
je 0x5fc2f0
lea eax, [ebx + 0x12c]
mov dword [esp + 0x88], eax
lea eax, [ebx + 0x138]
lea ecx, [esp + 0x80]
push eax
call fcn.005e8380
mov dword [esp + 0x8c], 0
mov edx, 0xffffffff
cmp dword [ebx + 0x144], 0
jne 0x5fcc38
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
cmp ecx, edx
cmovae ecx, edx
test ecx, ecx
je 0x5fc1f9
xor edx, edx
mov esi, dword [eax]
mov edi, dword [eax + 4]
sub edi, esi
sar edi, 2
cmp edi, edx
jbe 0x5fca3a
cmp dword [esi + edx*4], 0
je 0x5fcc23
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.005e8320
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x88]
movzx ebx, byte [esp + 0x14]
test eax, eax
je 0x5fc380
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov edi, dword [eax + 4]
sub edi, dword [eax]
sar edi, 2
cmp edi, edx
cmovae edi, edx
mov esi, dword [esp + 0x58]
cmp ecx, edi
je 0x5fc384
cmp eax, esi
je 0x5fca5f
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x5fca3a
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, edi
call dword [0x7a29f4]
mov ecx, esi
push ebx
push dword [esp + 0x10]
call edi
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5fc238
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
inc ecx
mov dword [esp + 0x8c], ecx
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 2
cmp edx, esi
cmovae edx, esi
cmp ecx, edx
jae 0x5fc238
mov esi, dword [eax]
mov edi, dword [eax + 4]
sub edi, esi
sar edi, 2
cmp edi, ecx
jbe 0x5fca3a
cmp dword [esi + ecx*4], 0
jne 0x5fc238
jmp 0x5fcdd0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
jmp 0x5fc1f9
lea ecx, [esi - 0x30]
push edi
call fcn.005fe7b0
mov al, 1
jmp 0x5fc0fc
mov eax, dword [esp + 8]
mov byte [eax + 0x19c], 1
mov ecx, dword [esi - 0x38]
jmp 0x5fc0d6
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x5fc35a
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x5fc35a
cmp dword [edi], 0
je 0x5fc930
add edi, 4
cmp edi, eax
jne 0x5fc34a
cmp dword [esp + 0x88], 0
je 0x5fc397
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x80]
call fcn.005e8360
jmp 0x5fc397
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x5fca3c
mov esi, dword [esp + 0x88]
test esi, esi
jne 0x5fc339
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx ecx, byte [eax + 0xe6]
test cl, cl
jne 0x5fcd9d
mov dword [esp + 0x50], 0xe6
movzx eax, byte [eax + 0xe6]
test al, al
mov esi, dword [esp + 0x18]
jne 0x5fcd47
mov ecx, dword [esi - 0x38]
push ebx
mov ebx, dword [esp + 0x10]
push ebx
call fcn.00622440
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcd72
cmp byte [esp + 0x10], 0
jne 0x5fc5f7
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fccf1
mov ecx, ebx
call fcn.006281c0
test al, al
je 0x5fca23
mov ebx, dword [esi - 0x38]
mov eax, esi
mov esi, dword [esi - 0x34]
movzx edi, byte [eax - 8]
mov ecx, dword [ebx + 0xc]
call fcn.00625ca0
add ebx, 0xe8
lea ecx, [esp + 0x20]
push ebx
call fcn.005e5250
mov eax, dword [esp + 0x20]
lea ebx, [esp + 0x80]
mov ecx, ebx
push esi
push edi
push eax
push dword [esp + 0x18]
call fcn.00628520
mov esi, dword [ebp + 8]
mov ecx, esi
push ebx
call fcn.006284f0
mov byte [esi + 0x10], 1
mov ecx, ebx
call fcn.00628560
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fcbfd
cmp byte [esi + 0x10], 1
jne 0x5fc4ac
mov ecx, dword [esp + 0x1c]
call fcn.0061f420
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.00650d60
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov esi, dword [ebp + 8]
mov byte [esi], 0
mov byte [esi + 0x10], 0
jmp 0x5fc481
mov eax, dword [ecx + 0x10]
mov dword [esp + 8], ecx
cmp eax, dword [ecx + 0xc]
jne 0x5fc52a
mov eax, dword [esp + 8]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
cmp ebx, edi
je 0x5fc52a
add ebx, 8
nop
lea esi, [ebx - 8]
cmp dword [ebx - 4], 0
je 0x5fc508
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fcb79
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fc9de
cmp dword [ebx - 4], 0
je 0x5fc9de
lea eax, [ebx + 8]
cmp ebx, edi
mov ebx, eax
jne 0x5fc4f0
cmp dword [esp + 0x88], 0
mov ebx, dword [esp + 0xc]
je 0x5fc568
lea ecx, [esp + 0x80]
mov dword [ecx + 8], 0
call fcn.005e8360
jmp 0x5fc568
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x5fcab0
mov ecx, dword [esp + 0x88]
test ecx, ecx
jne 0x5fc4d2
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx ecx, byte [eax + 0xe6]
test cl, cl
jne 0x5fce96
mov esi, dword [esp + 0x18]
mov dword [esp + 0x50], 0xe6
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fce6b
mov ecx, dword [esi - 0x38]
lea eax, [esi - 0x30]
push eax
push ebx
call fcn.006235e0
mov dword [esp + 0x50], 0xe6
mov eax, dword [0x750f80]
movzx eax, byte [eax + 0xe6]
test al, al
je 0x5fc403
jmp 0x5fce40
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov ebx, dword [esp + 0xc]
jmp 0x5fc706
mov eax, dword [esp + 8]
cmp dword [eax + 0x6c], 0
mov eax, dword [0x750f80]
jne 0x5fc588
mov dword [esp + 0x50], 0xe6
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x5fce15
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
mov ebx, dword [esp + 8]
mov esi, dword [ebx + 0x148]
mov edi, dword [ebx + 0x14c]
lea ecx, [esp + 0x80]
call fcn.005e8320
cmp esi, edi
je 0x5fc5cd
lea eax, [ebx + 0x148]
mov dword [esp + 0x88], eax
lea eax, [ebx + 0x154]
lea ecx, [esp + 0x80]
push eax
call fcn.005e8380
mov dword [esp + 0x8c], 0
mov eax, 0xffffffff
cmp dword [ebx + 0x160], 0
jne 0x5fce01
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x88]
mov edi, dword [ecx + 4]
sub edi, dword [ecx]
sar edi, 3
cmp edi, eax
cmovae edi, eax
test edi, edi
mov ebx, dword [esp + 0xc]
je 0x5fc706
xor eax, eax
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub edx, ecx
sar edx, 3
cmp edx, eax
jbe 0x5fca3a
lea esi, [ecx + eax*8]
cmp dword [ecx + eax*8 + 4], 0
je 0x5fc6ed
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fcdcd
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fcde5
cmp dword [esi + 4], 0
je 0x5fcde5
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.005e8320
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5fc54d
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 3
cmp edx, ecx
cmovae edx, ecx
mov esi, dword [esp + 0x58]
cmp edi, edx
je 0x5fc551
cmp eax, esi
je 0x5fcad7
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, esi
sar eax, 3
cmp eax, edi
jbe 0x5fca3a
lea ecx, [esi + edi*8]
call fcn.005e3dc0
test al, al
je 0x5fcb61
mov esi, dword [esi + edi*8 + 4]
mov eax, dword [esp + 0x18]
movsd xmm0, qword [eax - 0x28]
movsd qword [esp + 0x20], xmm0
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x7a29f4]
sub esp, 8
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
mov ecx, esi
call ebx
mov ecx, dword [esp + 0x88]
test ecx, ecx
mov ebx, dword [esp + 0xc]
je 0x5fc739
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x8c], eax
mov edi, dword [ecx + 4]
sub edi, dword [ecx]
sar edi, 3
cmp edi, edx
cmovae edi, edx
cmp eax, edi
jae 0x5fc739
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub edx, ecx
sar edx, 3
cmp edx, eax
jbe 0x5fca3a
lea esi, [ecx + eax*8]
cmp dword [ecx + eax*8 + 4], 0
je 0x5fc83b
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fcb68
mov ecx, esi
call fcn.005e3dc0
test al, al
je 0x5fc850
cmp dword [esi + 4], 0
jne 0x5fc739
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x5fc801
mov edi, dword [ebp + 0x10]
jmp 0x5fbe8b
mov eax, dword [esp + 8]
movsd xmm0, qword [eax + 0x3c]
mov cl, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x5fbf0b
cmp byte [eax + 0xdc], 0
je 0x5fca3a
lea ecx, [eax + 0xcc]
sub esp, 8
movsd qword [esp], xmm0
call fcn.005dd860
mov cl, 1
jmp 0x5fbf0d
mov eax, dword [esp + 8]
cmp dword [eax + 0x6c], 0
jle 0x5fbee2
xor eax, eax
dec eax
lea edx, [esp + 0x80]
mov dword [edx + 0x74], eax
mov dword [edx + 0x70], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [edx + 0x60], xmm0
movdqa xmmword [edx + 0x50], xmm0
movdqa xmmword [edx + 0x40], xmm0
movdqa xmmword [edx + 0x30], xmm0
movdqa xmmword [edx + 0x20], xmm0
movdqa xmmword [edx + 0x10], xmm0
movdqa xmmword [edx], xmm0
mov ecx, ebx
push edx
call fcn.00627780
mov eax, dword [ebx + 0x1c]
lea edx, [esp + 0x80]
mov dword [edx + 0x70], eax
mov eax, dword [ebx + 0x50]
mov dword [edx + 0x74], eax
mov ecx, dword [esp + 0xc]
push edx
mov ebx, edx
call fcn.00560cc0
mov ecx, ebx
call fcn.00627f60
jmp 0x5fbe98
mov edx, dword [ecx]
test edx, edx
je 0x5fc92b
mov dword [edi], edx
add edi, 4
add ecx, 4
jmp 0x5fc933
lea ecx, [edi + 4]
cmp ecx, eax
jne 0x5fc920
sub eax, edi
jb 0x5fca3a
je 0x5fc35a
mov ecx, dword [esi + 4]
add eax, edi
mov edx, ecx
sub edx, eax
jne 0x5fcf97
add edi, edx
cmp ecx, edi
je 0x5fc964
add ecx, 0xfffffffc
jne 0x5fc956
jmp 0x5fca3a
mov dword [esi + 4], edi
jmp 0x5fc35a
mov byte [ebx + 0x174], 1
jmp 0x5fbe8b
xor ecx, ecx
jmp 0x5fbf5b
xor esi, esi
jmp 0x5fc08a
lea ecx, [esi + 0x1a0]
call fcn.00560d90
mov edi, dword [esi + 0x1a4]
mov eax, dword [esi + 0x1a8]
jmp 0x5fbf6f
cmp dword [ebx + 4], 0
je 0x5fc9b7
mov ecx, ebx
call fcn.005e3dc0
test al, al
je 0x5fcfde
mov ecx, ebx
call fcn.005e3dc0
test al, al
je 0x5fc9d3
cmp dword [ebx + 4], 0
je 0x5fc9d3
mov ecx, esi
push ebx
call fcn.005ddd90
add esi, 8
add ebx, 8
mov eax, edi
cmp ebx, edi
je 0x5fc9e4
jmp 0x5fc9a2
cmp ebx, edi
jne 0x5fc9a2
mov eax, edi
sub eax, esi
jb 0x5fca3a
je 0x5fc52a
mov edi, dword [esp + 8]
mov ebx, dword [edi + 4]
add eax, esi
cmp eax, ebx
jne 0x5fcfb2
mov eax, esi
sub eax, esi
add eax, esi
cmp ebx, eax
mov esi, eax
je 0x5fca1b
add ebx, 0xfffffff8
je 0x5fca3a
mov ecx, ebx
call fcn.005dddb0
cmp ebx, esi
jne 0x5fca0b
mov dword [edi + 4], esi
jmp 0x5fc52a
lea ecx, [esi - 0x58]
sub esp, 4
mov al, byte [esp + 0x50]
mov byte [esp], al
call fcn.006c9d80
jmp 0x5fc42e
ud2
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
sar ecx, 2
mov edx, dword [esp + 0x60]
cmp ecx, edx
cmovae ecx, edx
cmp dword [esp + 0x5c], ecx
je 0x5fca71
mov ecx, dword [esp + 0x8c]
jmp 0x5fc267
cmp ecx, dword [esp + 0x5c]
jne 0x5fc26f
test eax, eax
je 0x5fc38c
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x5fca90
mov edi, dword [esi]
mov eax, dword [esi + 4]
jmp 0x5fca8c
cmp dword [edi], 0
je 0x5fced6
add edi, 4
cmp edi, eax
jne 0x5fca80
cmp dword [esp + 0x58], 0
je 0x5fc38c
lea ecx, [esp + 0x50]
mov dword [ecx + 8], 0
call fcn.005e8360
jmp 0x5fc38c
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
sar ecx, 3
mov edx, dword [esp + 0x60]
cmp ecx, edx
cmovae ecx, edx
cmp dword [esp + 0x5c], ecx
je 0x5fcae9
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0xc]
jmp 0x5fc76f
cmp edi, dword [esp + 0x5c]
jne 0x5fc777
test eax, eax
je 0x5fc559
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x5fcb3d
mov ebx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
cmp ebx, eax
je 0x5fcb3d
add ebx, 8
lea edi, [ebx - 8]
cmp dword [ebx - 4], 0
je 0x5fcb19
mov ecx, edi
call fcn.005e3dc0
test al, al
je 0x5fcfe1
mov ecx, edi
call fcn.005e3dc0
test al, al
je 0x5fcf4c
cmp dword [ebx - 4], 0
je 0x5fcf4c
lea eax, [ebx + 8]
cmp ebx, dword [esp + 8]
mov ebx, eax
jne 0x5fcb01
cmp dword [esp + 0x58], 0
mov ebx, dword [esp + 0xc]
je 0x5fc559
lea ecx, [esp + 0x50]
mov dword [ecx + 8], 0
call fcn.005e8360
jmp 0x5fc559
xor esi, esi
jmp 0x5fc79d
int3
mov esi, 0xfc0
add esi, dword [edi + ecx*4 - 4]
jmp 0x5fc092
int3
mov ecx, dword [esp + 0x18]
push ebx
call fcn.006c9de0
jmp 0x5fc0c6
movzx eax, al
lea ecx, [esp + 0x80]
mov dword [ecx], str.SequenceManagerImpl::SelectNextTask
lea edx, [esp + 0x50]
push 1
push ecx
push edx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fbdad
movzx eax, al
lea ecx, [esp + 0x80]
mov dword [ecx], str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
lea edx, [esp + 0x50]
push 1
push ecx
push edx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fbddd
movzx eax, al
lea ecx, [esp + 0x80]
mov dword [ecx], 0
lea edx, [esp + 0x50]
push 2
push ecx
push edx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fbe4f
movzx eax, al
lea ecx, [esp + 0x80]
mov dword [ecx], 0
lea edx, [esp + 0x50]
push 2
push ecx
push edx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc49d
inc edx
mov dword [esp + 0x8c], edx
cmp ecx, edx
jne 0x5fc1dd
jmp 0x5fc1f9
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x130]
sub edx, dword [eax + 0x12c]
sar edx, 2
jmp 0x5fc1bc
movzx eax, al
mov dword [esp + 0x10], eax
xor eax, eax
lea edx, [esp + 0x50]
mov edi, dword [esp + 0x18]
mov ecx, edi
push eax
push ebx
push edx
call fcn.006c9e80
lea eax, [esp + 0x20]
mov dword [eax], str.SequenceManager
lea ecx, [esp + 0x80]
mov dword [ecx], str.snapshot
lea edx, [esp + 0x50]
push edx
push ecx
push edi
xor ecx, ecx
push ecx
push ecx
push 0x4f
push 0x73a1f8
push ecx
xor edi, edi
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x38]
call fcn.006ca8b0
add esp, 0x2c
lea eax, [esp + 0x50]
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
jne 0x5fccbd
mov edi, dword [ebp + 0x10]
jmp 0x5fbebe
push 1
call fcn.006cb180
jmp 0x5fccb5
movzx eax, al
mov dword [esp + 0x80], str.SequenceManagerImpl::NotifyWillProcessTaskObservers
lea ecx, [esp + 0x50]
push 1
lea edx, [esp + 0x84]
push edx
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc0ae
movzx eax, al
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x50]
push 2
lea edx, [esp + 0x84]
push edx
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc41f
movzx eax, al
mov dword [esp + 0x80], str.SequenceManager.WillProcessTaskObservers
lea ecx, [esp + 0x50]
push 1
lea edx, [esp + 0x84]
push edx
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc143
movzx eax, al
mov dword [esp + 0x80], str.SequenceManager.QueueNotifyWillProcessTask
push 1
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc3ce
movzx eax, al
mov dword [esp + 0x80], 0
push 2
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc3f8
movzx eax, cl
mov dword [esp + 0x80], 0
push 2
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
mov eax, dword [0x750f80]
jmp 0x5fc3b3
int3
inc ecx
mov dword [esp + 0x8c], ecx
cmp edx, ecx
je 0x5fc238
jmp 0x5fc2cf
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, edi
jb 0x5fc6bb
jmp 0x5fc706
mov eax, dword [ebx + 0x14c]
sub eax, dword [ebx + 0x148]
sar eax, 3
jmp 0x5fc696
movzx eax, al
mov dword [esp + 0x80], str.SequenceManager.WillProcessTaskTimeObservers
push 1
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc61d
movzx eax, al
mov dword [esp + 0x80], 0
push 2
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc403
movzx eax, al
mov dword [esp + 0x80], str.SequenceManager.QueueOnTaskStarted
push 1
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
jmp 0x5fc59f
movzx eax, cl
mov dword [esp + 0x80], 0
push 2
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.005c56d0
add esp, 0x10
mov eax, dword [0x750f80]
jmp 0x5fc584
mov edx, dword [ecx]
test edx, edx
je 0x5fced1
mov dword [edi], edx
add edi, 4
add ecx, 4
jmp 0x5fced9
lea ecx, [edi + 4]
cmp ecx, eax
jne 0x5fcec6
sub eax, edi
jb 0x5fca3a
je 0x5fca90
mov ecx, dword [esi + 4]
add eax, edi
mov edx, ecx
sub edx, eax
mov dword [esp + 0x14], edx
jne 0x5fd015
add edi, dword [esp + 0x14]
cmp ecx, edi
je 0x5fcf10
add ecx, 0xfffffffc
jne 0x5fcf02
jmp 0x5fca3a
mov dword [esi + 4], edi
jmp 0x5fca90
cmp dword [ebx + 4], 0
je 0x5fcf2d
mov ecx, ebx
call fcn.005e3dc0
test al, al
je 0x5fcfe4
mov ecx, ebx
call fcn.005e3dc0
test al, al
je 0x5fcf49
cmp dword [ebx + 4], 0
je 0x5fcf49
mov ecx, edi
push ebx
call fcn.005ddd90
add edi, 8
add ebx, 8
cmp ebx, dword [esp + 8]
jne 0x5fcf18
sub dword [esp + 8], edi
jb 0x5fca3a
je 0x5fcb3d
mov ebx, dword [esi + 4]
mov ecx, dword [esp + 8]
add ecx, edi
cmp ecx, ebx
jne 0x5fcfe7
mov ecx, edi
sub ecx, edi
add ecx, edi
mov edi, ecx
cmp ebx, ecx
je 0x5fcf8f
add ebx, 0xfffffff8
je 0x5fca3a
mov ecx, ebx
call fcn.005dddb0
cmp ebx, edi
jne 0x5fcf7b
mov dword [esi + 4], edi
jmp 0x5fcb3d
push edx
push eax
push edi
mov dword [esp + 0x20], edx
call fcn.00654250
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esi + 4]
jmp 0x5fc954
mov ecx, esi
mov dword [esp + 0x10], ecx
mov edi, eax
push eax
call fcn.005ddd90
add edi, 8
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, edi
cmp edi, ebx
jne 0x5fcfb4
mov edi, dword [esp + 8]
mov ebx, dword [edi + 4]
mov eax, ecx
jmp 0x5fca01
int3
int3
int3
mov eax, ecx
mov ecx, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
push eax
call fcn.005ddd90
mov edx, dword [esp + 8]
add edx, 8
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, edx
cmp edx, ebx
jne 0x5fcfeb
mov ebx, dword [esi + 4]
jmp 0x5fcf71
push dword [esp + 0x14]
push eax
push edi
call fcn.00654250
add esp, 0xc
mov ecx, dword [esi + 4]
jmp 0x5fcefe