Function at 0x4c5a50
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x7f0
mov esi, esp
mov dword [esi + 0x7d8], ebp
mov dword [esi + 0x7dc], esp
mov dword [esi + 0x7e8], 0xffffffff
mov dword [esi + 0x7e4], 0x703d80
mov edi, ecx
lea eax, [esi + 0x7e0]
call 0x4c5a8e
pop edx
mov ecx, dword fs:[0]
mov dword [esi + 0x7e0], ecx
mov dword fs:[0], eax
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x4c5ab6
mov ebx, 0x3b9aca00
jmp 0x4c9367
cmp dword [edi + 0x2d0], 0
je 0x4c7569
mov eax, dword [edi + 0x2d4]
xorps xmm0, xmm0
lea ecx, [esi + 0x3d0]
mov dword [esi + 0x288], edx
movaps xmmword [esi + 0x3d0], xmm0
push ecx
push eax
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je 0x4c7582
movq xmm0, qword [esi + 0x3d0]
movsd xmm1, qword [esi + 0x3d8]
mov eax, dword [edi + 0x390]
mov ebx, dword [edi + 0x388]
mov edx, dword [edi + 0x38c]
mov dword [esi + 0x10], edi
mov edi, dword [edi + 0x1dc]
movdqa xmmword [esi + 0x90], xmm0
movapd xmmword [esi + 0x50], xmm1
mov dword [esi + 0x30], eax
mov eax, dword [edi + 8]
test al, 8
jne 0x4c6b8a
mov ecx, eax
add ecx, 0x10
jb 0x4c6b8a
lock cmpxchg dword [edi + 8], ecx
jne 0x4c6b8a
mov ecx, dword [edi + 0x1fc]
lock inc dword [ecx]
jle 0x4c95b7
mov eax, 0xfffffff0
lock xadd dword [edi + 8], eax
mov dword [esi + 0xc], ecx
and eax, 0xfffffff2
cmp eax, 0x12
je 0x4c74e9
lea eax, [ecx + 0xac]
mov dword [esi + 0x3d0], ecx
mov dword [esi + 0x7e8], 0
lea ecx, [esi + 0x108]
push eax
push ebx
push ecx
call dword [edx + 0x24]
add esp, 0xc
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x264]
test eax, eax
je 0x4c75c6
push 0xc11
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0xaf0]
test eax, eax
mov dword [esi + 0x28], eax
je 0x4c75da
movdqa xmm3, xmmword [esi + 0x50]
pxor xmm0, xmm0
movsd xmm2, qword [0x725b80]
xorpd xmm1, xmm1
psubd xmm3, xmmword [esi + 0x90]
punpckldq xmm3, xmm0
movdqa xmm0, xmmword [0x7259c0]
por xmm3, xmm0
subpd xmm3, xmm0
movapd xmm0, xmm3
unpckhpd xmm0, xmm3
maxsd xmm3, xmm1
maxsd xmm0, xmm1
movsd xmm1, qword [0x725b88]
minsd xmm3, xmm2
cvttsd2si ecx, xmm3
minsd xmm0, xmm2
mov ebx, ecx
cvttsd2si edx, xmm0
sar ebx, 0x1f
subsd xmm3, xmm1
subsd xmm0, xmm1
cvttsd2si edi, xmm3
cvttsd2si eax, xmm0
and edi, ebx
mov ebx, edx
sar ebx, 0x1f
or edi, ecx
and eax, ebx
movd xmm1, edi
or eax, edx
movd xmm0, eax
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x55
sub esp, 0x10
movdqa xmmword [esi + 0x5e0], xmm0
movd dword [esp + 0xc], xmm0
movdqa xmmword [esi + 0x4f0], xmm1
movd dword [esp + 8], xmm1
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [esi + 0x28]
mov eax, dword [esi + 0x30]
movd xmm0, dword [esi + 0x108]
movss xmm1, dword [esi + 0x10c]
movss xmm2, dword [esi + 0x110]
movss xmm3, dword [esi + 0x114]
mov eax, dword [eax + 0x124]
test eax, eax
je 0x4c75ee
sub esp, 0x10
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
movd dword [esp], xmm0
call eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x108]
test eax, eax
je 0x4c7602
push 0x4000
call eax
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
lea eax, [ebx + 0x2d0]
lea edx, [ebx + 0x1dc]
mov dword [esi + 0xfc], eax
mov dword [esi + 0xf0], edx
lock dec dword [ecx]
jne 0x4c5d1e
mov ecx, dword [esi + 0x3d0]
mov dword [esi + 0x7e8], 0xffffffff
call fcn.004f31f0
mov eax, dword [ebx + 0x388]
mov edi, dword [ebx + 0x38c]
mov dword [esi + 0x7e8], 0xffffffff
lea ecx, [esi + 0x108]
mov edx, ebx
push dword [esi + 0xfc]
push edi
push eax
call fcn.004f4de0
add esp, 0xc
movsd xmm1, qword [esi + 0x128]
mov eax, dword [esi + 0x144]
movsd xmm2, qword [esi + 0x130]
movq xmm0, qword [esi + 0x138]
mov edx, dword [esi + 0xfc]
mov byte [esi + 0x16], 1
mov dword [esi + 0x7e8], 1
mov ecx, ebx
movsd qword [esi + 0x3f0], xmm1
movsd xmm1, qword [esi + 0x118]
mov dword [esi + 0x23c], eax
mov eax, dword [esi + 0x140]
movsd qword [esi + 0x3f8], xmm2
movsd xmm2, qword [esi + 0x120]
movq qword [esi + 0x400], xmm0
movsd qword [esi + 0x3e0], xmm1
movsd xmm1, qword [esi + 0x110]
mov dword [esi + 0x238], eax
mov eax, dword [esi + 0x148]
movsd qword [esi + 0x3e8], xmm2
movsd xmm2, qword [esi + 0x108]
movsd qword [esi + 0x3d8], xmm1
movsd xmm1, qword [esi + 0x160]
mov dword [esi + 0x234], eax
mov eax, dword [esi + 0x170]
movsd qword [esi + 0x3d0], xmm2
movsd xmm2, qword [esi + 0x150]
movsd qword [esi + 0x270], xmm1
movsd xmm1, qword [esi + 0x158]
mov dword [esi + 0x2d0], eax
lea eax, [esi + 0x3d0]
movsd qword [esi + 0x260], xmm2
movsd qword [esi + 0x268], xmm1
movsd xmm1, qword [esi + 0x168]
movsd qword [esi + 0x2c8], xmm1
push eax
push dword [esi + 0xf0]
call fcn.0058a8d0
add esp, 8
mov eax, dword [esi + 0x2d0]
movq xmm0, qword [esi + 0x2c8]
mov edx, 8
mov dword [esi + 0x280], eax
mov eax, dword [esi + 0xf0]
movq qword [esi + 0x278], xmm0
mov edi, dword [eax]
xor eax, eax
mov dword [esi + 0xf4], edi
lea ecx, [edi + 8]
lock cmpxchg dword [edi + 8], edx
mov dword [esi + 0x240], ecx
je 0x4c5ea7
mov dword [esi + 0x7e8], 0xf
call fcn.007188f0
mov ecx, dword [esi + 0xf4]
mov eax, dword [ecx + 0x208]
movss xmm0, dword [ecx + 0x37c]
mov dword [esi + 0xbc], eax
mov eax, dword [ecx + 0x204]
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [ecx + 0x200]
mov dword [esi + 0x88], eax
movzx eax, byte [ecx + 0x20c]
movss dword [esi + 0x8c], xmm0
mov byte [esi + 0xf8], al
movzx eax, byte [ecx + 0x20f]
mov byte [esi + 0xea], al
movzx eax, word [ecx + 0x20d]
mov word [esi + 0xe8], ax
mov edi, dword [ecx + 0x658]
test edi, edi
je 0x4c7616
movss xmm0, dword [ecx + 0x210]
mov dl, 1
xor eax, eax
lea ecx, [edi + 8]
movaps xmmword [esi + 0xc0], xmm0
lock cmpxchg byte [edi + 8], dl
je 0x4c5f54
mov byte [esi + 0x2e], 1
mov dword [esi + 0x7e8], 3
mov dword [esi + 0x30], ecx
mov dword [esi + 0xc], edi
call fcn.0071aab0
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x30]
mov eax, dword [edi + 0xa0]
lock inc dword [eax]
jle 0x4c95b7
xor ebx, ebx
mov al, 1
mov edx, dword [edi + 0xa0]
lock cmpxchg byte [edi + 8], bl
mov dword [esi + 0x30], edx
je 0x4c5f8d
mov byte [esi + 0x2e], 1
mov dword [esi + 0x7e8], 3
call fcn.0071ade0
mov edx, dword [esi + 0x30]
xor eax, eax
mov dword [esi + 0x100], edx
mov ah, 1
xor ebx, ebx
lea ecx, [edx + 8]
lock cmpxchg byte [edx + 8], ah
mov dword [esi + 0xc], ecx
je 0x4c5fc1
mov byte [esi + 0x23], 1
mov dword [esi + 0x7e8], 4
call fcn.0071aab0
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0xc]
xor ebx, ebx
movsd xmm3, qword [edx + 0x18]
movsd xmm5, qword [0x725628]
xorps xmm2, xmm2
movss xmm4, dword [0x7255e0]
movaps xmm1, xmm3
movss xmm2, xmm3
movaps xmmword [esi + 0x3b0], xmm3
movaps xmm3, xmm4
shufps xmm1, xmm1, 0x55
xorps xmm0, xmm0
orps xmm2, xmm5
movss xmm0, xmm1
subsd xmm2, xmm5
movaps xmm1, xmm4
orps xmm0, xmm5
cvtsd2ss xmm2, xmm2
subsd xmm0, xmm5
divss xmm3, xmm2
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss dword [esi + 0x3d0], xmm3
movss dword [esi + 0x108], xmm1
mov edx, dword [edx + 0x28]
test edx, edx
mov dword [esi + 0x18], edx
je 0x4c6170
lea eax, [edx*4]
xor ebx, ebx
lea eax, [eax + eax*4]
cmp eax, 0x6aaaaab8
setb al
jae 0x4c7640
lea ecx, [edx*8]
mov bl, al
lea edi, [ecx + ecx*2]
shl ebx, 2
test edi, edi
js 0x4c7654
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x50], eax
je 0x4c6b61
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4c6097
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4c6b6b
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x18]
mov ecx, eax
test ecx, ecx
je 0x4c6b6b
xor ebx, ebx
cmp edx, 0xc
mov dword [esi + 0x1c], ecx
jae 0x4c6812
mov edi, dword [esi + 0x50]
lea eax, [ebx + ebx*4]
movdqa xmm2, xmmword [0x726010]
movaps xmm3, xmmword [0x726020]
movaps xmm4, xmmword [0x7259c0]
movsd xmm1, qword [0x725628]
lea ecx, [ebx + ebx*2]
lea eax, [edi + eax*4 + 0x10]
mov edi, dword [esi + 0x1c]
lea ecx, [edi + ecx*8 + 0x14]
nop
movdqu xmm6, xmmword [eax - 0x10]
xorps xmm5, xmm5
movss xmm0, dword [esi + 0x3d0]
inc ebx
pshufd xmm7, xmm6, 0xee
psubd xmm7, xmm6
movss xmm5, xmm7
movdqa xmm7, xmm6
psrld xmm6, 0x10
pand xmm7, xmmword [0x725ff0]
por xmm6, xmm2
orps xmm5, xmm4
subps xmm6, xmm3
subsd xmm5, xmm1
por xmm7, xmmword [0x726000]
addps xmm6, xmm7
movss xmm7, dword [esi + 0x108]
unpcklps xmm0, xmm7
movss xmm7, dword [eax]
add eax, 0x14
movlhps xmm0, xmm0
mulps xmm0, xmm6
movups xmmword [ecx - 0x14], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm5
movss dword [ecx - 4], xmm7
movss dword [ecx], xmm0
add ecx, 0x18
cmp edx, ebx
jne 0x4c60f0
mov ecx, dword [esi + 0xc]
jmp 0x4c6177
mov dword [esi + 0x1c], 4
xor edx, edx
mov al, 1
mov dword [esi + 0xec], 0
lock cmpxchg byte [ecx], dl
mov dword [esi + 0x68], ebx
je 0x4c61a4
mov byte [esi + 0x23], 1
mov dword [esi + 0x7e8], 4
call fcn.0071ade0
mov ebx, dword [esi + 0x68]
mov eax, dword [esi + 0x280]
mov edi, dword [esi + 0x278]
mov dword [esi + 0x11c], 0
mov dword [esi + 0x128], 0
mov dword [esi + 0x124], 0
mov dword [esi + 0x12c], 0
mov dword [esi + 0x13c], 0
mov dword [esi + 0x138], 0
mov dword [esi + 0x144], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x150], 0
mov dword [esi + 0x14c], 0
mov dword [esi + 0x154], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x160], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x174], 0
mov dword [esi + 0x180], 0
mov dword [esi + 0x17c], 0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x188], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x190], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x19c], 0
mov dword [esi + 0x1a8], 0
mov dword [esi + 0x1a4], 0
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x1bc], 0
mov dword [esi + 0x1b8], 0
mov dword [esi + 0x1c8], 0
mov dword [esi + 0x1d0], 0
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x130], 2
mov dword [esi + 0x158], 2
mov dword [esi + 0x108], 1
mov dword [esi + 0x10c], 0x40
mov dword [esi + 0x110], 1
mov ecx, eax
mov dword [esi + 0x114], eax
mov dword [esi + 0xc], eax
shl ecx, 6
test eax, eax
mov dword [esi + 0x118], ecx
mov dword [esi + 0xa0], ecx
je 0x4c63f2
mov dword [esi + 0x70], edi
add edi, 0x10
mov ebx, ecx
nop word [eax + eax]
lea ecx, [esi + 0x108]
mov edx, edi
call fcn.005b4410
add edi, 0x40
add ebx, 0xffffffc0
jne 0x4c6370
movsd xmm0, qword [esi + 0x19c]
mov ebx, dword [esi + 0x1b8]
mov edi, dword [esi + 0x1bc]
mov eax, dword [esi + 0x1a4]
mov edx, dword [esi + 0x194]
mov ecx, dword [esi + 0x1a8]
movaps xmmword [esi + 0x250], xmm0
movsd xmm0, qword [esi + 0x1b0]
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x30], edi
mov ebx, dword [esi + 0x1cc]
mov edi, dword [esi + 0x1d0]
mov dword [esi + 0xdc], eax
movaps xmmword [esi + 0x50], xmm0
movsd xmm0, qword [esi + 0x1c4]
mov dword [esi + 0x220], ebx
mov dword [esi + 0xec], edi
mov ebx, dword [esi + 0x68]
mov edi, dword [esi + 0x70]
jmp 0x4c6426
xorps xmm0, xmm0
mov dword [esi + 0x220], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x6c], 0
xor ecx, ecx
mov dword [esi + 0xdc], 0
xor edx, edx
movaps xmmword [esi + 0x250], xmm0
movaps xmmword [esi + 0x50], xmm0
movaps xmmword [esi + 0x90], xmm0
add dword [esi + 0xa0], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x28], ecx
lea eax, [esi + 0x74c]
push 0x8c
lea ecx, [esi + 0x108]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0xf8]
xorps xmm0, xmm0
test cl, cl
je 0x4c647a
movss xmm0, dword [0x7255e0]
divss xmm0, dword [esi + 0x4c]
mulss xmm0, dword [esi + 0x8c]
mov eax, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x4c]
mov edx, dword [esi + 0x1c0]
movaps xmm2, xmmword [esi + 0x3b0]
mov dword [esi + 0xb0], 8
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0x2f8], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x18], edx
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x2fc], eax
mov dword [esi + 0x300], ebx
movss dword [esi + 0x2f0], xmm1
movss xmm1, dword [esi + 0x8c]
mov eax, dword [esi + 0xbc]
mov ebx, dword [esi + 0x27c]
movss dword [esi + 0x31c], xmm1
mov dword [esi + 0x324], eax
mov eax, dword [esi + 0x198]
movaps xmm1, xmmword [esi + 0xc0]
mov dword [esi + 0x28c], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x320], eax
mov byte [esi + 0x328], cl
movzx ecx, byte [esi + 0xea]
mov eax, dword [esi + 0x1ac]
mov dword [esi + 0x108], edi
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], edi
mov dword [esi + 0x114], edx
mov byte [esi + 0x32b], cl
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x88], eax
movzx eax, word [esi + 0xe8]
test ecx, ecx
mov word [esi + 0x329], ax
movss dword [esi + 0x32c], xmm1
movlps qword [esi + 0x2e8], xmm2
movss dword [esi + 0x2f4], xmm0
mov dword [esi + 0x2d8], 0xff800000
mov dword [esi + 0x2dc], 0xff800000
mov dword [esi + 0x2e0], 0x7f800000
mov dword [esi + 0x2e4], 0x7f800000
mov dword [esi + 0x304], 4
mov dword [esi + 0x308], 0
mov dword [esi + 0x30c], 0
mov dword [esi + 0x310], 4
mov dword [esi + 0x314], 0
mov dword [esi + 0x318], 0
je 0x4c66bf
add edi, 0x40
shl ecx, 6
nop word cs:[eax + eax]
nop
mov dword [esi + 0x110], edi
movzx eax, byte [edi - 4]
cmp al, 0xd
je 0x4c66bf
mov dword [esi + 0xc], ecx
lea ecx, [edi - 0x40]
mov edx, dword [ecx + 0x38]
mov dword [esi + 0x5d8], edx
lea edx, [esi + 0x5a0]
movsd xmm0, qword [ecx + 0x30]
movsd qword [esi + 0x5d0], xmm0
movsd xmm0, qword [ecx + 0x28]
movsd qword [esi + 0x5c8], xmm0
movsd xmm0, qword [ecx + 0x20]
movsd qword [esi + 0x5c0], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd qword [esi + 0x5b8], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [esi + 0x5b0], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esi + 0x5dd]
movsd qword [esi + 0x5a8], xmm1
movsd qword [esi + 0x5a0], xmm0
mov byte [esi + 0x5dc], al
movzx eax, byte [edi - 1]
mov byte [ecx + 2], al
movzx eax, word [edi - 3]
mov dword [esi + 0x7e8], 0xd
mov word [ecx], ax
lea eax, [esi + 0xb0]
lea ecx, [esi + 0x2d8]
push eax
mov dword [esi + 0x70], edi
call fcn.00597360
add esp, 4
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0xc]
add edi, 0x40
add ecx, 0xffffffc0
jne 0x4c65f0
lea ecx, [esi + 0x108]
mov byte [esi + 0x24], 1
mov dword [esi + 0x7e8], 5
call fcn.005b1950
movdqa xmm0, xmmword [esi + 0xc0]
movd eax, xmm0
test al, al
je 0x4c733d
mov edi, dword [esi + 0xb8]
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
mov dword [esi + 0x5fc], 0
mov dword [esi + 0x5f8], 0
mov dword [esi + 0x67c], 0
mov dword [esi + 0x678], 0
mov dword [esi + 0x330], 0x40000000
mov dword [esi + 0x2d8], 0xff800000
mov dword [esi + 0x2dc], 0xff800000
mov dword [esi + 0x2e0], 0x7f800000
mov dword [esi + 0x2e4], 0x7f800000
mov dword [esi + 0x334], 0xff96ff96
imul edx, edi, 0x38
add edi, edi
mov dword [esi + 0x6f8], eax
mov dword [esi + 0x6fc], ecx
mov dword [esi + 0x700], eax
lea ecx, [esi + 0x2d8]
add edx, eax
test eax, eax
cmove edi, eax
mov dword [esi + 0x704], edx
lea edx, [esi + 0x330]
mov dword [esi + 0x708], ecx
test edi, edi
mov dword [esi + 0x70c], edx
je 0x4c6b83
xor ebx, ebx
cmp edi, 0x2492493
setb al
jae 0x4c7685
mov bl, al
imul ecx, edi, 0x38
shl ebx, 3
test ecx, ecx
mov dword [esi + 0xc], ecx
js 0x4c769d
je 0x4c6bac
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4c67f9
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4c7668
mov dword [0x919820], eax
push dword [esi + 0xc]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
jne 0x4c6bb6
jmp 0x4c7668
lea eax, [edx - 1]
lea edx, [ecx + 0x10]
mov edi, ecx
mov ecx, 0x18
mov dword [esi + 0x30], edx
mul ecx
lea edx, [edi + eax + 0x10]
seto cl
cmp edx, dword [esi + 0x30]
jb 0x4c74ff
test cl, cl
jne 0x4c74ff
mov edi, dword [esi + 0x1c]
lea edx, [edi + 0x14]
lea edi, [edi + eax + 0x14]
cmp edi, edx
jb 0x4c74ff
test cl, cl
jne 0x4c74ff
mov edi, dword [esi + 0x1c]
lea edx, [edi + 0xc]
lea edi, [edi + eax + 0xc]
cmp edi, edx
jb 0x4c74ff
test cl, cl
jne 0x4c74ff
mov edi, dword [esi + 0x1c]
lea edx, [edi + 8]
lea edi, [edi + eax + 8]
cmp edi, edx
jb 0x4c74ff
test cl, cl
jne 0x4c74ff
mov edi, dword [esi + 0x1c]
lea edx, [edi + 4]
lea edi, [edi + eax + 4]
cmp edi, edx
jb 0x4c74ff
mov edx, dword [esi + 0x18]
test cl, cl
jne 0x4c60bc
mov edi, dword [esi + 0x1c]
add eax, edi
cmp eax, edi
jb 0x4c60bc
test cl, cl
jne 0x4c60bc
mov ebx, dword [esi + 0x1c]
lea eax, [edx + edx*2]
lea edi, [esi + 0x3d0]
lea edx, [esi + 0x10c]
lea ecx, [ebx + eax*8]
lea eax, [esi + 0x3d4]
cmp ebx, eax
setb byte [esi + 0x30]
cmp edi, ecx
setb ah
cmp ebx, edx
lea edx, [esi + 0x108]
setb al
cmp edx, ecx
setb cl
test byte [esi + 0x30], ah
jne 0x4c7507
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x50]
and al, cl
mov ebx, 0
jne 0x4c60bf
mov ebx, edx
mov edx, dword [esi + 0x1c]
lea eax, [edi + 0x4c]
and ebx, 0xfffffffc
mov ecx, ebx
nop dword [eax + eax]
movss xmm0, dword [eax - 0x3c]
movd xmm1, dword [eax - 0x24]
movd xmm4, dword [eax - 0x4c]
movd xmm6, dword [eax - 0x48]
movd xmm7, dword [eax - 0x44]
movd xmm2, dword [eax - 0x2c]
movdqa xmm3, xmmword [0x726010]
movdqa xmm5, xmmword [0x725ff0]
movaps xmmword [esi + 0x30], xmm0
movd xmm0, dword [eax - 0x10]
punpckldq xmm1, xmm0
movd xmm0, dword [eax - 0x38]
punpckldq xmm4, xmm0
movd xmm0, dword [eax - 0xc]
punpcklqdq xmm4, xmm1
movd xmm1, dword [eax - 0x20]
punpckldq xmm1, xmm0
movd xmm0, dword [eax - 0x34]
punpckldq xmm6, xmm0
movd xmm0, dword [eax - 8]
punpcklqdq xmm6, xmm1
movd xmm1, dword [eax - 0x1c]
punpckldq xmm1, xmm0
movd xmm0, dword [eax - 0x30]
punpckldq xmm7, xmm0
movd xmm0, dword [eax - 4]
punpcklqdq xmm7, xmm1
movd xmm1, dword [eax - 0x18]
punpckldq xmm1, xmm0
movd xmm0, dword [eax - 0x40]
punpckldq xmm0, xmm2
movdqa xmm2, xmm4
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm7
pand xmm2, xmm5
movdqa xmm5, xmmword [0x726000]
psubd xmm1, xmm4
psrld xmm4, 0x10
por xmm4, xmm3
movaps xmm3, xmmword [0x726020]
por xmm2, xmm5
subps xmm4, xmm3
movdqa xmm3, xmm6
psrld xmm6, 0x10
pand xmm3, xmmword [0x725ff0]
por xmm6, xmmword [0x726010]
addps xmm4, xmm2
movss xmm2, dword [esi + 0x3d0]
por xmm3, xmm5
movaps xmm5, xmmword [0x726020]
shufps xmm2, xmm2, 0
mulps xmm4, xmm2
subps xmm6, xmm5
movdqa xmm5, xmmword [0x726010]
addps xmm6, xmm3
movdqa xmm3, xmm7
psrld xmm7, 0x10
pand xmm3, xmmword [0x725ff0]
por xmm7, xmm5
movdqa xmm5, xmmword [0x725ff0]
subps xmm7, xmmword [0x726020]
por xmm3, xmmword [0x726000]
addps xmm7, xmm3
movss xmm3, dword [esi + 0x108]
mulps xmm7, xmm2
movdqa xmm2, xmm0
psrld xmm0, 0x10
pand xmm2, xmm5
movdqa xmm5, xmmword [0x726010]
por xmm2, xmmword [0x726000]
shufps xmm3, xmm3, 0
mulps xmm6, xmm3
por xmm0, xmm5
subps xmm0, xmmword [0x726020]
addps xmm0, xmm2
movdqa xmm2, xmm1
psrld xmm1, 0x10
pand xmm2, xmmword [0x725ff0]
por xmm1, xmm5
mulps xmm0, xmm3
movaps xmm5, xmm4
unpckhps xmm4, xmm6
subps xmm1, xmmword [0x726020]
movaps xmm3, xmm0
unpcklps xmm5, xmm6
movlhps xmm3, xmm7
por xmm2, xmmword [0x726000]
addps xmm1, xmm2
movaps xmm2, xmm1
movaps xmm6, xmm1
unpcklpd xmm2, xmmword [esi + 0x30]
shufps xmm2, xmm5, 0xe2
shufps xmm5, xmm3, 0x24
movss xmm3, dword [eax - 0x28]
movaps xmmword [esi + 0x30], xmm2
movaps xmm2, xmm1
shufps xmm2, xmm3, 0xc5
movaps xmm3, xmm0
shufps xmm3, xmm7, 0x11
shufps xmm3, xmm2, 0x22
movss xmm2, dword [eax - 0x14]
shufps xmm6, xmm2, 2
movaps xmm2, xmm0
shufps xmm0, xmm7, 0x33
unpckhpd xmm2, xmm7
shufps xmm6, xmm4, 0xe2
shufps xmm4, xmm2, 0x24
movss xmm2, dword [eax]
movups xmmword [edx + 0x40], xmm6
movups xmmword [edx + 0x20], xmm3
movups xmmword [edx], xmm5
add eax, 0x50
movups xmmword [edx + 0x30], xmm4
shufps xmm1, xmm2, 0xc7
shufps xmm0, xmm1, 0x22
movaps xmm1, xmmword [esi + 0x30]
movups xmmword [edx + 0x50], xmm0
movups xmmword [edx + 0x10], xmm1
add edx, 0x60
add ecx, 0xfffffffc
jne 0x4c6920
mov edx, dword [esi + 0x18]
cmp edx, ebx
jne 0x4c60bf
jmp 0x4c616b
mov ecx, ebx
test ecx, ecx
jne 0x4c60ae
mov ecx, ebx
mov edx, edi
mov dword [esi + 0x7e8], 0xe
call fcn.00709d20
jmp 0x4c9927
mov eax, 8
jmp 0x4c6bb6
lea ecx, [edi + 8]
mov dword [esi + 0xc], edx
call fcn.00719890
mov edx, dword [esi + 0xc]
mov ecx, dword [edi + 0x1fc]
lock inc dword [ecx]
jg 0x4c5b5a
jmp 0x4c95b7
mov eax, ebx
test eax, eax
je 0x4c7668
mov dword [esi + 0x244], eax
mov dword [esi + 0xc0], eax
mov dword [esi + 0x248], edi
mov dword [esi + 0x24c], 0
lea eax, [esi + 0x5f8]
push 0x118
push eax
lea eax, [esi + 0x3d0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esi + 0x44c]
mov eax, dword [esi + 0x3d0]
xor edx, edx
mov ecx, dword [esi + 0x4cc]
sub ebx, dword [esi + 0x448]
or eax, dword [esi + 0x3d4]
mov eax, dword [esi + 0x450]
cmove ebx, edx
sub ecx, dword [esi + 0x4c8]
or eax, dword [esi + 0x454]
cmove ecx, edx
cmp dword [esi + 0x4d0], 0
je 0x4c6c46
mov eax, dword [esi + 0x4dc]
mov edx, 0x24924925
sub eax, dword [esi + 0x4d8]
shr eax, 3
mul edx
add edx, edx
add ebx, ecx
jb 0x4c7514
add ebx, edx
jb 0x4c7514
xor eax, eax
cmp edi, ebx
jae 0x4c6c8d
mov byte [esi + 0x17], 1
mov dword [esi + 0x7e8], 9
lea ecx, [esi + 0x244]
xor edx, edx
push ebx
call fcn.00712b30
add esp, 4
mov eax, dword [esi + 0x244]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x24c]
mov dword [esi + 0x70], eax
push 0x118
lea eax, [esi + 0x3d0]
push eax
lea eax, [esi + 0x108]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x108]
mov edx, dword [esi + 0x10c]
mov eax, ecx
mov dword [esi + 0x3b0], ecx
mov dword [esi + 0x230], edx
or eax, edx
je 0x4c6dd2
lea eax, [esi + 0x110]
lea ecx, [esi + 0x338]
push 0x78
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x3ac]
mov edi, dword [esi + 0x3a8]
mov ecx, eax
sub ecx, edi
je 0x4c6d8f
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x70]
imul edi, edi, 0x38
xor ebx, ebx
lea edi, [esi + edi + 0x338]
imul edx, eax, 0x38
add edx, dword [esi + 0xc0]
nop word cs:[eax + eax]
movq xmm0, qword [edi + ebx]
movsd xmm1, qword [edi + ebx + 8]
movsd xmm2, qword [edi + ebx + 0x10]
movsd xmm3, qword [edi + ebx + 0x18]
movsd xmm4, qword [edi + ebx + 0x20]
movsd xmm5, qword [edi + ebx + 0x28]
movsd xmm6, qword [edi + ebx + 0x30]
inc eax
movsd qword [edx + ebx + 0x30], xmm6
movsd qword [edx + ebx + 0x28], xmm5
movsd qword [edx + ebx + 0x20], xmm4
movsd qword [edx + ebx + 0x18], xmm3
movsd qword [edx + ebx + 0x10], xmm2
movsd qword [edx + ebx + 8], xmm1
movq qword [edx + ebx], xmm0
add ebx, 0x38
dec ecx
jne 0x4c6d20
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x70], eax
mov dword [esi + 0x7e8], 0xa
mov dword [esi + 0x3a8], ecx
mov eax, dword [esi + 0x70]
lea ecx, [esi + 0x338]
mov byte [esi + 0x25], 0
mov byte [esi + 0x26], 0
mov byte [esi + 0x27], 1
mov dword [esi + 0x7e8], 0xa
mov dword [esi + 0xe4], eax
call fcn.005b3df0
mov dword [esi + 0xbc], 0
mov eax, dword [esi + 0x208]
test eax, eax
jne 0x4c6de8
jmp 0x4c7220
mov al, 1
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x208]
test eax, eax
je 0x4c7220
mov ecx, dword [esi + 0x214]
movq xmm0, qword [esi + 0x20c]
mov edi, dword [esi + 0x218]
mov edx, dword [esi + 0x21c]
movq qword [esi + 0x2bc], xmm0
mov dword [esi + 0x2c4], ecx
mov dword [esi + 0x2b8], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x8c], edi
mov dword [esi + 0x68], edx
mov eax, dword [esi + 0x2c0]
cmp eax, dword [esi + 0x4c]
je 0x4c71f1
nop word cs:[eax + eax]
nop dword [eax + eax]
lea edi, [eax + 0x38]
mov dword [esi + 0x2c0], edi
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov ecx, ebx
mov dword [esi + 0xc], edx
xor ecx, 3
or ecx, edx
lea edx, [esi + 0x338]
je 0x4c71f1
movsd xmm0, qword [eax + 0x30]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xa0], edi
mov dword [esi + 0x1c], ebx
movsd qword [esi + 0x528], xmm0
movsd xmm0, qword [eax + 0x28]
movsd qword [esi + 0x520], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [esi + 0x518], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esi + 0x510], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [eax + 0x10]
mov dword [esi + 0x714], ecx
mov dword [esi + 0x710], ebx
lea ecx, [esi + 0x738]
movsd qword [esi + 0x508], xmm1
movsd qword [esi + 0x500], xmm0
movsd xmm0, qword [eax + 0x30]
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [eax + 0x28]
movsd qword [ecx], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [ecx - 8], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [ecx - 0x10], xmm0
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 8]
mov eax, dword [esi + 0x68]
movsd qword [ecx - 0x18], xmm1
movaps xmm1, xmmword [0x726030]
movq qword [ecx - 0x20], xmm0
movsd xmm3, qword [ecx]
movaps xmmword [esi + 0x580], xmm1
xorps xmm1, xmm1
mov dword [esi + 0x590], 0
mov dword [esi + 0x594], 0
movaps xmmword [esi + 0x570], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esi + 0x530], xmm3
mov ecx, dword [esi + 0x8c]
movsd qword [esi + 0x538], xmm1
movsd xmm2, qword [eax]
lea eax, [esi + 0x570]
movsd qword [esi + 0x340], xmm1
movsd qword [esi + 0x338], xmm3
mov dword [esi + 0x350], 0
mov dword [esi + 0x354], 0
mov dword [esi + 0x348], 0
mov dword [esi + 0x34c], 0
mov dword [esi + 0x7e8], 0xc
movsd qword [esi + 0x358], xmm2
mov dword [esi + 0x360], 0
mov byte [esi + 0x364], 7
push eax
call fcn.00597b30
add esp, 4
movsd xmm0, qword [esi + 0x528]
lea ecx, [esi + 0x340]
movsd xmm1, qword [esi + 0x508]
lea eax, [esi + 0x558]
mov edx, dword [esi + 0x70]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esi + 0x520]
movsd qword [ecx + 8], xmm1
movaps xmm1, xmmword [esi + 0x580]
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esi + 0x518]
movaps xmmword [esi + 0x540], xmm1
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + 0x510]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esi + 0x500]
movsd qword [ecx], xmm0
movsd xmm0, qword [esi + 0x590]
movsd qword [esi + 0x550], xmm0
movaps xmm0, xmmword [esi + 0x570]
movaps xmmword [esi + 0x530], xmm0
mov dword [eax + 0xc], 0x7f800000
mov dword [eax + 8], 0x7f800000
mov dword [eax + 4], 0xff800000
mov dword [eax], 0xff800000
mov eax, dword [esi + 0xc]
movsd xmm0, qword [esi + 0x560]
movsd xmm1, qword [esi + 0x538]
movsd qword [ecx + 0x60], xmm0
movsd xmm0, qword [esi + 0x558]
movsd qword [ecx + 0x38], xmm1
movsd qword [ecx + 0x58], xmm0
movsd xmm0, qword [esi + 0x550]
movsd qword [ecx + 0x50], xmm0
movsd xmm0, qword [esi + 0x548]
movsd qword [ecx + 0x48], xmm0
movsd xmm0, qword [esi + 0x540]
movsd qword [ecx + 0x40], xmm0
movsd xmm0, qword [esi + 0x530]
movsd qword [ecx + 0x30], xmm0
mov dword [esi + 0x33c], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc0]
mov dword [esi + 0x338], eax
mov dword [esi + 0x3a8], 0
mov dword [esi + 0x3ac], 2
imul eax, edx, 0x38
add edx, 2
movsd xmm0, qword [esi + 0x338]
movsd xmm1, qword [esi + 0x340]
movsd xmm2, qword [esi + 0x348]
movsd xmm3, qword [esi + 0x350]
movsd xmm4, qword [esi + 0x358]
movsd xmm5, qword [esi + 0x360]
movsd xmm6, qword [esi + 0x368]
mov dword [esi + 0x70], edx
movsd qword [ecx + eax + 0x30], xmm6
movsd qword [ecx + eax + 0x28], xmm5
movsd qword [ecx + eax + 0x20], xmm4
movsd qword [ecx + eax + 0x18], xmm3
movsd qword [ecx + eax + 0x10], xmm2
movsd qword [ecx + eax + 8], xmm1
movsd qword [ecx + eax], xmm0
movq xmm0, qword [esi + 0x370]
movsd xmm1, qword [esi + 0x378]
movsd xmm2, qword [esi + 0x380]
movsd xmm3, qword [esi + 0x388]
movsd xmm4, qword [esi + 0x390]
movsd xmm5, qword [esi + 0x398]
movsd xmm6, qword [esi + 0x3a0]
movsd qword [ecx + eax + 0x68], xmm6
movsd qword [ecx + eax + 0x60], xmm5
movsd qword [ecx + eax + 0x58], xmm4
movsd qword [ecx + eax + 0x50], xmm3
movsd qword [ecx + eax + 0x48], xmm2
movsd qword [ecx + eax + 0x40], xmm1
movq qword [ecx + eax + 0x38], xmm0
lea ecx, [esi + 0x338]
mov dword [esi + 0x3a8], 2
mov dword [esi + 0x104], edx
mov dword [esi + 0x7e8], 0xb
call fcn.005b3df0
mov eax, dword [esi + 0xa0]
cmp eax, dword [esi + 0x4c]
jne 0x4c6e40
mov eax, dword [esi + 0x70]
lea ecx, [esi + 0x2b8]
mov byte [esi + 0x26], 0
mov byte [esi + 0x27], 0
mov dword [esi + 0x7e8], 0xa
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xbc]
mov byte [esi + 0x25], al
call fcn.005b1780
mov eax, dword [esi + 0x188]
mov ebx, dword [esi + 0xc0]
or eax, dword [esi + 0x18c]
je 0x4c731e
lea eax, [esi + 0x190]
lea ecx, [esi + 0x338]
push 0x78
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x3ac]
mov edx, dword [esi + 0x3a8]
mov ecx, eax
sub ecx, edx
je 0x4c72ef
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x70]
imul edx, edx, 0x38
lea edx, [esi + edx + 0x338]
imul edi, eax, 0x38
add ebx, edi
xor edi, edi
nop dword [eax]
movq xmm0, qword [edx + edi]
movsd xmm1, qword [edx + edi + 8]
movsd xmm2, qword [edx + edi + 0x10]
movsd xmm3, qword [edx + edi + 0x18]
movsd xmm4, qword [edx + edi + 0x20]
movsd xmm5, qword [edx + edi + 0x28]
movsd xmm6, qword [edx + edi + 0x30]
inc eax
movsd qword [ebx + edi + 0x30], xmm6
movsd qword [ebx + edi + 0x28], xmm5
movsd qword [ebx + edi + 0x20], xmm4
movsd qword [ebx + edi + 0x18], xmm3
movsd qword [ebx + edi + 0x10], xmm2
movsd qword [ebx + edi + 8], xmm1
movq qword [ebx + edi], xmm0
add edi, 0x38
dec ecx
jne 0x4c7280
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x70], eax
mov dword [esi + 0x7e8], 0xa
mov dword [esi + 0x3a8], ecx
mov eax, dword [esi + 0x70]
lea ecx, [esi + 0x338]
mov byte [esi + 0x26], 1
mov byte [esi + 0x27], 0
mov dword [esi + 0x7e8], 0xa
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0xbc]
mov byte [esi + 0x25], al
call fcn.005b3df0
mov eax, dword [esi + 0x70]
movq xmm0, qword [esi + 0x244]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xf8]
movq qword [esi + 0xb0], xmm0
shr eax, 0x10
test al, al
je 0x4c7385
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x4c7436
mov eax, dword [esi + 0xb0]
imul ecx, edx, 0x38
add eax, 0x28
nop
mov dword [eax + 0xc], 0x7f800000
mov dword [eax + 8], 0x7f800000
mov dword [eax + 4], 0xff800000
mov dword [eax], 0xff800000
add eax, 0x38
add ecx, 0xffffffc8
jne 0x4c7360
jmp 0x4c738b
mov edx, dword [esi + 0xb8]
lea eax, [esi + 0xb0]
test edx, edx
mov dword [esi + 0xc], edx
mov dword [esi + 0xb8], 0
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x114], edx
je 0x4c772d
mov edi, dword [esi + 0xb0]
mov eax, 0xffffffff
add edi, 0x30
jmp 0x4c73f4
mov edx, dword [esi + 0xc]
add edi, 0x38
lea ecx, [edx + eax - 1]
dec eax
cmp ecx, 0xffffffff
je 0x4c74de
movsd xmm0, qword [edi - 8]
movsd xmm1, qword [edi]
mov ecx, dword [edi - 0x30]
mov edx, dword [edi - 0x2c]
cmpltps xmm0, xmm1
unpcklps xmm0, xmm0
movmskpd ebx, xmm0
cmp bl, 3
jne 0x4c7476
xor ecx, 2
or ecx, edx
je 0x4c73e0
mov ecx, dword [edi - 0x18]
or ecx, dword [edi - 0xc]
jne 0x4c73e0
neg eax
mov dword [esi + 0x10c], eax
mov dword [esi + 0x110], 1
jmp 0x4c74b5
lea eax, [esi + 0xb0]
mov dword [esi + 0xb8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x114], 0
jmp 0x4c772d
xor ecx, 2
neg eax
or ecx, edx
mov dword [esi + 0x10c], eax
mov dword [esi + 0x110], 1
jne 0x4c74b5
mov eax, dword [edi - 0x28]
lock dec dword [eax]
jne 0x4c772d
mov ecx, dword [edi - 0x28]
mov edx, dword [edi - 0x24]
mov dword [esi + 0x7e8], 6
call fcn.004240a0
jmp 0x4c772d
cmp dword [edi - 0x1c], 0
je 0x4c74cc
push dword [edi - 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi - 0x10], 0
je 0x4c772d
push dword [edi - 0x14]
jmp 0x4c76b5
mov dword [esi + 0x10c], edx
jmp 0x4c772d
add edi, 8
mov ecx, edi
mov edi, edx
call fcn.00719c10
mov ecx, dword [esi + 0xc]
mov edx, edi
jmp 0x4c5b73
mov edx, dword [esi + 0x18]
jmp 0x4c60bc
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x50]
xor ebx, ebx
jmp 0x4c60bf
lea ecx, [esi + 0x108]
mov edx, 0x8f6654
mov dword [esi + str.capacity_overflow], 0x8f65dc
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
mov byte [esi + 0x17], 1
mov dword [esi + 0x7e8], 9
call fcn.00709f70
jmp 0x4c9927
mov ecx, str.winit_window_doesnt_exist
mov edx, 0x1a
push 0x73ebac
call fcn.0070a3e0
add esp, 4
ud2
lea ecx, [esi + 0x108]
mov edx, 0x743e40
mov dword [esi + str.Unexpected_GetClientRect_failure:_please_report_this_error_to_https:__github.com_rust_windowing_winit], 0x743e38
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
call fcn.00709f70
ud2
mov ecx, str.glDisableglDisable
mov edx, 9
call fcn.00717460
jmp 0x4c9927
mov ecx, str.glViewportglViewport
mov edx, 0xa
call fcn.00717460
jmp 0x4c9927
mov ecx, str.glClearColorglClearColor
mov edx, 0xc
call fcn.00717460
jmp 0x4c9927
mov ecx, str.glClearglClear
mov edx, 7
call fcn.00717460
jmp 0x4c9927
mov byte [esi + 0x2e], 1
mov dword [esi + 0x7e8], 3
mov ecx, str.tessellate_called_before_first_call_to_Context::run__
mov edx, 0x35
push 0x7409dc
call fcn.0070a3e0
add esp, 4
jmp 0x4c9927
mov dword [esi + 0x7e8], 0xe
call fcn.00425040
jmp 0x4c9927
mov dword [esi + 0x7e8], 0xe
call fcn.00425040
jmp 0x4c9927
mov edx, dword [esi + 0xc]
mov ecx, ebx
mov byte [esi + 0x2f], 1
mov dword [esi + 0x7e8], 7
call fcn.00709d20
jmp 0x4c9927
mov byte [esi + 0x2f], 1
mov dword [esi + 0x7e8], 7
call fcn.00425040
jmp 0x4c9927
mov byte [esi + 0x2f], 1
mov dword [esi + 0x7e8], 7
call fcn.00425040
jmp 0x4c9927
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4c772d
mov edx, eax
movsd xmm0, qword [edi + 0x30]
inc eax
sub edx, dword [esi + 0x110]
imul edx, edx, 0x38
movsd qword [ecx + edx + 0x30], xmm0
movsd xmm0, qword [edi + 0x28]
movsd qword [ecx + edx + 0x28], xmm0
movsd xmm0, qword [edi + 0x20]
movsd qword [ecx + edx + 0x20], xmm0
movsd xmm0, qword [edi + 0x18]
movsd qword [ecx + edx + 0x18], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [ecx + edx + 0x10], xmm0
movq xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [ecx + edx + 8], xmm1
movq qword [ecx + edx], xmm0
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x10c]
mov edx, dword [esi + 0xc]
cmp eax, edx
je 0x4c7809
mov ecx, dword [esi + 0x108]
imul ebx, eax, 0x38
mov ecx, dword [ecx]
movsd xmm0, qword [ecx + ebx + 0x28]
movsd xmm1, qword [ecx + ebx + 0x30]
lea edi, [ecx + ebx]
cmpltps xmm0, xmm1
unpcklps xmm0, xmm0
movmskpd edx, xmm0
cmp dl, 3
mov edx, dword [ecx + ebx]
mov ebx, dword [ecx + ebx + 4]
jne 0x4c77a0
xor edx, 2
or edx, ebx
je 0x4c76d0
mov edx, dword [edi + 0x18]
or edx, dword [edi + 0x24]
jne 0x4c76d0
inc eax
mov dword [esi + 0x10c], eax
inc dword [esi + 0x110]
jmp 0x4c77e0
inc eax
xor edx, 2
mov dword [esi + 0x10c], eax
inc dword [esi + 0x110]
or edx, ebx
jne 0x4c77e0
mov eax, dword [edi + 8]
lock dec dword [eax]
jne 0x4c772d
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [esi + 0x7e8], 6
call fcn.004240a0
jmp 0x4c772d
cmp dword [edi + 0x14], 0
je 0x4c77f7
push dword [edi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x20], 0
je 0x4c772d
push dword [edi + 0x1c]
jmp 0x4c76b5
mov ebx, dword [esi + 0x110]
mov eax, dword [esi + 0x108]
mov edi, dword [esi + 0x114]
test ebx, ebx
je 0x4c784c
mov ecx, dword [eax]
mov dword [esi + 0x70], eax
mov eax, edx
mov dword [esi + 0xc], ecx
imul ecx, edx, 0x38
mov edx, edi
sub edx, eax
sub eax, ebx
add ecx, dword [esi + 0xc]
imul eax, eax, 0x38
imul edx, edx, 0x38
add eax, dword [esi + 0xc]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esi + 0x70]
add esp, 0xc
sub edi, ebx
mov dword [eax + 8], edi
mov eax, dword [esi + 0xb0]
mov edx, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb8]
cmp dword [esi + 0x2fc], 0
mov dword [esi + 0xc0], eax
mov dword [esi + 0x4c], edx
mov dword [esi + 0xa0], ecx
je 0x4c788f
push dword [esi + 0x2f8]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x308], 0
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 0xe0]
je 0x4c78b5
push dword [esi + 0x304]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x314], 0
je 0x4c78d2
push dword [esi + 0x310]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
imul eax, dword [esi + 0xa0], 0x38
test edi, edi
je 0x4c78f7
cmp edi, 2
je 0x4c78fc
xor ecx, ecx
cmp dword [esi + 0x28c], 0x38
mov edi, 2
sete cl
sub edi, ecx
jmp 0x4c78fc
mov edi, 1
mov ecx, dword [esi + 0xa0]
movdqa xmm0, xmmword [0x725c60]
movdqa xmm3, xmmword [esi + 0x250]
add dword [esi + 0xdc], eax
mov dword [esi + 0xe0], edi
movd xmm1, ecx
movdqa xmm2, xmm0
test ecx, ecx
punpckldq xmm2, xmm1
paddd xmm3, xmm2
movdqa xmmword [esi + 0x250], xmm3
je 0x4c7a32
mov ecx, dword [esi + 0xc0]
mov edi, dword [esi + 0x88]
add ecx, 0x24
jmp 0x4c79bb
mov edx, 1
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x1c]
movdqa xmm3, xmmword [esi + 0x50]
movd xmm1, ebx
movdqa xmm2, xmm0
movd xmm4, dword [esi + 0x70]
mov ebx, dword [esi + 0x28]
mov edi, 0x14
mov dword [esi + 0x18], 4
punpckldq xmm2, xmm1
lea edx, [edx + edx*4]
paddd xmm3, xmm2
movdqa xmm2, xmm0
add dword [esi + 0x6c], edx
mov edx, dword [esi + 0xc]
movdqa xmmword [esi + 0x50], xmm3
movdqa xmm3, xmmword [esi + 0x90]
punpckldq xmm2, xmm4
add dword [esi + 0x220], edx
paddd xmm3, xmm2
movdqa xmmword [esi + 0x90], xmm3
add ecx, 0x38
add eax, 0xffffffc8
je 0x4c7a38
mov edx, dword [ecx - 0x24]
xor edx, 2
or edx, dword [ecx - 0x20]
je 0x4c79b3
test ebx, ebx
je 0x4c79e3
mov edx, dword [esi + 0x30]
cmp ebx, 2
je 0x4c79eb
xor edx, edx
cmp edi, 0x14
mov ebx, 2
sete dl
sub ebx, edx
jmp 0x4c79e8
mov ebx, 1
mov edx, dword [esi + 0x30]
mov dword [esi + 0x28], ebx
mov ebx, dword [ecx]
test edx, edx
lea edi, [ebx*4]
mov dword [esi + 0x1c], edi
mov edi, dword [ecx - 0xc]
mov dword [esi + 0x70], edi
lea edi, [edi*4]
mov dword [esi + 0xc], edi
je 0x4c794f
cmp edx, 2
je 0x4c7954
xor edx, edx
cmp dword [esi + 0x18], 4
sete dl
mov edi, edx
mov edx, 2
sub edx, edi
jmp 0x4c7954
mov edi, dword [esi + 0x88]
mov dword [esi + 0x88], edi
mov edi, dword [esi + 0xf4]
lea eax, [edi + 0x588]
push 0x8c
lea ecx, [esi + 0x74c]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xe0]
movaps xmm0, xmmword [esi + 0x250]
mov ecx, dword [esi + 0xdc]
mov edx, dword [esi + 0x88]
mov dword [edi + 0x614], eax
mov dword [edi + 0x618], 0x38
movlps qword [edi + 0x61c], xmm0
mov dword [edi + 0x624], ecx
movaps xmm0, xmmword [esi + 0x50]
mov ecx, dword [esi + 0x6c]
mov dword [edi + 0x628], ebx
mov dword [edi + 0x62c], edx
mov edx, dword [esi + 0x30]
movlps qword [edi + 0x630], xmm0
mov dword [edi + 0x638], ecx
mov ecx, dword [esi + 0x18]
mov dword [edi + 0x63c], edx
movdqa xmm0, xmmword [esi + 0x90]
mov edx, dword [esi + 0x220]
mov dword [edi + 0x640], ecx
mov ecx, dword [esi + 0xec]
movq qword [edi + 0x644], xmm0
mov dword [edi + 0x64c], edx
mov edx, dword [esi + 0xc0]
mov dword [edi + 0x650], ecx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x5f8], edx
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x5fc], ecx
mov ecx, dword [esi + 0x100]
mov dword [esi + 0x600], edx
lock dec dword [ecx]
jne 0x4c7b26
mov ecx, dword [esi + 0x100]
call fcn.0057f780
mov ecx, dword [esi + 0x240]
xor edx, edx
mov eax, 8
lock cmpxchg dword [ecx], edx
je 0x4c7b4c
mov byte [esi + 0x16], 0
mov dword [esi + 0x7e8], 1
call fcn.00719150
mov eax, dword [esi + 0xf0]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x4c7b6b
mov edx, eax
add edx, 0x10
jb 0x4c7b6b
lock cmpxchg dword [ecx], edx
je 0x4c7b86
mov dword [esi + 0x7e8], 0x11
mov dword [esi + 0x30], ecx
mov dword [esi + 0xc], edi
call fcn.00719890
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x30]
mov eax, 0xfffffff0
movd xmm1, dword [edi + 0x37c]
lock xadd dword [edi + 8], eax
movdqa xmmword [esi + 0xa0], xmm1
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x4c7bbf
mov dword [esi + 0x7e8], 0x11
call fcn.00719c10
movdqa xmm1, xmmword [esi + 0xa0]
mov ebx, dword [esi + 0x10]
lea eax, [ebx + 0x320]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x5f8]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x600]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0x268]
test eax, eax
je 0x4c812d
mov ecx, dword [esi + 0x260]
imul eax, eax, 0x38
lea edx, [ebx + 0x330]
mov dword [esi + 0xec], edx
add eax, ecx
mov dword [esi + 0xf4], eax
jmp 0x4c7c22
mov ecx, dword [esi + 0x8c]
cmp ecx, dword [esi + 0xf4]
je 0x4c812d
cmp byte [ebx + 0x386], 0
jne 0x4c93de
movdqu xmm3, xmmword [ecx]
lea eax, [ecx + 0x38]
mov dword [esi + 0x4c], ecx
mov ecx, dword [ebx + 0x330]
mov edx, dword [ebx + 0x334]
mov edi, dword [ebx + 0x33c]
mov dword [esi + 0x8c], eax
mov eax, dword [ebx + 0x338]
pshufd xmm0, xmm3, 0x55
pshufd xmm1, xmm3, 0xff
pshufd xmm2, xmm3, 0xee
movd dword [esi + 0x50], xmm3
movd dword [esi + 0x70], xmm1
movd dword [esi + 0x1c], xmm2
sub esp, 0x18
movd dword [esp + 0x14], xmm1
movd dword [esp + 0x10], xmm2
movd dword [esp + 0xc], xmm0
movdqa xmmword [esi + 0x250], xmm3
movd dword [esp + 8], xmm3
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00564730
add esp, 0x18
mov ecx, eax
mov edx, dword [ebx + 0x320]
mov edi, dword [ebx + 0x324]
mov dword [esi + 0x220], 0
mov dword [esi + 0x88], eax
shr ecx, 0x19
movd xmm0, ecx
mov dword [esi + 0xe0], ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esi + 0x6c], edx
add edx, 0xffffffe8
mov ecx, edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x30], edx
pshufd xmm0, xmm0, 0
mov edx, eax
mov eax, dword [esi + 0x6c]
and edx, ecx
movdqa xmm2, xmm0
mov dword [esi + 0xc], edx
movdqu xmm1, xmmword [eax + edx]
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x4c7d4a
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test eax, eax
jne 0x4c8018
mov eax, dword [esi + 0x220]
mov edx, dword [esi + 0xc]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x220], eax
jmp 0x4c7cf0
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
je 0x4c7d0d
mov ebx, eax
mov edx, dword [esi + 0x30]
tzcnt eax, ebx
add eax, dword [esi + 0xc]
and eax, ecx
neg eax
lea edi, [eax + eax*2]
mov edx, dword [edx + edi*8]
cmp edx, dword [esi + 0x50]
jne 0x4c7d40
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + edi*8 + 0xc]
or edx, dword [eax + edi*8 + 4]
mov dword [esi + 0x28], ecx
mov ecx, dword [eax + edi*8 + 8]
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x90]
xor ecx, dword [esi + 0x70]
xor eax, dword [esi + 0x1c]
or ecx, eax
mov ecx, dword [esi + 0x18]
jne 0x4c7d40
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x10]
lea eax, [eax + edi*8]
mov ecx, dword [edx + 0x374]
mov eax, dword [eax - 8]
mov ecx, dword [ecx + 0xa0]
mov dword [esi + 0x7e8], 0x11
test ecx, ecx
je 0x4c942f
push eax
push 0xde1
call ecx
mov edx, dword [esi + 0x4c]
cmp dword [edx + 0x10], 0
je 0x4c7f10
mov ebx, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov edi, ebx
imul edi, ecx
mov dword [esi + 0x74c], edi
mov eax, dword [edx + 0x1c]
cmp edi, eax
mov dword [esi + 0x3d0], eax
jne 0x4c94c7
mov dword [esi + 0x50], ecx
lea ecx, [edi*4]
test edi, edi
mov dword [esi + 0x90], ebx
mov dword [esi + 0x28], edi
mov dword [esi + 0x70], ecx
je 0x4c7f90
setns bl
js 0x4c9542
mov eax, dword [edx + 0x14]
mov dword [esi + 0xc], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4c7e47
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4c951e
mov dword [0x919820], eax
mov ecx, dword [esi + 0x70]
push ecx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4c951e
xor ebx, ebx
mov dword [esi + 0x30], eax
nop
mov eax, dword [esi + 0xc]
movss xmm0, dword [eax + ebx]
sub esp, 0x10
movsd xmm1, qword [0x726040]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
add esp, 0x10
fstp dword [esi + 0x2b4]
movss xmm1, dword [0x725ce8]
movss xmm0, dword [esi + 0x2b4]
mulss xmm0, xmm1
addss xmm0, dword [0x725640]
sub esp, 8
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
add esp, 8
fstp dword [esi + 0x2b0]
xorps xmm0, xmm0
movss xmm1, dword [0x725ce8]
maxss xmm0, dword [esi + 0x2b0]
minss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
mov eax, dword [esi + 0x30]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movd dword [eax + ebx], xmm0
add ebx, 4
dec edi
jne 0x4c7e60
mov edx, dword [esi + 0x4c]
mov edi, eax
jmp 0x4c7f97
mov edi, dword [edx + 0x24]
mov eax, dword [edx + 0x20]
mov ebx, edi
imul ebx, eax
mov dword [esi + 0x74c], ebx
mov ecx, dword [edx + 0x1c]
cmp ebx, ecx
mov dword [esi + 0x3d0], ecx
jne 0x4c954c
mov ecx, dword [edx + 0x14]
shl ebx, 2
mov dword [esi + 0x30], ecx
mov ecx, dword [edx + 0x30]
mov dword [esi + 0x110], ecx
movq xmm0, qword [edx + 0x28]
movq qword [esi + 0x108], xmm0
movzx ecx, byte [edx + 0x34]
mov dword [esi + 0xc], ecx
movzx ecx, byte [edx + 0x35]
lea edx, [esi + 0x108]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x68]
push ebx
push dword [esi + 0x30]
push dword [esi + 0x50]
push dword [esi + 0xc]
push edi
push eax
call fcn.00563ca0
add esp, 0x18
movdqa xmm1, xmmword [esi + 0xa0]
mov ebx, dword [esi + 0x10]
jmp 0x4c7c10
xor ebx, ebx
mov edi, 1
mov eax, dword [edx + 0x30]
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x110], eax
movq xmm0, qword [edx + 0x28]
movq qword [esi + 0x108], xmm0
movzx eax, byte [edx + 0x34]
mov dword [esi + 0xc], eax
movzx eax, byte [edx + 0x35]
mov dword [esi + 0x7e8], 0x16
lea edx, [esi + 0x108]
push ebx
mov dword [esi + 0x30], edi
push edi
push eax
push dword [esi + 0xc]
push dword [esi + 0x90]
push dword [esi + 0x50]
call fcn.00563ca0
add esp, 0x18
cmp dword [esi + 0x28], 0
mov ebx, dword [esi + 0x10]
movdqa xmm1, xmmword [esi + 0xa0]
je 0x4c7c10
push dword [esi + 0x30]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movdqa xmm1, xmmword [esi + 0xa0]
jmp 0x4c7c10
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x328], 0
jne 0x4c803c
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0xec]
mov dword [esi + 0x7e8], 0x11
call fcn.007106e0
mov eax, dword [esi + 0x10]
mov dword [esi + 0x108], 0
mov eax, dword [eax + 0x374]
mov eax, dword [eax + 0x344]
mov dword [esi + 0x7e8], 0x11
test eax, eax
je 0x4c95eb
lea ecx, [esi + 0x108]
push ecx
push 1
call eax
mov eax, dword [esi + 0x108]
test eax, eax
je 0x4c95cf
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x320]
mov edx, dword [eax + 0x324]
mov eax, dword [esi + 0x88]
and eax, edx
movdqu xmm0, xmmword [ecx + eax]
pmovmskb edi, xmm0
test edi, edi
jne 0x4c80c4
mov ebx, 0x10
nop dword [eax]
add eax, ebx
add ebx, 0x10
and eax, edx
movdqu xmm0, xmmword [ecx + eax]
pmovmskb edi, xmm0
test edi, edi
je 0x4c80b0
tzcnt edi, edi
add edi, eax
and edi, edx
movzx ebx, byte [ecx + edi]
test bl, bl
js 0x4c80e4
movdqa xmm0, xmmword [ecx]
pmovmskb edi, xmm0
tzcnt edi, edi
movzx ebx, byte [ecx + edi]
lea eax, [edi - 0x10]
and bl, 1
movdqa xmm0, xmmword [esi + 0x250]
and eax, edx
mov edx, dword [esi + 0xe0]
mov byte [ecx + edi], dl
mov byte [eax + ecx + 0x10], dl
mov edx, dword [esi + 0x10]
movzx eax, bl
mov ebx, dword [esi + 0x30]
neg edi
sub dword [edx + 0x328], eax
lea eax, [edi + edi*2]
movdqu xmmword [ecx + eax*8 - 0x18], xmm0
mov dword [ecx + eax*8 - 8], ebx
inc dword [edx + 0x32c]
lea eax, [ecx + eax*8]
jmp 0x4c7d9c
cmp byte [ebx + 0x386], 0
mov dword [esi + 0x7e8], 0x11
jne 0x4c95ff
movdqa xmm0, xmmword [esi + 0x4f0]
mov ecx, dword [esi + 0x68]
movd edx, xmm0
movdqa xmm0, xmmword [esi + 0x5e0]
mov dword [esi + 0x4c], edx
movd eax, xmm0
movdqa xmm0, xmm1
mov dword [esi + 0x250], eax
push eax
call fcn.00563f00
movaps xmm1, xmmword [esi + 0xa0]
add esp, 4
mov edi, dword [esi + 0xc0]
mov dword [esi + 0x30], eax
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x4c87d8
imul eax, eax, 0x38
movaps xmm0, xmm1
mov ebx, 0x7fffffff
add eax, edi
shufps xmm0, xmm1, 0
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x70], xmm0
jmp 0x4c81d8
mov ecx, dword [esi + 0x68]
mov edx, edi
call fcn.00564230
mov edi, dword [esi + 0xc0]
movaps xmm1, xmmword [esi + 0xa0]
mov ebx, 0x7fffffff
add edi, 0x38
cmp edi, dword [esi + 0x18]
je 0x4c87d8
movss xmm0, dword [edi + 0x2c]
mulss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x2a4]
movss xmm1, dword [0x7255a8]
movss xmm0, dword [esi + 0x2a4]
cvttss2si eax, xmm0
ucomiss xmm0, xmm1
cmova eax, ebx
ucomiss xmm0, xmm0
movsd xmm0, qword [edi + 0x30]
mov ebx, 0
cmovp eax, ebx
mov dword [esi + 0x90], eax
mulps xmm0, xmmword [esi + 0x70]
sub esp, 4
movss dword [esp], xmm0
shufps xmm0, xmm0, 0x55
movaps xmmword [esi + 0x50], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm0, xmmword [esi + 0x50]
movss dword [esp], xmm0
fstp dword [esi + 0x2a8]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x2ac]
movss xmm2, dword [0x7255a8]
mov edx, 0x7fffffff
mov eax, edi
movss xmm1, dword [esi + 0x2ac]
movss xmm0, dword [esi + 0x2a8]
cvttss2si ecx, xmm1
ucomiss xmm1, xmm2
cvttss2si edi, xmm0
cmova ecx, edx
ucomiss xmm1, xmm1
cmovp ecx, ebx
ucomiss xmm0, xmm2
cmova edi, edx
ucomiss xmm0, xmm0
mov dword [esi + 0x50], ecx
cmovp edi, ebx
mov ebx, dword [esi + 0x30]
test ebx, ebx
js 0x4c9443
lea ecx, [eax + 0x28]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x10]
movss xmm0, dword [ecx]
mov dword [esi + 0x1c], ecx
mov eax, dword [eax + 0x374]
mulss xmm0, dword [esi + 0xa0]
mov dword [esi + 0x28], eax
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x2a0]
mov eax, 0x7fffffff
mov edx, 0
movss xmm0, dword [esi + 0x2a0]
ucomiss xmm0, dword [0x7255a8]
cvttss2si ecx, xmm0
cmova ecx, eax
ucomiss xmm0, xmm0
mov eax, ebx
cmovp ecx, edx
cmp ecx, ebx
mov ebx, dword [esi + 0xc]
cmovl eax, ecx
test ecx, ecx
cmovs eax, edx
test ebx, ebx
js 0x4c945f
mov ecx, dword [esi + 0x90]
mov edx, ebx
cmp ecx, ebx
cmovl edx, ecx
test ecx, ecx
mov ecx, 0
cmovs edx, ecx
cmp eax, dword [esi + 0x30]
jg 0x4c947b
cmp edx, ebx
jg 0x4c9497
mov ebx, dword [esi + 0x28]
mov ebx, dword [ebx + 0x7c0]
test ebx, ebx
mov dword [esi + 0x90], ebx
je 0x4c94b3
movd xmm1, dword [esi + 0x50]
movd xmm0, edi
movd xmm2, eax
mov ebx, dword [esi + 0xc]
punpckldq xmm0, xmm1
movd xmm1, edx
punpckldq xmm2, xmm1
movq xmm0, xmm0
pshufd xmm1, xmm2, 0x50
pshufd xmm2, xmm0, 0x50
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm0, 0x55
movd edi, xmm2
movmskpd ecx, xmm1
cmp edi, ebx
mov dword [esi + 0x50], ecx
cmovge edi, ebx
test cl, 2
mov ecx, dword [esi + 0x30]
cmovne edi, edx
sub ebx, edi
sub edi, edx
movd edx, xmm0
cmp edx, ecx
cmovge edx, ecx
mov ecx, 0
sub edx, eax
test byte [esi + 0x50], 1
cmovne edx, ecx
push edi
push edx
push ebx
push eax
call dword [esi + 0x90]
movaps xmm1, xmmword [esi + 0xa0]
mov edi, dword [esi + 0xc0]
mov ebx, 0x7fffffff
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x4c81b0
movss xmm3, dword [edi + 0x10]
movss xmm2, dword [edi + 0x18]
ucomiss xmm2, xmm3
jbe 0x4c81cc
movss xmm0, dword [edi + 0x14]
movss xmm4, dword [edi + 0x1c]
ucomiss xmm4, xmm0
jbe 0x4c81cc
mov eax, dword [esi + 0x10]
movaps xmmword [esi + 0x90], xmm3
movaps xmmword [esi + 0x50], xmm2
mov eax, dword [eax + 0x374]
mov eax, dword [eax + 0xaf0]
test eax, eax
mov dword [esi + 0x28], eax
je 0x4c95bb
unpcklps xmm4, xmm0
mulps xmm4, xmmword [esi + 0x70]
movaps xmm0, xmm4
movaps xmmword [esi + 0x220], xmm4
shufps xmm0, xmm4, 0x55
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm0, xmmword [esi + 0x220]
movss dword [esp], xmm0
fstp dword [esi + 0x294]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x290]
movss xmm2, dword [0x7255a8]
mov ecx, 0x7fffffff
mov edx, 0
movss xmm1, dword [esi + 0x290]
movss xmm0, dword [esi + 0x294]
cvttss2si ebx, xmm1
ucomiss xmm1, xmm2
cvttss2si eax, xmm0
cmova ebx, ecx
ucomiss xmm1, xmm1
cmovp ebx, edx
ucomiss xmm0, xmm2
cmova eax, ecx
ucomiss xmm0, xmm0
movd xmm1, ebx
cmovp eax, edx
movd xmm0, eax
psubd xmm1, xmm0
movaps xmm0, xmmword [esi + 0x50]
movdqa xmmword [esi + 0x220], xmm1
unpcklps xmm0, xmmword [esi + 0x90]
mulps xmm0, xmmword [esi + 0x70]
movaps xmmword [esi + 0x50], xmm0
shufps xmm0, xmm0, 0x55
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm0, xmmword [esi + 0x50]
movss dword [esp], xmm0
fstp dword [esi + 0x29c]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x298]
movss xmm2, dword [0x7255a8]
mov edx, 0x7fffffff
mov edi, 0
movss xmm1, dword [esi + 0x298]
movss xmm0, dword [esi + 0x29c]
cvttss2si eax, xmm1
ucomiss xmm1, xmm2
cvttss2si ecx, xmm0
cmova eax, edx
ucomiss xmm1, xmm1
cmovp eax, edi
ucomiss xmm0, xmm2
cmova ecx, edx
mov edx, dword [esi + 0xc]
ucomiss xmm0, xmm0
cmovp ecx, edi
sub eax, ecx
sub edx, ebx
sub esp, 0x10
movaps xmm0, xmmword [esi + 0x220]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], eax
movss dword [esp + 0xc], xmm0
call dword [esi + 0x28]
mov ecx, dword [esi + 0xc0]
lea eax, [ecx + 0x10]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esi + 0x1c]
movsd qword [esi + 0x3d8], xmm1
movsd qword [esi + 0x3d0], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esi + 0x3e0]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
mov dword [esi + 0x50], eax
push eax
lea eax, [esi + 0x3c0]
push eax
call dword [ecx + 0xc]
movdqa xmm0, xmmword [esi + 0xa0]
add esp, 8
mov eax, dword [esi + 0x3cc]
mov edx, dword [esi + 0x3c4]
mov ecx, dword [esi + 0x3c8]
mov edi, dword [esi + 0x3c0]
xor edx, 0x40d24f1c
xor eax, 0x8ff447fd
xor edi, 0x5ae67890
xor ecx, 0xd7bd6b2f
or eax, edx
mov edx, dword [esi + 0x50]
or ecx, edi
or eax, ecx
jne 0x4c86af
test edx, edx
je 0x4c86af
movsd xmm0, qword [esi + 0x3e8]
movsd xmm1, qword [esi + 0x3d8]
mov ecx, dword [esi + 0x68]
movsd qword [esi + 0x120], xmm0
movsd xmm0, qword [esi + 0x3e0]
movsd qword [esi + 0x110], xmm1
movsd qword [esi + 0x118], xmm0
movsd xmm0, qword [esi + 0x3d0]
movsd qword [esi + 0x108], xmm0
movaps xmm0, xmmword [esi + 0x4f0]
movlps qword [esi + 0x128], xmm0
movaps xmm0, xmmword [esi + 0xa0]
movss dword [esi + 0x130], xmm0
mov dword [esi + 0x134], ecx
mov eax, dword [edx + 4]
push ecx
lea ecx, [esi + 0x108]
push ecx
push dword [edx]
call dword [eax + 0x14]
movdqa xmm0, xmmword [esi + 0xa0]
add esp, 0xc
jmp 0x4c87ad
mov ecx, dword [0x919aa8]
xor eax, eax
cmp ecx, 2
mov ecx, 0xff
setne al
cmova eax, ecx
cmp al, 0xff
je 0x4c86d4
movzx eax, al
test eax, eax
jne 0x4c87ad
mov eax, dword [0x91975c]
mov ecx, 0x8b82b8
mov edx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x134], 0x7421cc
mov dword [esi + 0x138], 1
mov dword [esi + 0x13c], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x140], 0
mov dword [esi + 0x144], 0
mov dword [esi + 0x128], 2
mov dword [esi + 0x12c], str.egui_glow::painterShader_header:
mov dword [esi + 0x130], 0x12
mov dword [esi + 0x110], 0
mov dword [esi + 0x118], 0x12
mov dword [esi + 0x114], str.egui_glow::painterShader_header:
mov dword [esi + 0x11c], 0
mov dword [esi + 0x124], 0x69
mov dword [esi + 0x120], str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fegui_glow_0.22.0_srcpainter.rsbefore_Painter::new_nopengl_version:__nopengl_renderer:__nopengl_vendor:
mov dword [esi + 0x108], 1
mov dword [esi + 0x10c], 0x193
cmp eax, 2
mov eax, dword [0x9192e0]
cmovne eax, ecx
mov ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
cmovne ecx, edx
lea edx, [esi + 0x108]
push edx
push ecx
call dword [eax + 0x14]
movdqa xmm0, xmmword [esi + 0xa0]
add esp, 8
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x4c]
push dword [esi + 0x250]
call fcn.00563f00
movaps xmm1, xmmword [esi + 0xa0]
add esp, 4
mov edi, dword [esi + 0xc0]
mov ebx, 0x7fffffff
jmp 0x4c81cc
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x374]
cmp dword [eax + 0x364], 0
je 0x4c87fe
mov eax, dword [ecx + 0xb0]
test eax, eax
je 0x4c9750
push 0
call eax
jmp 0x4c8864
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 0x68]
test eax, eax
je 0x4c97ff
push 0
push 0x8892
call eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x360]
test eax, eax
je 0x4c8864
mov ecx, dword [esi + 0x10]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + 0x358]
lea eax, [ecx + eax*8]
mov dword [esi + 0x50], eax
nop word cs:[eax + eax]
nop
mov dword [esi + 0x30], ecx
mov eax, dword [ecx]
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 0x270]
test ecx, ecx
je 0x4c95a3
push eax
call ecx
mov ecx, dword [esi + 0x30]
add ecx, 0x18
cmp ecx, dword [esi + 0x50]
jne 0x4c8840
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x374]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x4c9646
push 0
push 0x8893
call eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x374]
mov eax, dword [eax + 0x264]
test eax, eax
je 0x4c965a
push 0xc11
call eax
mov ecx, dword [esi + 0x274]
mov edi, dword [esi + 0x10]
test ecx, ecx
je 0x4c8b0e
mov eax, ecx
mov ecx, dword [esi + 0x26c]
shl eax, 4
add eax, ecx
mov dword [esi + 0x8c], eax
jmp 0x4c88e5
mov ecx, dword [esi + 0xc0]
mov edi, dword [esi + 0x10]
cmp ecx, dword [esi + 0x8c]
je 0x4c8b0e
mov eax, ecx
mov ecx, dword [ecx]
mov edx, dword [edi + 0x334]
mov ebx, dword [eax + 0xc]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x70], ecx
mov ecx, dword [eax + 8]
add eax, 0x10
mov dword [esi + 0xc0], eax
mov dword [esi + 0x1c], ecx
mov ecx, dword [edi + 0x330]
push ebx
push dword [esi + 0x1c]
push dword [esi + 0x70]
push dword [esi + 0xc]
push dword [edi + 0x33c]
push dword [edi + 0x338]
call fcn.00564730
pcmpeqd xmm3, xmm3
add esp, 0x18
mov ebx, eax
mov ecx, dword [edi + 0x320]
shr eax, 0x19
mov edx, dword [edi + 0x324]
mov dword [esi + 0x6c], 0
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea eax, [ecx - 0x18]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x50], edx
mov dword [esi + 0x30], eax
and ebx, edx
movdqa xmm2, xmm0
movdqu xmm1, xmmword [ecx + ebx]
mov dword [esi + 0x90], ebx
pcmpeqb xmm2, xmm1
pmovmskb edi, xmm2
nop word [eax + eax]
test di, di
je 0x4c89f0
mov eax, edi
mov ecx, dword [esi + 0xc]
tzcnt ebx, eax
lea edi, [eax - 1]
add ebx, dword [esi + 0x90]
and edi, eax
and ebx, dword [esi + 0x50]
mov eax, ebx
neg eax
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x30]
cmp ecx, dword [eax + edx*8]
jne 0x4c8990
mov eax, dword [esi + 0x30]
mov dword [esi + 0x220], edx
mov ecx, dword [eax + edx*8 + 8]
mov eax, dword [eax + edx*8 + 0xc]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0xc]
or ecx, dword [esi + 0x70]
mov ecx, dword [esi + 0x28]
xor eax, dword [esi + 0x18]
xor ecx, dword [esi + 0x1c]
or eax, ecx
jne 0x4c8990
jmp 0x4c8a30
pcmpeqb xmm1, xmm3
pmovmskb eax, xmm1
test eax, eax
jne 0x4c88d0
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x50]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x6c], eax
jmp 0x4c896e
shl ebx, 3
mov ecx, dword [esi + 0x50]
lea eax, [ebx + ebx*2]
mov ebx, dword [esi + 0xa0]
sar eax, 3
imul edx, eax, 0xaaaaaaab
lea eax, [edx - 0x10]
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
mov dword [esi + 0x50], ecx
pcmpeqb xmm0, xmm3
psllw xmm0, 7
pmovmskb eax, xmm0
test eax, eax
je 0x4c8a70
bsr di, ax
xor edi, 0xf
jmp 0x4c8a74
mov di, 0x10
movdqu xmm0, xmmword [ebx + edx]
mov ecx, dword [esi + 0x10]
pcmpeqb xmm0, xmm3
pmovmskb eax, xmm0
or eax, 0x10000
tzcnt eax, eax
add edi, eax
mov al, 0x80
cmp di, 0xf
ja 0x4c8a9f
inc dword [ecx + 0x328]
mov al, 0xff
mov byte [ebx + edx], al
mov edx, dword [esi + 0x50]
mov byte [edx + ebx + 0x10], al
dec dword [ecx + 0x32c]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x220]
mov eax, dword [ecx + edx*8]
xor eax, 2
or eax, dword [ecx + edx*8 + 4]
je 0x4c88d0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edx*8 + 0x10]
test eax, eax
je 0x4c88d0
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x108], eax
mov ecx, dword [ecx + 0x374]
mov eax, dword [ecx + 0x23c]
mov dword [esi + 0x7e8], 0x11
test eax, eax
je 0x4c952e
lea ecx, [esi + 0x108]
push ecx
push 1
call eax
jmp 0x4c88d0
cmp byte [edi + 0x10e], 0
mov ecx, dword [esi + 0x4c]
je 0x4c8da3
lea edx, [ecx*4]
mov byte [edi + 0x10e], 0
mov dword [esi + 0x30], edx
imul edx, dword [esi + 0x250]
test edx, edx
mov dword [esi + 0x90], edx
je 0x4c8b98
setns bl
js 0x4c97d7
mov eax, dword [0x919820]
test eax, eax
jne 0x4c8b67
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4c8b7b
mov dword [0x919820], eax
mov edx, dword [esi + 0x90]
push edx
push 8
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [esi + 0x4c]
test eax, eax
mov dword [esi + 0x50], eax
jne 0x4c8b9f
mov edx, dword [esi + 0x90]
movzx ecx, bl
mov dword [esi + 0x7e8], 0x11
call fcn.00709d20
jmp 0x4c9927
mov dword [esi + 0x50], 1
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x374]
mov eax, dword [eax + 0x788]
mov dword [esi + 0x7e8], 0x14
test eax, eax
je 0x4c9764
push dword [esi + 0x50]
push 0x1401
push 0x1908
push dword [esi + 0x250]
push ecx
push 0
push 0
call eax
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x30]
test eax, eax
je 0x4c8c4b
xor ebx, ebx
cmp eax, 0x20000000
setb cl
jae 0x4c97eb
lea edi, [eax*4]
test edi, edi
js 0x4c97f5
mov bl, cl
je 0x4c8c52
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4c8c2d
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4c97c9
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, eax
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x30]
test ecx, ecx
jne 0x4c8c5c
jmp 0x4c97c9
mov ecx, 1
jmp 0x4c8c5c
mov ecx, ebx
test ecx, ecx
je 0x4c97c9
test edx, edx
mov dword [esi + 0x3d0], ecx
mov dword [esi + 0x3d4], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x3d8], 0
je 0x4c9778
mov edi, edx
xor edx, edx
mov ecx, eax
xor ebx, ebx
div edi
sub ecx, edx
mov edx, ecx
mov ecx, dword [esi + 0x4c]
and ecx, 0x3fffffff
mov dword [esi + 0x4c], ecx
jmp 0x4c8ccf
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x50]
mov dword [esi + 0xc], ecx
lea ecx, [ecx + ebx*4]
add eax, edx
push edi
push eax
push ecx
mov edi, ebx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebx
mov ebx, edi
mov edi, dword [esi + 0x30]
add esp, 0xc
mov ecx, dword [esi + 0x4c]
add ebx, ecx
mov dword [esi + 0x3d8], ebx
sub edx, edi
jb 0x4c8d13
mov eax, dword [esi + 0x3d4]
sub eax, ebx
cmp eax, ecx
jae 0x4c8ca0
mov eax, ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x7e8], 0x15
lea ecx, [esi + 0x3d0]
mov edx, ebx
push eax
call fcn.00710c70
add esp, 4
mov ecx, dword [esi + 0x3d0]
mov ebx, dword [esi + 0x3d8]
mov edi, dword [esi + 0x30]
mov edx, dword [esi + 0xc]
jmp 0x4c8ca3
cmp dword [esi + 0x90], 0
mov eax, dword [esi + 0x3d8]
movsd xmm0, qword [esi + 0x3d0]
mov dword [esi + 0x110], eax
movsd qword [esi + 0x108], xmm0
je 0x4c8d49
push dword [esi + 0x50]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 0x110]
movq xmm0, qword [esi + 0x108]
movaps xmm1, xmmword [esi + 0x4f0]
mov eax, dword [edi + 0x124]
mov ecx, dword [edi + 0x128]
mov dword [edi + 0x12c], edx
movq qword [edi + 0x124], xmm0
movlps qword [edi + 0x130], xmm1
test eax, eax
je 0x4c8d99
test ecx, ecx
je 0x4c8d99
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x7e8], 0x11
mov ecx, dword [edi + 0x388]
mov eax, dword [edi + 0x2d4]
pxor xmm0, xmm0
mov dword [esi + 0x7e8], 0x11
movdqa xmmword [esi + 0x3d0], xmm0
mov dword [esi + 0x30], ecx
mov ecx, dword [edi + 0x38c]
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0x3d0]
push ecx
push eax
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je 0x4c966e
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
movq xmm0, qword [esi + 0x3d0]
movq xmm1, qword [esi + 0x3d8]
mov ecx, dword [ecx + 0x34]
psubd xmm1, xmm0
add eax, 0xb0
movq qword [esi + 0x108], xmm1
push eax
lea eax, [esi + 0x108]
push eax
push dword [esi + 0x30]
call ecx
add esp, 0xc
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x308]
cmp ecx, 3
je 0x4c96b5
mov eax, dword [edx + 0x2e0]
cmp eax, 2
je 0x4c96d1
cmp ecx, 2
jne 0x4c8ed2
test eax, eax
je 0x4c96ed
push dword [edx + 0x318]
call dword [sym.imp.gdi32.dll_SwapBuffers]
test eax, eax
jne 0x4c8ffe
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x108]
lea edx, [esi + 0x3d0]
mov byte [esi + 0x3d0], 0
mov dword [esi + 0x3d4], eax
call fcn.005dea40
mov eax, dword [esi + 0x11c]
mov edx, dword [esi + 0x120]
mov ebx, dword [esi + 0x128]
mov edi, dword [esi + 0x12c]
movups xmm0, xmmword [esi + 0x108]
mov ecx, dword [esi + 0x118]
mov dword [esi + 0x3d0], eax
mov eax, dword [esi + 0x124]
mov dword [esi + 0x3d4], edx
mov dword [esi + 0x750], edi
mov dword [esi + 0x74c], ebx
jmp 0x4c8fe6
test eax, eax
jne 0x4c96ed
mov eax, dword [edx + 0x2e4]
mov dword [esi + 0x30], eax
mov eax, dword [eax + 0x3c]
call dword [eax + 0x134]
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x2f0]
cmp eax, ecx
je 0x4c8f0e
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x3c]
push ecx
call dword [eax + 4]
mov edx, dword [esi + 0x10]
test eax, eax
je 0x4c9888
mov eax, dword [edx + 0x310]
mov ecx, dword [eax + 0x3c]
push dword [edx + 0x318]
push dword [eax + 0xc]
call dword [ecx + 0x18c]
test eax, eax
jne 0x4c8ffe
mov eax, dword [0x919014]
cmp eax, 2
je 0x4c8f3d
call fcn.00718330
cmp byte [0x9191f0], 2
je 0x4c98cc
call dword [0x91910c]
lea ecx, [eax - 0x3000]
cmp ecx, 0xe
ja 0x4c8f9b
mov edx, dword [esi + 0x288]
add edx, dword [ecx*4 + 0x4c9e64]
jmp edx
mov ecx, 0x13
jmp 0x4c8fd1
movd xmm0, eax
xor eax, eax
movq xmm1, xmm0
movaps xmm0, xmmword [0x725c60]
shufps xmm0, xmm1, 0x84
movd edi, xmm0
pshufd xmm1, xmm0, 0x55
movd edx, xmm1
xor edi, 2
or edi, edx
jne 0x4c9813
mov edi, dword [esi + 0x10]
movzx eax, byte [edi + 0x111]
mov byte [edi + 0x111], 2
cmp al, 2
je 0x4c9051
mov ecx, dword [edi + 0x2d0]
mov edx, dword [edi + 0x2d4]
lock inc dword [ecx]
jle 0x4c95b7
mov dword [esi + 0x10c], edx
mov dword [esi + 0x108], ecx
test al, al
lea ecx, [edi + 0x2d8]
lea edx, [esi + 0x108]
setne byte [esi + 0x110]
call fcn.004c2dc0
mov edi, dword [esi + 0x10]
cmp byte [edi + 0x1e2], 0
je 0x4c9061
mov ebx, 0x3b9aca04
jmp 0x4c90d3
mov eax, dword [esi + 0x238]
or eax, dword [esi + 0x23c]
jne 0x4c907f
cmp dword [esi + 0x234], 0
jne 0x4c907f
mov ebx, 0x3b9aca02
jmp 0x4c90d3
lea eax, [esi + 0x3d0]
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x3d0], 0
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4c98e5
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esi + 0x3d4]
call fcn.006b86a0
add eax, dword [esi + 0x238]
mov ebx, 0x3b9aca00
adc edx, dword [esi + 0x23c]
jae 0x4c9380
mov edi, dword [esi + 0x10]
mov eax, dword [edi + 0x388]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x3d0], 0
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x38c]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x3d0]
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4c9709
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esi + 0x3d4]
call fcn.006b86a0
mov dword [esi + 0x28], eax
mov dword [esi + 0x70], edx
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 0x1a8]
mov eax, dword [ecx + 0x1ac]
mov edi, dword [ecx + 0x1b0]
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x10c], ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x108], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x110], ecx
lea ecx, [esi + 0x108]
push edi
push eax
call fcn.006b8840
add esp, 8
mov dword [esi + 0x30], ecx
xor ecx, ecx
cmp dword [esi + 0x30], 0x3b9aca00
cmove edx, ecx
cmove eax, ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x220], eax
push dword [esi + 0x50]
mov eax, dword [esi + 0x90]
call dword [eax + 0x1c]
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x220]
add esp, 4
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x30]
cmp ebx, eax
sbb edi, edx
jb 0x4c9294
cmp ecx, 0x3b9aca00
mov edi, ebx
setne bl
xor edi, eax
mov eax, dword [esi + 0xc]
xor eax, edx
cmp ecx, dword [esi + 0x6c]
seta cl
or eax, edi
jne 0x4c91d5
and bl, cl
je 0x4c9294
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x118]
test eax, eax
mov dword [esi + 0x30], eax
je 0x4c9276
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x11c]
mov dword [esi + 0xc], eax
push dword [esi + 0x50]
mov eax, dword [esi + 0x90]
call dword [eax + 0x28]
add esp, 4
test al, al
je 0x4c922e
mov edx, dword [esi + 0xfc]
lea ecx, [esi + 0x108]
call fcn.00590fb0
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xc]
lea eax, [esi + 0x108]
push eax
call fcn.004a8f90
add esp, 4
push dword [esi + 0x50]
mov eax, dword [esi + 0x90]
call dword [eax + 0x2c]
add esp, 4
test al, al
je 0x4c9255
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0x30]
push dword [esi + 0xc]
call fcn.00505890
add esp, 4
push dword [esi + 0xc]
push dword [esi + 0x30]
push dword [esi + 0x50]
mov eax, dword [esi + 0x90]
call dword [eax + 0x10]
add esp, 0xc
push dword [esi + 0x30]
mov eax, dword [esi + 0xc]
call dword [eax + 0x14]
add esp, 4
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x28]
mov edi, dword [esi + 0x70]
mov edx, dword [esi + 0x1c]
mov dword [eax + 0x1a8], ecx
mov dword [eax + 0x1ac], edi
mov dword [eax + 0x1b0], edx
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x41c], 0
jne 0x4c92a7
push 0xa
call sub.kernel32.dll_Sleep
mov ecx, dword [esi + 0x5f8]
mov edx, dword [esi + 0x600]
mov dword [esi + 0x7e8], 0x10
mov dword [esi + 0x30], ecx
call fcn.005026b0
cmp dword [esi + 0x5fc], 0
je 0x4c92df
push dword [esi + 0x30]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x268]
test edi, edi
je 0x4c931e
mov ebx, dword [esi + 0x260]
add ebx, 0x18
jmp 0x4c9306
add ebx, 0x38
dec edi
je 0x4c931e
cmp dword [ebx], 0
je 0x4c9300
push dword [ebx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4c9300
cmp dword [esi + 0x264], 0
je 0x4c933b
push dword [esi + 0x260]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x270], 0
mov edi, dword [esi + 0xa0]
mov ebx, dword [esi + 0x18]
je 0x4c9361
push dword [esi + 0x26c]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0x7e0]
mov edx, edi
mov dword fs:[0], ecx
mov ecx, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add ecx, dword [esi + 0x234]
cmp ecx, 0x3b9ac9ff
jbe 0x4c93b1
mov edi, dword [esi + 0x10]
add eax, 1
adc edx, 0
mov dword [esi + 0xa0], edx
jb 0x4c90d3
mov dword [esi + 0xc0], eax
add ecx, 0xc4653600
jmp 0x4c93c0
mov edi, dword [esi + 0x10]
mov dword [esi + 0xa0], edx
mov dword [esi + 0xc0], eax
mov eax, ecx
mov edx, 0x44b83
shr eax, 9
mul edx
shr edx, 7
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov ebx, ecx
jmp 0x4c90d3
lea ecx, [esi + 0x108]
mov edx, 0x742318
mov dword [esi + str.the_egui_glow_has_already_been_destroyed_], 0x742310
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
mov dword [esi + 0x7e8], 0x11
call fcn.00709f70
jmp 0x4c9927
mov ecx, str.glBindTextureglBindTexture
mov edx, 0xd
call fcn.00717460
jmp 0x4c9927
mov ecx, 0x7425d3
mov edx, 0x1c
push 0x742638
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
mov ecx, 0x7425d3
mov edx, 0x1c
push 0x742638
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
mov ecx, 0x7425d3
mov edx, 0x1c
push 0x742638
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
mov ecx, 0x7425d3
mov edx, 0x1c
push 0x742638
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
mov ecx, str.glScissorglScissor
mov edx, 9
call fcn.00717460
jmp 0x4c9927
mov dword [esi + str.Mismatch_between_texture_size_and_texel_count], 0x742224
mov dword [esi + 0x10c], 1
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
mov dword [esi + 0x118], 0
lea ecx, [esi + 0x74c]
lea edx, [esi + 0x3d0]
push 0x74223c
lea eax, [esi + 0x108]
push eax
call fcn.00710d10
add esp, 8
jmp 0x4c9927
mov edx, dword [esi + 0x70]
movzx ecx, bl
call fcn.00709d20
jmp 0x4c9927
mov ecx, str.glDeleteTexturesglDeleteTextures
mov edx, 0x10
call fcn.00717460
jmp 0x4c9927
call fcn.00425040
jmp 0x4c9927
mov dword [esi + str.Mismatch_between_texture_size_and_texel_count], 0x742224
mov dword [esi + 0x10c], 1
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
mov dword [esi + 0x118], 0
lea ecx, [esi + 0x74c]
lea edx, [esi + 0x3d0]
push 0x74222c
lea eax, [esi + 0x108]
push eax
call fcn.00710d10
add esp, 8
jmp 0x4c9927
mov ecx, str.glDisableVertexAttribArrayglDisableVertexAttribArray
mov edx, 0x1a
call fcn.00717460
jmp 0x4c9927
ud2
mov ecx, str.glViewportglViewport
mov edx, 0xa
call fcn.00717460
jmp 0x4c9927
mov ecx, str.expected_non_zero_GL_nameC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fglow_0.12.3_src_native.rs
mov edx, 0x19
push 0x8a6a00
call fcn.0070a3e0
add esp, 4
jmp 0x4c9927
mov ecx, str.glGenTexturesglGenTextures
mov edx, 0xd
call fcn.00717460
jmp 0x4c9927
lea ecx, [esi + 0x108]
mov edx, 0x742318
mov dword [esi + str.the_egui_glow_has_already_been_destroyed_], 0x742310
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
call fcn.00709f70
jmp 0x4c9927
mov ecx, str.glBindBufferglBindBuffer
mov edx, 0xc
call fcn.00717460
jmp 0x4c9927
mov ecx, str.glDisableglDisable
mov edx, 9
call fcn.00717460
jmp 0x4c9927
lea ecx, [esi + 0x108]
mov edx, 0x743e40
mov dword [esi + str.Unexpected_GetClientRect_failure:_please_report_this_error_to_https:__github.com_rust_windowing_winit], 0x743e38
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
call fcn.00709f70
jmp 0x4c9927
mov ecx, str.failed_to_get_surface_to_swap_buffers
mov edx, 0x25
push 0x73ec54
call fcn.0070a3e0
add esp, 4
jmp 0x4c9927
mov ecx, str.failed_to_get_current_context_to_swap_buffers
mov edx, 0x2d
push 0x73ec94
call fcn.0070a3e0
add esp, 4
jmp 0x4c9927
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowswindow_state.rs
mov edx, 0x28
push 0x74043c
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x10c], eax
mov dword [esi + 0x108], 0
mov dword [esi + 0x7e8], 0x12
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c9fc8
push 0x8c7c18
lea eax, [esi + 0x108]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4c9927
mov ecx, str.glBindVertexArrayglBindVertexArray
mov edx, 0x11
call fcn.00717460
jmp 0x4c9927
mov ecx, str.glReadPixelsglReadPixels
mov edx, 0xc
call fcn.00717460
jmp 0x4c9927
lea ecx, [esi + 0x108]
mov edx, 0x7422d4
mov dword [esi + str.chunk_size_must_be_non_zero], 0x8b7c60
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
mov dword [esi + 0x7e8], 0x15
call fcn.00709f70
jmp 0x4c9927
mov ecx, ebx
mov edx, edi
call fcn.00709d20
jmp 0x4c9927
mov dword [esi + 0x7e8], 0x11
call fcn.00425040
jmp 0x4c9927
call fcn.00425040
jmp 0x4c9927
call fcn.00425040
jmp 0x4c9927
mov ecx, str.glBindBufferglBindBuffer
mov edx, 0xc
call fcn.00717460
jmp 0x4c9927
movups xmmword [esi + 0x108], xmm0
mov dword [esi + 0x118], ecx
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esi + 0x3d4]
mov dword [esi + 0x7e8], 0x17
mov dword [esi + 0x120], edx
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x74c]
mov ecx, dword [esi + 0x750]
mov edx, 0x2b
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x128], eax
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x73ed2c
push 0x73e454
lea eax, [esi + 0x108]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4c9927
lea ecx, [esi + 0x108]
mov edx, 0x8a8460
mov dword [esi + 0x108], 0x8a83e8
mov dword [esi + 0x10c], 1
mov dword [esi + 0x118], 0
mov dword [esi + 0x110], str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x114], 0
call fcn.00709f70
jmp 0x4c9927
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8a7844
call fcn.0070a0f0
add esp, 4
jmp 0x4c9927
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x10c], eax
mov dword [esi + 0x108], 0
mov dword [esi + 0x7e8], 0x13
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c9fc8
push 0x8c7c18
lea eax, [esi + 0x108]
push eax
call fcn.0070a360
add esp, 0xc
ud2