Function at 0x4c8b50
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 [0x5c7040]
xor eax, ebp
mov dword [esp + 0xf8], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xffffffff
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9a89
lea ecx, [ebx + 0x44]
mov dword [esp + 0x1c], ecx
call fcn.004e5a00
lea ecx, [ebx + 0x5c]
call fcn.004e5ab0
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9aaf
lea eax, [ebx - 4]
mov dword [esp + 0x18], eax
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 0x18]
mov dword [esp], ebx
nop dword [eax]
mov ebx, esi
add ebx, 1
mov ecx, edi
adc ecx, 0
mov eax, esi
mov edx, edi
mov esi, dword [esp]
lock cmpxchg8b qword [esi + 0x14]
mov ebx, dword [esp]
mov esi, eax
mov edi, edx
jne 0x4c8be0
mov ecx, dword [ebx + 0x16c]
push edi
push esi
mov eax, dword [ebp + 0xc]
push eax
call fcn.004ecd80
mov ecx, dword [ebx + 0x170]
push edi
mov edi, dword [ebp + 0xc]
push esi
push edi
call fcn.004ecd80
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9ad5
cmp byte [edi + 8], 1
jne 0x4c9654
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.004ed470
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 0x4c9718
lea esi, [ebx + 0xe4]
lea eax, [ebx + 0x70]
mov dword [esp + 0x10], eax
mov ecx, esi
push edi
call fcn.004e5c90
mov ebx, eax
mov dword [esp + 0x4c], 0xe6
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe6]
test al, al
jne 0x4c9b62
test ebx, ebx
je 0x4c92b6
mov ecx, ebx
call fcn.004edb40
test al, al
jne 0x4c8c86
mov ecx, ebx
call fcn.004ed550
cmp byte [eax + 0x58], 0
je 0x4c969b
mov ecx, dword [ebx + 0x1c]
call fcn.004e95c0
test al, al
jne 0x4c965c
mov eax, dword [esp]
cmp dword [eax + 0x6c], 0
jne 0x4c8cf6
cmp dword [eax + 0x15c], 0
jne 0x4c965c
xor ecx, ecx
xor eax, eax
movzx eax, al
movzx edx, cl
lea ecx, [esp + 0x20]
push eax
push edx
call fcn.004cb8c0
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x80]
mov ecx, ebx
push eax
call fcn.004ed9a0
mov esi, dword [esp]
mov edi, dword [esi + 0x1a4]
mov eax, dword [esi + 0x1a8]
mov ecx, eax
sub ecx, edi
je 0x4c9724
sar 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 0x4c972b
cmp eax, edi
je 0x4c9a50
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 0x4c9a50
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.004ee150
mov edi, dword [esp + 0x10]
mov dword [ebx + 0x70], edi
mov ecx, edi
call fcn.004e68f0
mov dword [ebx + 0x74], eax
movaps xmm0, xmmword [esp + 0x50]
movaps xmm1, xmmword [esp + 0x60]
movups xmmword [ebx + 0x78], xmm0
movups xmmword [ebx + 0x88], xmm1
movq xmm0, qword [esp + 0x70]
movq qword [ebx + 0x98], xmm0
mov ecx, edi
call fcn.004e8680
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.004ee1a0
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 0x4c9711
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 0x4c9a69
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9be7
lea ebx, [esi - 0xa8]
movzx eax, byte [0x5d905c]
test al, 1
mov edi, dword [ebp + 0xc]
jne 0x4c9a7a
mov ecx, dword [esi - 0x38]
cmp byte [ecx + 0x144], 1
je 0x4c910e
call fcn.004e95c0
test al, al
jne 0x4c90fe
mov eax, dword [esp]
cmp dword [eax + 0x6c], 0
jne 0x4c8ee3
cmp dword [eax + 0x15c], 0
jne 0x4c90fe
xor eax, eax
mov ecx, dword [esi - 0x38]
cmp byte [ecx + 0x145], 1
mov dword [esp + 0x10], ebx
jne 0x4c91f3
mov dword [esp + 0x14], eax
push dword [esi - 0x44]
mov dword [esp + 0x1c], esi
push dword [esi - 0x48]
call fcn.004e90b0
mov byte [esp + 4], al
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9c3d
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
mov ebx, dword [esp]
mov esi, dword [ebx + 0x12c]
mov edi, dword [ebx + 0x130]
lea ecx, [esp + 0x80]
call fcn.004bcc00
cmp esi, edi
je 0x4c90d8
lea eax, [ebx + 0x12c]
mov dword [esp + 0x88], eax
lea eax, [ebx + 0x138]
lea ecx, [esp + 0x80]
push eax
call fcn.004bcc60
mov dword [esp + 0x8c], 0
mov edx, 0xffffffff
cmp dword [ebx + 0x144], 0
jne 0x4c9b4b
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 0x4c8fe1
xor edx, edx
mov esi, dword [eax]
mov edi, dword [eax + 4]
sub edi, esi
sar edi, 2
cmp edi, edx
jbe 0x4c9902
cmp dword [esi + edx*4], 0
je 0x4c9b36
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.004bcc00
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x88]
movzx ebx, byte [esp + 4]
test eax, eax
je 0x4c9170
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 0x4c9174
cmp eax, esi
je 0x4c99e3
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x4c9902
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, edi
call dword [0x5c0d2c]
mov ecx, esi
push ebx
push dword [esp + 0x14]
call edi
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4c9020
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 0x4c9020
mov esi, dword [eax]
mov edi, dword [eax + 4]
sub edi, esi
sar edi, 2
cmp edi, ecx
jbe 0x4c9902
cmp dword [esi + ecx*4], 0
jne 0x4c9020
jmp 0x4c9b21
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
jmp 0x4c8fe1
lea ecx, [esi - 0x30]
push edi
call fcn.004cb8f0
mov al, 1
jmp 0x4c8ee5
mov eax, dword [esp]
mov byte [eax + 0x19c], 1
mov ecx, dword [esi - 0x38]
jmp 0x4c8ec0
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x4c9141
mov edi, dword [esi]
mov ecx, dword [esi + 4]
cmp edi, ecx
je 0x4c9141
cmp dword [edi], 0
je 0x4c9827
add edi, 4
cmp edi, ecx
jne 0x4c9131
cmp dword [esp + 0x88], 0
je 0x4c9187
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x80]
call fcn.004bcc40
jmp 0x4c9187
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x4c99c0
mov esi, dword [esp + 0x88]
test esi, esi
jne 0x4c9120
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx ecx, byte [eax + 0xe5]
test cl, cl
jne 0x4c9cc1
mov dword [esp + 0x50], 0xe5
movzx eax, byte [eax + 0xe5]
test al, al
mov esi, dword [esp + 0x18]
jne 0x4c9c68
mov ecx, dword [esi - 0x38]
push ebx
mov ebx, dword [esp + 0x14]
push ebx
call fcn.004e86a0
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9c93
cmp byte [esp + 0x14], 0
jne 0x4c92ec
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9c12
mov ecx, ebx
call fcn.004ee400
test al, al
je 0x4c98eb
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.004ebc90
add ebx, 0xe8
lea ecx, [esp + 0x20]
push ebx
call fcn.004ba260
mov eax, dword [esp + 0x20]
lea ebx, [esp + 0x80]
mov ecx, ebx
push esi
push edi
push eax
push dword [esp + 0x1c]
call fcn.004ee760
mov esi, dword [ebp + 8]
mov ecx, esi
push ebx
call fcn.004ee730
mov byte [esi + 0x10], 1
mov ecx, ebx
call fcn.004ee7a0
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9afb
cmp byte [esi + 0x10], 1
jne 0x4c929c
mov ecx, dword [esp + 0x1c]
call fcn.004e5a80
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.004f5620
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 0x4c9271
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov ebx, dword [esp + 0x10]
jmp 0x4c93fd
mov eax, dword [esp]
cmp dword [eax + 0x6c], 0
mov eax, dword [0x5abe0c]
jne 0x4c9587
mov dword [esp + 0x50], 0xe5
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9d21
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xffffffff
mov ebx, dword [esp]
mov esi, dword [ebx + 0x148]
mov edi, dword [ebx + 0x14c]
lea ecx, [esp + 0x80]
call fcn.004bcc00
cmp esi, edi
je 0x4c92c2
lea eax, [ebx + 0x148]
mov dword [esp + 0x88], eax
lea eax, [ebx + 0x154]
lea ecx, [esp + 0x80]
push eax
call fcn.004bcc60
mov dword [esp + 0x8c], 0
mov eax, 0xffffffff
cmp dword [ebx + 0x160], 0
jne 0x4c9d0d
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 + 0x10]
je 0x4c93fd
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 0x4c9902
lea esi, [ecx + eax*8]
cmp dword [ecx + eax*8 + 4], 0
je 0x4c93e4
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c9cbe
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c9cf1
cmp dword [esi + 4], 0
je 0x4c9cf1
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.004bcc00
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4c9550
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 0x4c9554
cmp eax, esi
je 0x4c9938
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, esi
sar eax, 3
cmp eax, edi
jbe 0x4c9902
lea ecx, [esi + edi*8]
call fcn.004b8f70
test al, al
je 0x4c9a5f
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 [0x5c0d2c]
sub esp, 8
movq xmm0, qword [esp + 0x28]
movq qword [esp], xmm0
mov ecx, esi
call ebx
mov ecx, dword [esp + 0x88]
test ecx, ecx
mov ebx, dword [esp + 0x10]
je 0x4c9430
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 0x4c9430
mov edx, dword [esp + 0x88]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub edx, ecx
sar edx, 3
cmp edx, eax
jbe 0x4c9902
lea esi, [ecx + eax*8]
cmp dword [ecx + eax*8 + 4], 0
je 0x4c9532
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c9a66
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c9a3c
cmp dword [esi + 4], 0
jne 0x4c9430
jmp 0x4c9a3c
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x4c9911
mov ecx, dword [esp + 0x88]
test ecx, ecx
jne 0x4c95cc
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx ecx, byte [eax + 0xe5]
test cl, cl
jne 0x4c9da2
mov esi, dword [esp + 0x18]
mov dword [esp + 0x50], 0xe5
movzx eax, byte [eax + 0xe5]
test al, al
jne 0x4c9d77
mov ecx, dword [esi - 0x38]
lea eax, [esi - 0x30]
push eax
push ebx
call fcn.004e94c0
mov dword [esp + 0x50], 0xe5
mov eax, dword [0x5abe0c]
movzx eax, byte [eax + 0xe5]
test al, al
je 0x4c91f3
jmp 0x4c9d4c
mov eax, dword [ecx + 0x10]
mov dword [esp], ecx
cmp eax, dword [ecx + 0xc]
jne 0x4c962a
mov eax, dword [esp]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
cmp ebx, edi
je 0x4c962a
add ebx, 8
nop word cs:[eax + eax]
lea esi, [ebx - 8]
cmp dword [ebx - 4], 0
je 0x4c9608
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c9a77
mov ecx, esi
call fcn.004b8f70
test al, al
je 0x4c977b
cmp dword [ebx - 4], 0
je 0x4c977b
lea eax, [ebx + 8]
cmp ebx, edi
mov ebx, eax
jne 0x4c95f0
cmp dword [esp + 0x88], 0
mov ebx, dword [esp + 0x10]
je 0x4c9567
lea ecx, [esp + 0x80]
mov dword [ecx + 8], 0
call fcn.004bcc40
jmp 0x4c9567
mov edi, dword [ebp + 0x10]
jmp 0x4c8c79
mov eax, dword [esp]
movsd xmm0, qword [eax + 0x3c]
mov cl, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x4c8cf8
cmp byte [eax + 0xdc], 0
je 0x4c9bd8
lea ecx, [eax + 0xcc]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004b3730
mov cl, 1
jmp 0x4c8cfa
mov eax, dword [esp]
cmp dword [eax + 0x6c], 0
jle 0x4c8cd0
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.004ed9a0
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 + 0x10]
push edx
mov ebx, edx
call fcn.0046b660
mov ecx, ebx
call fcn.004ee1a0
jmp 0x4c8c86
xor esi, esi
jmp 0x4c8e74
mov byte [ebx + 0x174], 1
jmp 0x4c8c79
xor ecx, ecx
jmp 0x4c8d47
lea ecx, [esi + 0x1a0]
call fcn.0046b720
mov edi, dword [esi + 0x1a4]
mov eax, dword [esi + 0x1a8]
jmp 0x4c8d5b
cmp dword [ebx + 4], 0
je 0x4c975c
mov ecx, ebx
call fcn.004b8f70
test al, al
je 0x4c9fb2
mov ecx, ebx
call fcn.004b8f70
test al, al
je 0x4c9778
cmp dword [ebx + 4], 0
je 0x4c9778
mov ecx, esi
push ebx
call fcn.004b3870
add esi, 8
add ebx, 8
cmp ebx, edi
jne 0x4c9747
sub edi, esi
jb 0x4c9fa3
je 0x4c962a
mov eax, dword [esp]
mov ebx, dword [eax + 4]
add edi, esi
cmp edi, ebx
jne 0x4c9fb5
mov edi, esi
sub edi, esi
add edi, esi
jmp 0x4c97b5
add ebx, 0xfffffff8
je 0x4c9f94
mov ecx, ebx
call fcn.004b3890
cmp ebx, edi
jne 0x4c97a5
mov eax, dword [esp]
mov dword [eax + 4], edi
jmp 0x4c962a
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x4c980b
cmp dword [esp + 4], edi
je 0x4c9808
mov eax, dword [edi]
mov edx, eax
shr edx, 0xe
mov ecx, eax
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x5d0730]
bt ecx, edx
jb 0x4c9fdc
mov eax, dword [esp + 0xc]
mov dword [edi], eax
mov eax, dword [esp + 4]
mov dword [eax], 0
add edi, 4
mov eax, dword [esp + 4]
add eax, 4
mov ecx, dword [esp + 8]
cmp eax, ecx
je 0x4c982e
jmp 0x4c97c8
push eax
call fcn.004be040
add esp, 4
jmp 0x4c986f
lea eax, [edi + 4]
cmp eax, ecx
jne 0x4c97c4
sub ecx, edi
jb 0x4c9fa3
je 0x4c9141
mov edx, dword [esi + 4]
add ecx, edi
mov eax, edi
cmp ecx, edx
je 0x4c9894
mov dword [esp + 0xc], edx
cmp eax, ecx
je 0x4c9887
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5d0730]
bt edx, ecx
jb 0x4c981c
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov edx, dword [esp + 4]
mov dword [edx], eax
mov eax, edx
mov dword [ecx], 0
mov edx, dword [esp + 0xc]
add ecx, 4
add eax, 4
cmp ecx, edx
jne 0x4c984b
mov edx, dword [esi + 4]
sub eax, edi
add eax, edi
cmp edx, eax
je 0x4c98d8
add edx, 0xfffffffc
mov dword [esp + 4], eax
test edx, edx
je 0x4c9f94
mov eax, dword [edx]
mov ecx, eax
shr ecx, 0xe
mov edi, edx
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5d0730]
bt edx, ecx
jb 0x4c98e0
mov dword [edi], 0
lea edx, [edi - 4]
mov ecx, dword [esp + 4]
cmp edi, ecx
mov eax, ecx
jne 0x4c98a3
mov dword [esi + 4], eax
jmp 0x4c9141
push eax
call fcn.004be040
add esp, 4
jmp 0x4c98c5
lea ecx, [esi - 0x58]
sub esp, 4
mov al, byte [esp + 0x50]
mov byte [esp], al
call fcn.0054b9f0
jmp 0x4c921e
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x59f83f
call fcn.00526860
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 0x4c994a
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x10]
jmp 0x4c9466
cmp edi, dword [esp + 0x5c]
jne 0x4c946e
test eax, eax
je 0x4c955c
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x4c999c
mov ebx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp], eax
cmp ebx, eax
je 0x4c999c
add ebx, 8
lea edi, [ebx - 8]
cmp dword [ebx - 4], 0
je 0x4c9979
mov ecx, edi
call fcn.004b8f70
test al, al
je 0x4c9ffd
mov ecx, edi
call fcn.004b8f70
test al, al
je 0x4c9f50
cmp dword [ebx - 4], 0
je 0x4c9f50
lea eax, [ebx + 8]
cmp ebx, dword [esp]
mov ebx, eax
jne 0x4c9961
cmp dword [esp + 0x58], 0
mov ebx, dword [esp + 0x10]
je 0x4c955c
lea ecx, [esp + 0x50]
mov dword [ecx + 8], 0
call fcn.004bcc40
jmp 0x4c955c
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 0x4c99f5
mov ecx, dword [esp + 0x8c]
jmp 0x4c904f
cmp ecx, dword [esp + 0x5c]
jne 0x4c9057
test eax, eax
je 0x4c917c
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xc]
jne 0x4c9a1c
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
cmp edi, eax
je 0x4c9a1c
cmp dword [edi], 0
je 0x4c9e29
add edi, 4
cmp edi, dword [esp + 4]
jne 0x4c9a0a
cmp dword [esp + 0x58], 0
je 0x4c917c
lea ecx, [esp + 0x50]
mov dword [ecx + 8], 0
call fcn.004bcc40
jmp 0x4c917c
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x4c94f8
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
push 0x59f83f
call fcn.00526860
xor esi, esi
jmp 0x4c9494
int3
mov esi, 0xfc0
add esi, dword [edi + ecx*4 - 4]
jmp 0x4c8e7c
int3
mov ecx, dword [esp + 0x18]
push ebx
call fcn.0054ba50
jmp 0x4c8eb0
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.0049fda0
add esp, 0x10
jmp 0x4c8b9d
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.0049fda0
add esp, 0x10
jmp 0x4c8bcd
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.0049fda0
add esp, 0x10
jmp 0x4c8c3d
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.0049fda0
add esp, 0x10
jmp 0x4c928d
inc ecx
mov dword [esp + 0x8c], ecx
cmp edx, ecx
je 0x4c9020
jmp 0x4c90b7
inc edx
mov dword [esp + 0x8c], edx
cmp ecx, edx
je 0x4c8fe1
jmp 0x4c8fc5
mov eax, dword [esp]
mov edx, dword [eax + 0x130]
sub edx, dword [eax + 0x12c]
sar edx, 2
jmp 0x4c8fa4
movzx eax, al
mov dword [esp + 0x14], eax
xor eax, eax
lea edx, [esp + 0x50]
mov edi, dword [esp + 0x18]
mov ecx, edi
push eax
push ebx
push edx
call fcn.0054bb10
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 0x5a2c28
push ecx
xor edi, edi
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x3c]
call fcn.0054c540
add esp, 0x2c
lea eax, [esp + 0x50]
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
jne 0x4c9bcf
mov edi, dword [ebp + 0x10]
jmp 0x4c8cac
push 1
call fcn.0054cdd0
jmp 0x4c9bc7
push str....._third_partylibc_srcincludeoptional:790:_assertion_this__has_value___failed:_optional_operator___called_on_a_disengaged_value_n
push 0x59f83f
call fcn.00526860
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.0049fda0
add esp, 0x10
jmp 0x4c8e98
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.0049fda0
add esp, 0x10
jmp 0x4c920f
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.0049fda0
add esp, 0x10
jmp 0x4c8f2c
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.0049fda0
add esp, 0x10
jmp 0x4c91be
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.0049fda0
add esp, 0x10
jmp 0x4c91e8
int3
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.0049fda0
add esp, 0x10
mov eax, dword [0x5abe0c]
jmp 0x4c91a3
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, edi
jb 0x4c93b2
jmp 0x4c93fd
mov eax, dword [ebx + 0x14c]
sub eax, dword [ebx + 0x148]
sar eax, 3
jmp 0x4c938d
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.0049fda0
add esp, 0x10
jmp 0x4c9315
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.0049fda0
add esp, 0x10
jmp 0x4c91f3
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.0049fda0
add esp, 0x10
jmp 0x4c959e
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.0049fda0
add esp, 0x10
mov eax, dword [0x5abe0c]
jmp 0x4c9583
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x4c9e15
cmp dword [esp + 8], edi
je 0x4c9e12
mov eax, dword [edi]
mov edx, eax
shr edx, 0xe
mov ecx, eax
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x5d0730]
bt ecx, edx
jb 0x4ca02f
mov eax, dword [esp + 0xc]
mov dword [edi], eax
mov eax, dword [esp + 8]
mov dword [eax], 0
add edi, 4
mov eax, dword [esp + 8]
add eax, 4
jmp 0x4c9e2c
push eax
call fcn.004be040
add esp, 4
jmp 0x4c9e89
lea eax, [edi + 4]
mov dword [esp + 8], eax
cmp eax, dword [esp + 4]
jne 0x4c9dd2
sub dword [esp + 4], edi
jb 0x4c9fa3
je 0x4c9a1c
mov ecx, dword [esi + 4]
mov eax, dword [esp + 4]
add eax, edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
cmp eax, ecx
je 0x4c9ff4
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 4]
je 0x4c9e9b
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5d0730]
bt edx, ecx
jb 0x4c9e1e
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
mov edx, dword [esp + 0xc]
mov dword [edx], eax
mov dword [ecx], 0
mov eax, dword [esp + 4]
add eax, 4
add dword [esp + 0xc], 4
mov dword [esp + 4], eax
cmp eax, dword [esp + 8]
jne 0x4c9e63
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
sub eax, edi
add eax, edi
mov edi, eax
cmp dword [esp + 8], eax
je 0x4c9f09
add dword [esp + 8], 0xfffffffc
cmp dword [esp + 8], 0
je 0x4c9f94
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x5d0730]
bt edx, ecx
jb 0x4c9f11
mov ecx, dword [esp + 8]
mov dword [ecx], 0
lea eax, [ecx - 4]
cmp ecx, edi
mov dword [esp + 8], eax
jne 0x4c9ecd
mov dword [esi + 4], edi
jmp 0x4c9a1c
push eax
call fcn.004be040
add esp, 4
jmp 0x4c9ef4
cmp dword [ebx + 4], 0
je 0x4c9f31
mov ecx, ebx
call fcn.004b8f70
test al, al
je 0x4ca000
mov ecx, ebx
call fcn.004b8f70
test al, al
je 0x4c9f4d
cmp dword [ebx + 4], 0
je 0x4c9f4d
mov ecx, edi
push ebx
call fcn.004b3870
add edi, 8
add ebx, 8
cmp ebx, dword [esp]
jne 0x4c9f1c
sub dword [esp], edi
jb 0x4c9fa3
je 0x4c999c
mov ebx, dword [esi + 4]
mov ecx, dword [esp]
add ecx, edi
cmp ecx, ebx
jne 0x4ca003
mov ecx, edi
sub ecx, edi
add ecx, edi
mov edi, ecx
cmp ebx, ecx
je 0x4c9f8c
add ebx, 0xfffffff8
je 0x4c9f94
mov ecx, ebx
call fcn.004b3890
cmp ebx, edi
jne 0x4c9f7c
mov dword [esi + 4], edi
jmp 0x4c999c
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
push 0x59f83f
call fcn.00526860
push str....._third_partylibc_srcinclude_vector:1557:_assertion___first_____last_failed:_vector::erase_first__last__called_with_invalid_range_n
push 0x59f83f
call fcn.00526860
int3
mov ecx, esi
mov dword [esp + 0x14], ecx
push edi
call fcn.004b3870
add edi, 8
mov ecx, dword [esp + 0x14]
add ecx, 8
cmp edi, ebx
jne 0x4c9fb7
mov eax, dword [esp]
mov ebx, dword [eax + 4]
mov edi, ecx
jmp 0x4c979f
push eax
call fcn.004be040
add esp, 4
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
jmp 0x4c97f8
mov dword [esp + 0xc], edi
jmp 0x4c9eb8
int3
int3
mov eax, ecx
mov ecx, edi
mov dword [esp + 0x14], ecx
mov dword [esp], eax
push eax
call fcn.004b3870
mov edx, dword [esp]
add edx, 8
mov ecx, dword [esp + 0x14]
add ecx, 8
mov eax, edx
cmp edx, ebx
jne 0x4ca007
mov ebx, dword [esi + 4]
jmp 0x4c9f72
push eax
call fcn.004be040
add esp, 4
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
jmp 0x4c9e02