Function at 0x4c9f80
Capabilities:
Authenticate hmac
Check for time delay via queryperformancecounter
Encode data using base64
Encrypt data using speck
Get common file path
Inspect section memory permissions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x4250
call fcn.007082a0
mov esi, esp
mov dword [esi + 0x4238], ebp
mov dword [esi + 0x423c], esp
mov dword [esi + 0x4248], 0xffffffff
mov dword [esi + 0x4244], 0x703da0
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x3d4], ecx
mov dword [esi + 0x2c], edx
mov eax, dword fs:[0]
mov dword [esi + 0x4240], eax
lea eax, [esi + 0x4240]
mov dword fs:[0], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, eax
mov edx, ecx
add edi, 0xffffffe2
adc edx, 0xffffffff
cmp edi, 0xa
sbb edx, 0
mov edx, 1
cmovb edx, edi
call 0x4c9ffb
pop edi
cmp edx, 5
mov dword [esi + 0x160], edi
je 0x4ca3e2
cmp edx, 4
mov dword [esi + 0x10], 0x3b9aca00
je 0x4ca0b3
cmp edx, 1
jne 0x4d7806
mov edi, dword [esi + 0x2c]
mov edx, dword [edi]
xor edx, 2
or edx, dword [edi + 4]
je 0x4d7806
add eax, 0xfffffffc
adc ecx, 0xffffffff
cmp eax, 0x1a
sbb ecx, 0
mov ecx, 0x16
cmovb ecx, eax
cmp ecx, 0x17
ja 0x4cabf5
mov eax, dword [ecx*4 + 0x4efd88]
add eax, dword [esi + 0x160]
jmp eax
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx]
xor eax, 2
or eax, dword [ecx + 4]
je 0x4ea9a8
mov eax, dword [0x919aa8]
xor ecx, ecx
cmp eax, 4
mov eax, 0xff
setne cl
cmovbe eax, ecx
cmp al, 0xff
je 0x4ca0e8
movzx eax, al
test eax, eax
jne 0x4ca1b6
mov eax, dword [0x91975c]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x4e0]
mov dword [esi + 0x50c], 0x73eb08
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], 0x8f83c8
mov dword [esi + 0x518], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x23d
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [esi + 0x2c]
movsd xmm0, qword [ecx + 0x308]
mov eax, dword [ecx + 0x318]
movsd xmm1, qword [ecx + 0x310]
mov dword [ecx + 0x308], 3
movsd qword [esi + 0x4e0], xmm0
mov dword [esi + 0x4f0], eax
movsd qword [esi + 0x4e8], xmm1
mov eax, dword [esi + 0x4e0]
cmp eax, 3
jne 0x4ca51e
mov eax, dword [esi + 0x2c]
movq xmm0, qword [eax + 0x2d0]
movq xmm1, qword [eax + 0x2d8]
mov dword [eax + 0x2d0], 0
movq qword [esi + 0x1ef0], xmm0
movq qword [esi + 0x1ef8], xmm1
mov eax, dword [esi + 0x1ef0]
test eax, eax
je 0x4ca2db
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x30], eax
mov dword [esi + 0x4248], 0x30
call fcn.006fe440
mov ecx, dword [esi + 0x1ef4]
mov eax, dword [0x919584]
test eax, eax
jne 0x4ca2a8
mov dword [esi + 0x70], ecx
mov ecx, dword [0x919580]
test ecx, ecx
je 0x4eaa4f
mov eax, dword [str.Winit::DestroyMsg]
cmp byte [ecx + eax - 1], 0
jne 0x4eaa4f
mov dword [esi + 0x4248], 0x31
push eax
call dword [sym.imp.user32.dll_RegisterWindowMessageA]
mov ecx, dword [esi + 0x70]
test eax, eax
mov dword [esi + 0x12a0], eax
je 0x4eacd4
mov dword [0x919584], eax
mov dword [esi + 0x4248], 0x31
push 0
push 0
push eax
push ecx
call dword [sym.imp.user32.dll_PostMessageW]
mov eax, dword [esi + 0x30]
lock dec dword [eax]
jne 0x4ca2db
mov ecx, dword [esi + 0x1ef0]
mov dword [esi + 0x4248], 0xffffffff
call fcn.004f30b0
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 0x2e0]
mov dword [ecx + 0x2e0], 2
cmp eax, 2
jne 0x4ca579
mov eax, dword [0x919aa8]
cmp eax, 4
jb 0x4d7806
mov eax, dword [0x91975c]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x4e0]
mov dword [esi + 0x50c], 0x73eb88
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], 0x8f83c8
mov dword [esi + 0x518], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x244
mov dword [esi + 0x4248], 0xffffffff
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x4d7806
mov edx, dword [esi + 0x2c]
mov eax, dword [edx]
xor eax, 2
or eax, dword [edx + 4]
jne 0x4ca4d6
cmp dword [edx + 0x3ec], 0
lea ecx, [edx + 0x410]
lea eax, [edx + 0x3ec]
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4e8], 0
mov byte [esi + 0x4ec], 1
mov dword [esi + 0x4248], 0x3b
mov edx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x3a4], ecx
cmove eax, ecx
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x4e0]
push 0
call fcn.006aa160
add esp, 4
mov edx, dword [esi + 0x10]
lea ecx, [esi + 0x4e0]
push dword [esi + 0x30]
call fcn.006aa160
add esp, 4
mov eax, dword [esi + 0x4e0]
mov dword [esi + 0x12a0], 0
mov dword [esi + 0x4248], 0x3c
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4e4]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x4ec]
mov dword [esi + 0x428], eax
lea eax, [esi + 0x12a0]
push eax
push 0
push 0
push 0x7396b8
call sub.shell32.dll_SHGetKnownFolderPath
test eax, eax
je 0x4ca781
mov byte [esi + 0x1efc], 2
jmp 0x4ca7d7
add edx, 0x1e8
lea ecx, [esi + 0x4e0]
push dword [ebp + 8]
call fcn.004f08f0
add esp, 4
mov edi, dword [esi + 0x4e0]
cmp edi, 3
je 0x4d77ff
mov ebx, dword [esi + 0x3d4]
lea eax, [esi + 0x4e4]
lea ecx, [ebx + 4]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebx], edi
jmp 0x4d7818
cmp eax, 2
jne 0x4ca726
mov ecx, dword [esi + 0x4f0]
mov eax, dword [esi + 0x4ec]
mov dword [esi + 0x4248], 0x2f
push ecx
push eax
call sub.user32.dll_ReleaseDC
mov eax, dword [esi + 0x4e4]
lock dec dword [eax]
jne 0x4ca55a
mov ecx, dword [esi + 0x4e4]
call fcn.005de4e0
mov eax, dword [esi + 0x4e8]
lock dec dword [eax]
jne 0x4ca1fe
mov ecx, dword [esi + 0x4e8]
call fcn.004f3ec0
jmp 0x4ca1fe
movq xmm0, qword [ecx + 0x2e4]
movq xmm1, qword [ecx + 0x2ec]
mov dword [esi + 0x2a48], eax
movq qword [esi + 0x2a4c], xmm0
movq qword [esi + 0x2a54], xmm1
mov ecx, dword [0x919aa8]
cmp ecx, 3
jbe 0x4ca695
mov eax, dword [0x91975c]
mov ecx, 0x8b82b8
mov dword [esi + 0x50c], 0x73eb3c
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], 0x8f83c8
mov dword [esi + 0x518], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x241
lea edx, [esi + 0x4e0]
cmp eax, 2
mov eax, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
cmove ecx, dword [0x9192e0]
cmove eax, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
mov ecx, dword [ecx + 0x14]
mov byte [esi + 0x15b], 1
mov dword [esi + 0x4248], 0x33
push edx
push eax
call ecx
add esp, 8
mov eax, dword [esi + 0x2a48]
lea ecx, [esi + 0x2a4c]
test eax, eax
je 0x4ca834
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov dword [esi + 0x4248], 0x34
movq qword [esi + 0x1ef8], xmm1
movq qword [esi + 0x1ef0], xmm0
call sub.OPENGL32.dll_wglGetCurrentContext
mov ecx, dword [esi + 0x1ef8]
cmp eax, ecx
mov dword [esi + 0x30], ecx
jne 0x4ca6f3
mov dword [esi + 0x90], eax
call sub.OPENGL32.dll_wglGetCurrentDC
push 0
push eax
call sub.OPENGL32.dll_wglMakeCurrent
test eax, eax
je 0x4cba42
mov ebx, dword [esi + 0x1ef0]
mov edx, dword [esi + 0x1ef4]
mov ecx, dword [esi + 0x1efc]
mov dword [esi + 0x160], 1
mov edi, dword [esi + 0x2c]
mov eax, dword [edi + 0x2f4]
cmp eax, 2
jne 0x4ca8e1
jmp 0x4cb296
mov ecx, dword [esi + 0x4e8]
mov edx, dword [esi + 0x4f0]
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x30], ecx
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0xa4]
mov dword [esi + 0x4248], 0x2e
push edx
push eax
call ecx
mov eax, dword [esi + 0x30]
lock dec dword [eax]
jne 0x4ca762
mov ecx, dword [esi + 0x4e8]
call fcn.004f3020
mov eax, dword [esi + 0x4ec]
lock dec dword [eax]
jne 0x4ca1fe
mov ecx, dword [esi + 0x4ec]
call fcn.004f3550
jmp 0x4ca1fe
push dword [esi + 0x12a0]
call sub.kernel32.dll_lstrlenW
mov edx, dword [esi + 0x12a0]
lea ecx, [esi + 0x4e0]
push eax
call fcn.006a53e0
add esp, 4
mov eax, dword [esi + 0x12a0]
mov dword [esi + 0x4248], 0x4b
push eax
call sub.ole32.dll_CoTaskMemFree
movq xmm0, qword [esi + 0x4e0]
movq xmm1, qword [esi + 0x4e8]
movq qword [esi + 0x1ef8], xmm1
movq qword [esi + 0x1ef0], xmm0
lea eax, [esi + 0x12a0]
mov dword [esi + 0x12a0], 0
mov dword [esi + 0x4248], 0x49
push eax
push 0
push 0
push 0x7396a8
call sub.shell32.dll_SHGetKnownFolderPath
test eax, eax
je 0x4ca959
cmp byte [esi + 0x1efc], 2
mov edx, dword [esi + 0x1ef0]
mov ecx, dword [esi + 0x1ef4]
mov bl, 1
sete al
test al, al
mov byte [esi + 0x2aa4], 2
je 0x4cadff
jmp 0x4cae12
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movq qword [esi + 0x1870], xmm0
movq qword [esi + 0x1878], xmm1
mov eax, dword [esi + 0x1870]
mov ecx, dword [esi + 0x187c]
mov dword [esi + 0x30], eax
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x70], ecx
mov eax, dword [eax + 0x134]
mov dword [esi + 0x4248], 0x36
call eax
mov ecx, dword [esi + 0x70]
cmp eax, ecx
je 0x4ca88d
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x3c]
push ecx
call dword [eax + 4]
test eax, eax
je 0x4eb06b
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x3c]
push 0
push 0
push 0
push dword [ecx + 0xc]
call dword [eax + 0x12c]
test eax, eax
je 0x4cb2c2
mov eax, dword [esi + 0x1878]
mov ebx, dword [esi + 0x1870]
mov edx, dword [esi + 0x1874]
mov ecx, dword [esi + 0x187c]
mov dword [esi + 0x160], 0
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x2c]
mov eax, dword [edi + 0x2f4]
cmp eax, 2
je 0x4cb296
mov dword [esi + 0x50], edx
lea edx, [edi + 0x2f8]
test eax, eax
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x90], edx
je 0x4cb22e
mov eax, dword [edi + 0x300]
mov dword [esi + 0x4248], 0x39
push eax
call sub.OPENGL32.dll_wglDeleteContext
mov ecx, dword [esi + 0x90]
mov eax, dword [ecx]
lock dec dword [eax]
mov ebx, dword [esi + 0x70]
jne 0x4ca92e
mov ecx, dword [ecx]
call fcn.005de4e0
mov edi, dword [esi + 0x2c]
mov eax, dword [edi + 0x2fc]
lock dec dword [eax]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0xa0]
jne 0x4cb296
mov ecx, dword [edi + 0x2fc]
call fcn.004f3ec0
jmp 0x4cb28d
push dword [esi + 0x12a0]
call sub.kernel32.dll_lstrlenW
mov edx, dword [esi + 0x12a0]
lea ecx, [esi + 0x4e0]
push eax
call fcn.006a53e0
add esp, 4
mov eax, dword [esi + 0x12a0]
mov dword [esi + 0x4248], 0x4a
push eax
call sub.ole32.dll_CoTaskMemFree
movzx ecx, byte [esi + 0x4ec]
mov eax, dword [esi + 0x4e0]
mov edi, dword [esi + 0x1ef4]
mov edx, dword [esi + 0x1ef0]
cmp cl, 2
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4e4]
mov dword [esi + 0xd0], edi
sete bl
cmp byte [esi + 0x1efc], 2
mov dword [esi + 0x100], eax
sete al
je 0x4cade8
cmp cl, 2
je 0x4cade8
mov edi, dword [esi + 0x1ef8]
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0x120], edx
test edi, edi
mov dword [esi + 0x90], eax
je 0x4cbda0
setns al
js 0x4eb413
mov byte [esi + 0xa0], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4caa2a
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4caa44
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x120]
mov ebx, eax
test eax, eax
jne 0x4cbda5
movzx ecx, byte [esi + 0xa0]
mov edx, edi
mov dword [esi + 0x4248], 0x3d
call fcn.00709d20
jmp 0x4ec964
cmp ecx, 3
je 0x4cc426
mov edx, 0x3b9aca02
cmp ecx, 0x10
je 0x4cc398
cmp ecx, 0x18
jne 0x4cc3eb
mov eax, dword [esi + 0x2c]
cmp byte [eax + 0x1e4], 0
je 0x4cc3eb
movzx eax, byte [ebx + 8]
mov edx, dword [esi + 0x2c]
mov ecx, eax
xor cl, 1
test al, al
mov byte [edx + 0xe4], cl
je 0x4cc825
movaps xmm0, xmmword [0x726240]
mov byte [esi + 0x631], 1
mov byte [esi + 0x62c], 0
movaps xmm1, xmmword [0x7262f0]
mov eax, 0xff3c3c3c
mov edx, 0x60000000
mov ecx, 0x60000000
movups xmmword [esi + 0x518], xmm0
movaps xmm0, xmmword [0x7262d0]
movups xmmword [esi + 0x528], xmm0
movaps xmm0, xmmword [0x726260]
mov dword [esi + 0x538], 0xff1b1b1b
mov dword [esi + 0x53c], 0xff1b1b1b
movups xmmword [esi + 0x540], xmm0
movss xmm0, dword [0x725a04]
movlps qword [esi + 0x550], xmm0
movaps xmm0, xmmword [0x726270]
mov dword [esi + 0x558], 0
mov dword [esi + 0x560], 0xffb4b4b4
mov dword [esi + 0x55c], 0x3f800000
mov dword [esi + 0x564], 0xff3c3c3c
mov dword [esi + 0x568], 0xff3c3c3c
movups xmmword [esi + 0x56c], xmm0
movaps xmm0, xmmword [0x7262e0]
mov dword [esi + 0x57c], 0x40400000
movups xmmword [esi + 0x580], xmm0
movaps xmm0, xmmword [0x726290]
mov dword [esi + 0x590], 0xff464646
mov dword [esi + 0x594], 0xff464646
movups xmmword [esi + 0x598], xmm0
mov dword [esi + 0x5a8], 0x40000000
movups xmmword [esi + 0x5ac], xmm1
mov dword [esi + 0x5bc], 0xff373737
mov dword [esi + 0x5c0], 0xff373737
movups xmmword [esi + 0x5c4], xmm0
movaps xmm0, xmmword [0x726300]
mov dword [esi + 0x5d4], 0x40000000
movups xmmword [esi + 0x5d8], xmm0
movaps xmm0, xmmword [0x726310]
mov dword [esi + 0x5e8], 0xff1b1b1b
mov dword [esi + 0x5ec], 0xff1b1b1b
mov dword [esi + 0x5f0], 0
mov dword [esi + 0x5f4], 0x3f800000
mov dword [esi + 0x5f8], 0xffffdec0
mov dword [esi + 0x5fc], 0xff805c00
mov dword [esi + 0x600], 0xffffaa5a
mov dword [esi + 0x604], 0x50505
mov dword [esi + 0x608], 0xff0a0a0a
mov dword [esi + 0x60c], 0xff404040
mov dword [esi + 0x610], 0xff008fff
jmp 0x4cc9c9
mov ecx, dword [esi + 0xd0]
mov edi, dword [esi + 0x100]
test al, al
mov byte [esi + 0x2aa4], 2
jne 0x4cae12
test ecx, ecx
je 0x4cae12
push edx
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
sete al
or bl, al
jne 0x4cae2c
push dword [esi + 0x50]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x30], 0
je 0x4cae43
push dword [esi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx ecx, byte [esi + 0x2aa4]
cmp cl, 2
je 0x4caee4
mov byte [esi + 0xd0], cl
lea eax, [esi + 0x2a48]
push 0x60
push eax
lea eax, [esi + 0x4e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x528]
mov ecx, dword [esi + 0x520]
test edi, edi
je 0x4cafd5
setns al
js 0x4eaf1d
mov byte [esi + 0x30], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov dword [esi + 0x10], ecx
test eax, eax
jne 0x4caeb3
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4caeca
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [esi + 0x10]
mov ebx, eax
test eax, eax
jne 0x4cafda
movzx ecx, byte [esi + 0x30]
mov edx, edi
mov dword [esi + 0x4248], 0x4d
call fcn.00709d20
jmp 0x4ec964
mov eax, dword [0x919aa8]
cmp eax, 2
jb 0x4cf917
mov byte [esi + 0xd0], cl
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x4e0]
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x739834
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], 0x8f83c8
mov dword [esi + 0x518], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 2
mov dword [esi + 0x504], 0x73fed0
mov dword [esi + 0x508], 0x1c
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x1c
mov dword [esi + 0x4ec], 0x73fed0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x72
mov dword [esi + 0x4f8], 0x73fe26
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x35
mov dword [esi + 0x4248], 0x4c
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x4cf917
mov ebx, 1
push edi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x328], ebx
mov dword [esi + 0x32c], edi
mov dword [esi + 0x330], edi
mov byte [esi + 0x334], 0
mov dword [esi + 0x4248], 0x5d
lea ecx, [esi + 0x400]
mov edx, ebx
push edi
call fcn.006aad90
add esp, 4
movzx eax, byte [esi + 0x400]
cmp al, 4
mov byte [esi + 0x50], al
je 0x4cb1b4
mov ecx, dword [esi + 0x400]
mov edx, dword [esi + 0x404]
mov dword [esi + 0x111c], edx
mov dword [esi + 0x1118], ecx
mov eax, dword [0x919aa8]
mov dword [esi + 0x30], ecx
cmp eax, 1
mov eax, ecx
jbe 0x4cb169
lea eax, [esi + 0x328]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x12a0]
mov dword [esi + 0x12a0], eax
lea eax, [esi + 0x1118]
mov dword [esi + 0x12a4], 0x6a80a0
mov dword [esi + 0x12a8], eax
mov dword [esi + 0x12ac], 0x6a7970
mov eax, dword [0x91975c]
mov dword [esi + 0x1f1c], 0x7397ec
mov dword [esi + 0x1f20], 2
mov dword [esi + 0x1f24], edx
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1f28], 2
mov dword [esi + 0x1f2c], 0
mov dword [esi + 0x1f10], 2
mov dword [esi + 0x1f14], 0x73fed0
mov dword [esi + 0x1f18], 0x1c
mov dword [esi + 0x1ef8], 0
mov dword [esi + 0x1f00], 0x1c
mov dword [esi + 0x1efc], 0x73fed0
mov dword [esi + 0x1f04], 0
mov dword [esi + 0x1f0c], 0x72
mov dword [esi + 0x1f08], 0x73fe26
mov dword [esi + 0x1ef0], 1
mov dword [esi + 0x1ef4], 0x2b
mov dword [esi + 0x4248], 0x5b
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
movzx eax, byte [esi + 0x1118]
mov edx, dword [esi + 0x111c]
cmp al, 3
jne 0x4cc649
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 0x10], edx
mov dword [esi + 0x4248], 0x5a
mov dword [esi + 0xa0], eax
push eax
mov dword [esi + 0x70], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0x70]
cmp dword [eax + 4], 0
je 0x4cc638
cmp dword [eax + 8], 9
jae 0x4cc620
mov eax, dword [esi + 0xa0]
jmp 0x4cc629
mov edi, dword [esi + 0x330]
mov ecx, dword [esi + 0x328]
test edi, edi
je 0x4cb3d4
setns al
js 0x4eb0d0
mov byte [esi + 0x30], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov dword [esi + 0x10], ecx
test eax, eax
jne 0x4cb1f6
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cb20d
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [esi + 0x10]
mov ebx, eax
test eax, eax
jne 0x4cb3d9
movzx ecx, byte [esi + 0x30]
mov edx, edi
mov byte [esi + 0x191], 4
mov dword [esi + 0x4248], 0x4e
call fcn.00709d20
jmp 0x4ec964
mov eax, dword [edi + 0x2f8]
mov ecx, dword [edi + 0x300]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x94]
mov dword [esi + 0x4248], 0x3a
push ecx
push edx
call eax
mov ecx, dword [esi + 0x90]
mov eax, dword [ecx]
lock dec dword [eax]
mov ebx, dword [esi + 0x70]
jne 0x4cb26b
mov ecx, dword [ecx]
call fcn.004f3020
mov edi, dword [esi + 0x2c]
mov eax, dword [edi + 0x2fc]
lock dec dword [eax]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0xa0]
jne 0x4cb296
mov ecx, dword [edi + 0x2fc]
call fcn.004f3550
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x160]
mov dword [edi + 0x2f4], eax
mov dword [edi + 0x2f8], ebx
mov dword [edi + 0x2fc], edx
mov edx, dword [esi + 0x30]
mov dword [edi + 0x300], edx
mov dword [edi + 0x304], ecx
jmp 0x4d7806
mov eax, dword [0x919014]
cmp eax, 2
je 0x4cb31e
lea ecx, [esi + 0x2e0]
lea eax, [0x919018]
lea edx, [esi + 0x270]
mov dword [esi + 0x2e0], 0x919014
mov dword [esi + 0x4e0], ecx
lea ecx, [esi + 0x208]
mov dword [esi + 0x4e4], edx
mov dword [esi + 0x270], eax
lea edx, [esi + 0x4e0]
mov dword [esi + 0x4e8], ecx
mov ecx, 0x919014
push 0x8a7e74
call fcn.005f90f0
add esp, 4
cmp byte [0x9191f0], 2
je 0x4eb318
call dword [0x91910c]
lea edx, [eax - 0x3000]
mov dword [esi + 0x70], eax
cmp edx, 0xe
ja 0x4cd8c2
mov ecx, dword [esi + 0x160]
add ecx, dword [edx*4 + 0x4efd4c]
jmp ecx
mov ebx, 1
push edi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x1ef0], ebx
mov dword [esi + 0x1ef4], edi
mov dword [esi + 0x1ef8], edi
mov byte [esi + 0x1efc], 0
mov dword [esi + 0x4248], 0x4f
lea ecx, [esi + 0x1ef0]
mov edx, str.app.ronSaving_disabled:_Failed_to_find_path_to_data_dir.
push 7
call fcn.006aa160
add esp, 4
movq xmm0, qword [esi + 0x1ef0]
movq xmm1, qword [esi + 0x1ef8]
movq qword [esi + 0x2e8], xmm1
movq qword [esi + 0x2e0], xmm0
mov eax, dword [0x919aa8]
cmp eax, 3
jbe 0x4cb53a
lea eax, [esi + 0x2e0]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x12a0]
mov dword [esi + 0x12a0], eax
mov dword [esi + 0x12a4], 0x6a80a0
mov eax, dword [0x91975c]
mov dword [esi + 0x1f1c], 0x7397ac
mov dword [esi + 0x1f20], 2
mov dword [esi + 0x1f24], edx
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1f28], 1
mov dword [esi + 0x1f2c], 0
mov dword [esi + 0x1f10], 4
mov dword [esi + 0x1f14], 0x73fed0
mov dword [esi + 0x1f18], 0x1c
mov dword [esi + 0x1ef8], 0
mov dword [esi + 0x1f00], 0x1c
mov dword [esi + 0x1efc], 0x73fed0
mov dword [esi + 0x1f04], 0
mov dword [esi + 0x1f0c], 0x72
mov dword [esi + 0x1f08], 0x73fe26
mov dword [esi + 0x1ef0], 1
mov dword [esi + 0x1ef4], 0x1d
mov dword [esi + 0x4248], 0x50
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
movdqa xmm0, xmmword [0x725550]
mov edx, dword [esi + 0x2e0]
mov eax, dword [esi + 0x2e8]
lea edi, [esi + 0x1ef0]
mov dword [esi + 0x1f0c], 0
mov word [esi + 0x1f10], 0
mov dword [esi + 0x1ef0], 0
mov dword [esi + 0x4248], 0x50
lea ecx, [esi + 0x12a0]
movdqu xmmword [esi + 0x1ef8], xmm0
mov dword [esi + 0x1f08], 0
mov byte [esi + 0x1f0c], 1
push edi
push eax
call fcn.006a9060
add esp, 8
cmp byte [esi + 0x12a0], 4
jne 0x4cb5b5
mov edi, dword [esi + 0x12a4]
jmp 0x4cb5ca
movzx eax, byte [esi + 0x12a0]
mov edi, dword [esi + 0x12a4]
cmp al, 4
jne 0x4cc350
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cb5ed
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eaf9c
mov dword [0x919820], eax
push 0x2000
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eaf9c
pxor xmm0, xmm0
mov dword [esi + 0x428], eax
lea eax, [esi + 0x1ef0]
mov dword [esi + 0x42c], 0x2000
mov dword [esi + 0x430], 0
mov dword [esi + 0x434], 0
mov dword [esi + 0x438], 0
mov dword [esi + 0x248], 1
mov dword [esi + 0x24c], 0
mov dword [esi + 0x43c], edi
mov dword [esi + 0x250], 0
mov dword [esi + 0x1f20], 0
movdqa xmmword [esi + 0x1f10], xmm0
movdqa xmmword [esi + 0x1f00], xmm0
movdqa xmmword [esi + 0x1ef0], xmm0
push eax
push edi
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
test eax, eax
je 0x4cb78e
test byte [esi + 0x1ef1], 4
je 0x4cb6c8
mov dword [esi + 0x12a0], 0
mov dword [esi + 0x12a4], 0
push 8
lea eax, [esi + 0x12a0]
push eax
push 9
push edi
call dword [sym.imp.kernel32.dll_GetFileInformationByHandleEx]
test eax, eax
je 0x4cb78e
mov ecx, edi
mov ebx, dword [esi + 0x1f10]
mov edi, dword [esi + 0x1f14]
mov dword [esi + 0x1ef4], 0
mov dword [esi + 0x1ef0], 0
push 1
lea eax, [esi + 0x1ef0]
push eax
push 0
push 0
push ecx
call dword [sym.imp.kernel32.dll_SetFilePointerEx]
test eax, eax
je 0x4cb78e
xor eax, eax
sub edi, dword [esi + 0x1ef0]
sbb ebx, dword [esi + 0x1ef4]
mov ebx, 1
cmovb edi, eax
test edi, edi
je 0x4cb795
cmp edi, 9
mov ebx, 8
lea ecx, [esi + 0x12a0]
lea eax, [esi + 0x1ef0]
mov dword [esi + 0x1ef4], 0
cmovae ebx, edi
mov edx, ebx
not edx
shr edx, 0x1f
push eax
push ebx
call fcn.00563910
add esp, 8
cmp dword [esi + 0x12a0], 0
mov ecx, dword [esi + 0x12a4]
je 0x4cc80f
cmp ecx, 0x80000001
mov ebx, 1
je 0x4cb795
test ecx, ecx
jne 0x4eb870
mov dword [esi + 0x4248], 0x51
call fcn.00425040
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
xor ebx, ebx
lea edx, [esi + 0x43c]
mov dword [esi + 0x4248], 0x51
lea eax, [esi + 0x248]
lea ecx, [esi + 0x1118]
push edi
push ebx
push eax
call fcn.006a9380
add esp, 0xc
movzx ecx, byte [esi + 0x1118]
cmp ecx, 4
jne 0x4cb8bf
mov edx, dword [esi + 0x248]
mov eax, dword [esi + 0x250]
lea edi, [esi + 0x1118]
mov dword [esi + 0x1120], 0
mov dword [esi + 0x1118], 1
mov dword [esi + 0x111c], 0x80
lea ecx, [esi + 0x1ef0]
push edi
push eax
call fcn.00692d10
add esp, 8
mov ebx, dword [esi + 0x1ef0]
cmp ebx, 0x2c
jne 0x4cc5c4
mov ecx, dword [esi + 0x1ef4]
mov edi, dword [esi + 0x1f00]
movdqu xmm0, xmmword [esi + 0x1f04]
mov eax, dword [esi + 0x1ef8]
mov edx, dword [esi + 0x1efc]
movq xmm1, qword [esi + 0x1f14]
mov ebx, 0x10
mov dword [esi + 0x12a0], ecx
mov dword [esi + 0x12a4], eax
mov dword [esi + 0x12a8], edx
mov dword [esi + 0x12ac], edi
movdqu xmmword [esi + 0x12b0], xmm0
pshufd xmm2, xmm0, 0xee
pshufd xmm0, xmm0, 0x55
test edi, edi
movq qword [esi + 0x12c0], xmm1
mov byte [esi + 0x12c4], 0
movd dword [esi + 0xc], xmm2
movd dword [esi + 0x120], xmm0
je 0x4cc650
cmp byte [edx], 0x7b
jne 0x4cc650
cmp byte [edx], 0xa
jne 0x4cdad1
mov ebx, dword [esi + 0x120]
inc ebx
mov dword [esi + 0x12b4], ebx
mov ebx, 1
jmp 0x4cdad5
mov dword [esi + 0xa0], ecx
mov ecx, dword [ecx*4 + 0x4efbd0]
mov edi, dword [esi + 0x111c]
movzx eax, byte [esi + 0x1119]
lea edx, [esi + 0x360]
mov dword [esi + 0x360], 1
mov dword [esi + 0x364], 0
mov dword [esi + 0x1f0c], 0
mov dword [esi + 0x1f00], 0x20
mov byte [esi + 0x1f10], 3
mov dword [esi + 0x1ef0], 0
mov dword [esi + 0x1ef8], 0
mov dword [esi + 0x368], 0
mov dword [esi + 0x1f04], edx
mov dword [esi + 0x1f08], 0x8c5ee0
add ecx, dword [esi + 0x160]
mov dword [esi + 0x10], edi
jmp ecx
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x4e0]
lea edx, [esi + 0x12a0]
mov byte [esi + 0x12a0], 0
mov dword [esi + 0x12a4], eax
call fcn.005dea40
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x4e0]
movq xmm0, qword [esi + 0x4f4]
mov dword [esi + 0x4248], 0x35
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x4e4]
movdqa xmmword [esi + 0x100], xmm0
mov dword [esi + 0x160], eax
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x504]
mov dword [esi + 0x111c], eax
mov eax, dword [esi + 0x500]
mov dword [esi + 0x1118], eax
mov eax, dword [esi + 0x4ec]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4f0]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x4fc]
mov dword [esi + 0xa0], eax
push ecx
call sub.OPENGL32.dll_wglDeleteContext
mov eax, dword [esi + 0x1ef0]
lock dec dword [eax]
jne 0x4cbaf8
mov ecx, dword [esi + 0x1ef0]
call fcn.005de4e0
mov eax, dword [esi + 0x1ef4]
lock dec dword [eax]
mov ebx, dword [esi + 0x70]
mov edi, dword [esi + 0xd0]
jne 0x4cbb17
mov ecx, dword [esi + 0x1ef4]
call fcn.004f3ec0
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x50]
movdqa xmm0, xmmword [esi + 0x100]
mov eax, edi
xor eax, 2
or eax, ecx
jne 0x4cc609
movd ecx, xmm0
jmp 0x4ca705
mov ebx, 1
push edi
push edx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x10]
mov dword [esi + 0x4e0], ebx
mov dword [esi + 0x4e4], edi
mov dword [esi + 0x4e8], edi
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x3e
lea ecx, [esi + 0x4e0]
push dword [esi + 0x70]
call fcn.006aa160
add esp, 4
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4e8]
cmp dword [esi + 0x90], 0
mov dword [esi + 0xc0], eax
mov dword [esi + 0x6c], edx
mov dword [esi + 0xa0], ecx
je 0x4cbe6b
setns bl
js 0x4eb427
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cbe39
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cbe4e
mov dword [0x919820], eax
push dword [esi + 0x90]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cbe70
mov edx, dword [esi + 0x90]
movzx ecx, bl
mov dword [esi + 0x4248], 0x3f
call fcn.00709d20
jmp 0x4ec964
mov edi, 1
mov ebx, dword [esi + 0x90]
push ebx
push dword [esi + 0x50]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x10]
mov dword [esi + 0x4e0], edi
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x40
lea ecx, [esi + 0x4e0]
push dword [esi + 0x70]
call fcn.006aa160
add esp, 4
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4e8]
cmp dword [esi + 0xa0], 0
mov dword [esi + 0xc], eax
mov dword [esi + 0x140], edx
mov dword [esi + 0x90], ecx
je 0x4cbf3e
setns bl
js 0x4eb43b
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cbf0c
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cbf21
mov dword [0x919820], eax
push dword [esi + 0xa0]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cbf43
mov edx, dword [esi + 0xa0]
movzx ecx, bl
mov dword [esi + 0x4248], 0x41
call fcn.00709d20
jmp 0x4ec964
mov edi, 1
mov ebx, dword [esi + 0xa0]
push ebx
push dword [esi + 0xc0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4e0], edi
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x42
lea ecx, [esi + 0x4e0]
mov edx, 0x7396a1
push 5
call fcn.006aa160
add esp, 4
mov ecx, dword [esi + 0x4ec]
mov ebx, dword [esi + 0xa0]
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e8]
mov dword [esi + 0x1714], ecx
mov ecx, dword [esi + 0x4e4]
test ebx, ebx
mov dword [esi + 0x170], eax
mov dword [esi + 0x1710], edx
mov dword [esi + 0xfc], ecx
je 0x4cc015
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cbfea
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cbffa
mov dword [0x919820], eax
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cc01a
mov ecx, 1
mov edx, ebx
mov dword [esi + 0x4248], 0x43
call fcn.00709d20
jmp 0x4ec964
mov edi, 1
push ebx
push dword [esi + 0xc0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4e0], edi
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x44
lea ecx, [esi + 0x4e0]
mov edx, str.data
push 4
call fcn.006aa160
add esp, 4
mov ecx, dword [esi + 0x4ec]
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e8]
cmp dword [esi + 0x90], 0
mov dword [esi + 0x111c], ecx
mov ecx, dword [esi + 0x4e4]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x1118], edx
mov dword [esi + 0xec], ecx
je 0x4cc0f5
setns bl
js 0x4eb44f
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cc0c3
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cc0d8
mov dword [0x919820], eax
push dword [esi + 0x90]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cc0fa
mov edx, dword [esi + 0x90]
movzx ecx, bl
mov dword [esi + 0x4248], 0x45
call fcn.00709d20
jmp 0x4ec964
mov edi, 1
mov ebx, dword [esi + 0x90]
push ebx
push dword [esi + 0xc]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4e0], edi
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x46
lea ecx, [esi + 0x4e0]
mov edx, str.config
push 6
call fcn.006aa160
add esp, 4
mov ecx, dword [esi + 0x4ec]
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e8]
mov dword [esi + 0x12a4], ecx
mov ecx, dword [esi + 0x4e4]
test ebx, ebx
mov dword [esi + 0x13c], eax
mov dword [esi + 0x12a0], edx
mov dword [esi + 0xf8], ecx
je 0x4cc1c9
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cc19e
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4cc1ae
mov dword [0x919820], eax
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cc1ce
mov ecx, 1
mov edx, ebx
mov dword [esi + 0x4248], 0x47
call fcn.00709d20
jmp 0x4ec964
mov edi, 1
push ebx
push dword [esi + 0xc]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4e0], edi
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], ebx
mov byte [esi + 0x4ec], 0
mov dword [esi + 0x4248], 0x48
lea ecx, [esi + 0x4e0]
mov edx, str.data
push 4
call fcn.006aa160
add esp, 4
movsd xmm0, qword [esi + 0x4e0]
movq xmm1, qword [esi + 0x4e8]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x70]
cmp dword [esi + 0x140], 0
movsd qword [esi + 0x2a88], xmm0
movq qword [esi + 0x2a90], xmm1
mov dword [esi + 0x2a58], eax
mov dword [esi + 0x2a5c], ecx
mov ecx, dword [esi + 0x428]
mov dword [esi + 0x2a60], edx
mov edx, dword [esi + 0x170]
movq xmm0, qword [esi + 0x1118]
mov dword [esi + 0x2a64], ecx
mov ecx, dword [esi + 0xfc]
mov dword [esi + 0x2a68], edx
mov edx, dword [esi + 0x1714]
mov dword [esi + 0x2a6c], ecx
mov ecx, dword [esi + 0x1710]
mov dword [esi + 0x2a74], edx
mov edx, dword [esi + 0x13c]
mov dword [esi + 0x2a70], ecx
mov ecx, dword [esi + 0xf8]
mov dword [esi + 0x2a78], edx
mov edx, dword [esi + 0x12a4]
mov dword [esi + 0x2a7c], ecx
mov ecx, dword [esi + 0x12a0]
mov dword [esi + 0x2a84], edx
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x2a80], ecx
mov ecx, dword [esi + 0xec]
mov dword [esi + 0x2a98], edx
mov dword [esi + 0x2a9c], ecx
movq qword [esi + 0x2aa0], xmm0
mov byte [esi + 0x2a54], 2
je 0x4cc303
push dword [esi + 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x6c], 0
mov edi, dword [esi + 0x50]
je 0x4cc320
push dword [esi + 0xc0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x100], 0
je 0x4cc338
push edi
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd0], 0
je 0x4cae43
push dword [esi + 0x120]
jmp 0x4cae35
cmp al, 3
jb 0x4cf6dd
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x10], edi
mov dword [esi + 0x4248], 0x58
mov dword [esi + 0x70], eax
push eax
mov dword [esi + 0x30], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x10]
cmp dword [eax + 4], 0
je 0x4cd878
cmp dword [eax + 8], 9
jae 0x4cd863
mov eax, dword [esi + 0x70]
jmp 0x4cd869
cmp word [ebx + 8], 0
jne 0x4cc3eb
cmp byte [ebx + 0x14], 0
jne 0x4cc3eb
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x30], 0x3b9aca02
mov dword [esi + 0x10], ecx
add ecx, 0xfffffffc
mov byte [edx + 0x1e3], 1
lea edi, [edx + 0x1dc]
mov edx, dword [esi + 0x160]
adc eax, 0xffffffff
cmp ecx, 0x1a
sbb eax, 0
mov eax, 0x16
cmovb eax, ecx
mov ecx, dword [eax*4 + 0x4efde8]
xor eax, eax
add ecx, edx
jmp ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebx]
mov dword [esi + 0x30], edx
mov edx, 0x16
lea edi, [eax + 0x1dc]
mov eax, dword [ebx + 4]
mov dword [esi + 0x10], ecx
add ecx, 0xfffffffc
adc eax, 0xffffffff
cmp ecx, 0x1a
sbb eax, 0
cmovb edx, ecx
xor eax, eax
mov ecx, dword [edx*4 + 0x4efde8]
mov edx, dword [esi + 0x160]
add ecx, edx
jmp ecx
mov eax, dword [0x919aa8]
xor ecx, ecx
cmp eax, 4
mov eax, 0xff
setne cl
cmovbe eax, ecx
cmp al, 0xff
je 0x4cc44a
movzx eax, al
test eax, eax
jne 0x4cc518
mov eax, dword [0x91975c]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x4e0]
mov dword [esi + 0x50c], 0x73eeac
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], 0x8f83c8
mov dword [esi + 0x518], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73ee48
mov dword [esi + 0x508], 0x1f
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x1f
mov dword [esi + 0x4ec], 0x73ee48
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x75
mov dword [esi + 0x4f8], 0x73ed8c
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1c9
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x30], 0x3b9aca02
mov dword [esi + 0x10], ecx
add ecx, 0xfffffffc
mov byte [edx + 0x1e2], 1
lea edi, [edx + 0x1dc]
mov edx, dword [esi + 0x160]
adc eax, 0xffffffff
cmp ecx, 0x1a
sbb eax, 0
mov eax, 0x16
cmovb eax, ecx
mov ecx, dword [eax*4 + 0x4efde8]
xor eax, eax
add ecx, edx
jmp ecx
mov eax, dword [esi + 0x1efc]
movdqu xmm0, xmmword [esi + 0x1f04]
mov edi, dword [esi + 0x1f00]
mov edx, dword [esi + 0x1ef4]
mov ecx, dword [esi + 0x1ef8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1f14]
movdqa xmmword [esi + 0x90], xmm0
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x1f18]
mov dword [esi + 0xc], eax
jmp 0x4cf4ec
mov eax, dword [esi + 0x1118]
mov ecx, dword [esi + 0x111c]
mov edi, dword [esi + 0xd0]
jmp 0x4cd99c
mov eax, dword [esi + 0xa0]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov cl, 2
jmp 0x4cf782
mov dword [esi + 0xc0], edx
jmp 0x4cf4e0
mov dword [esi + 0x248], ecx
mov dword [esi + 0x24c], ebx
mov ebx, 1
jmp 0x4cb795
movaps xmm0, xmmword [0x726240]
mov byte [esi + 0x631], 0
mov byte [esi + 0x62c], 0
movaps xmm1, xmmword [0x7262a0]
mov ecx, 0x14000000
mov eax, 0xffbebebe
mov edx, 0x10000000
movups xmmword [esi + 0x518], xmm0
movaps xmm0, xmmword [0x726250]
movups xmmword [esi + 0x528], xmm0
movaps xmm0, xmmword [0x726260]
mov dword [esi + 0x538], 0xfff8f8f8
mov dword [esi + 0x53c], 0xfff8f8f8
movups xmmword [esi + 0x540], xmm0
movss xmm0, dword [0x725a04]
movlps qword [esi + 0x550], xmm0
movaps xmm0, xmmword [0x726270]
mov dword [esi + 0x558], 0
mov dword [esi + 0x560], 0xff3c3c3c
mov dword [esi + 0x55c], 0x3f800000
mov dword [esi + 0x564], 0xffe6e6e6
mov dword [esi + 0x568], 0xffe6e6e6
movups xmmword [esi + 0x56c], xmm0
movaps xmm0, xmmword [0x726280]
mov dword [esi + 0x57c], 0x40400000
movups xmmword [esi + 0x580], xmm0
movaps xmm0, xmmword [0x726290]
mov dword [esi + 0x590], 0xffdcdcdc
mov dword [esi + 0x594], 0xffdcdcdc
movups xmmword [esi + 0x598], xmm0
mov dword [esi + 0x5a8], 0x40000000
movups xmmword [esi + 0x5ac], xmm1
mov dword [esi + 0x5bc], 0xffa5a5a5
mov dword [esi + 0x5c0], 0xffa5a5a5
movups xmmword [esi + 0x5c4], xmm0
movaps xmm0, xmmword [0x7262b0]
mov dword [esi + 0x5d4], 0x40000000
movups xmmword [esi + 0x5d8], xmm0
movaps xmm0, xmmword [0x7262c0]
mov dword [esi + 0x5e8], 0xffdcdcdc
mov dword [esi + 0x5ec], 0xffdcdcdc
mov dword [esi + 0x5f0], 0
mov dword [esi + 0x5f4], 0x3f800000
mov dword [esi + 0x5f8], 0xff7d5300
mov dword [esi + 0x5fc], 0xffffd190
mov dword [esi + 0x600], 0xffff9b00
mov dword [esi + 0x604], 0x50505
mov dword [esi + 0x608], 0xffffffff
mov dword [esi + 0x60c], 0xffe6e6e6
mov dword [esi + 0x610], 0xff0064ff
mov dword [esi + 0x614], 0xff0000ff
movaps xmm1, xmmword [0x726320]
mov edi, dword [esi + 0x2c]
movups xmmword [esi + 0x4e0], xmm1
mov dword [esi + 0x500], 0x42000000
mov dword [esi + 0x504], edx
movss dword [esi + 0x618], xmm0
mov dword [esi + 0x508], 0x3f800000
mov dword [esi + 0x50c], eax
movups xmmword [esi + 0x4f0], xmm1
movss dword [esi + 0x61c], xmm0
mov dword [esi + 0x510], 0x41800000
mov dword [esi + 0x514], ecx
movsd xmm1, qword [0x726330]
mov ecx, dword [edi + 0x1dc]
lea edx, [esi + 0x4e0]
movsd qword [esi + 0x620], xmm1
mov dword [esi + 0x628], 0x40400000
mov dword [esi + 0x632], 0x1000100
mov word [esi + 0x636], 0
call fcn.0051b7c0
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x160]
mov dword [esi + 0x30], 0x3b9aca02
add edi, 0x1dc
mov dword [esi + 0x10], ecx
add ecx, 0xfffffffc
adc eax, 0xffffffff
cmp ecx, 0x1a
sbb eax, 0
mov eax, 0x16
cmovb eax, ecx
mov ecx, dword [eax*4 + 0x4efde8]
xor eax, eax
add ecx, edx
jmp ecx
mov eax, dword [esi + 0x70]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push edi
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4cf6dd
mov dword [esi + 0x30], 0x13
jmp 0x4cd908
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x12a4]
mov edx, dword [esi + 0x1870]
mov dword [esi + 0x1118], eax
mov dword [esi + 0x111c], ecx
mov dword [esi + 0x2c], edx
mov eax, dword [esi + 0x1878]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 0x3c]
mov edx, dword [edx + 0x94]
mov dword [esi + 0x4248], 0x37
push eax
push ecx
call edx
mov eax, dword [esi + 0x2c]
lock dec dword [eax]
jne 0x4cd95c
mov ecx, dword [esi + 0x1870]
call fcn.004f3020
mov eax, dword [esi + 0x1874]
lock dec dword [eax]
mov ebx, dword [esi + 0x70]
jne 0x4cd975
mov ecx, dword [esi + 0x1874]
call fcn.004f3550
mov eax, dword [esi + 0x1118]
mov ecx, dword [esi + 0x111c]
mov dword [esi + 0xa0], 0
mov edi, 1
xor edx, edx
mov dword [esi + 0x160], 0
mov dword [esi + 0x1714], ecx
mov dword [esi + 0x1710], eax
mov eax, dword [esi + 0x1714]
mov ecx, dword [esi + 0x3d4]
movsd xmm1, qword [esi + 0x3658]
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0x1710]
mov dword [ecx + 8], edi
mov edi, dword [esi + 0x30]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x160]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edx
mov edx, dword [esi + 0xa0]
mov dword [ecx + 0x18], edi
movq qword [ecx + 0x1c], xmm0
mov edi, dword [esi + 0x42c]
movq xmm0, qword [esi + 0x3650]
mov dword [ecx + 0x24], edx
mov edx, dword [esi + 0x428]
mov dword [ecx + 0x2c], edi
mov dword [ecx + 0x28], edx
movsd qword [ecx + 0x38], xmm1
movq xmm1, qword [esi + 0x3660]
movq qword [ecx + 0x30], xmm0
movq qword [ecx + 0x40], xmm1
mov dword [ecx], 1
jmp 0x4d7818
mov ebx, dword [esi + 0xc]
inc ebx
dec edi
inc edx
test ecx, ecx
mov dword [esi + 0x12b8], ebx
mov dword [esi + 0x12a8], edx
mov dword [esi + 0x12ac], edi
je 0x4cdafc
test eax, eax
je 0x4ce587
dec eax
mov dword [esi + 0x12a4], eax
call fcn.006bc750
test eax, eax
je 0x4ec01b
mov dword [esi + 0x1118], 0x8cdfe0
mov dword [esi + 0x111c], 0
mov dword [esi + 0x1120], 0
mov dword [esi + 0x1124], 0
lea edx, [esi + 0x12a8]
movdqu xmm0, xmmword [eax]
movd edi, xmm0
pshufd xmm1, xmm0, 0x55
add edi, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edi
xor edi, edi
mov dword [eax + 4], ecx
mov al, 1
lea ecx, [esi + 0x1ef0]
movdqu xmmword [esi + 0x1128], xmm0
mov dword [esi + 0x100], eax
mov dword [esi + 0xc0], eax
jmp 0x4cdb82
mov edi, dword [esi + 0x30]
lea edx, [esi + 0x12a8]
lea ecx, [esi + 0x1ef0]
call fcn.0068dc50
mov ebx, dword [esi + 0x1ef0]
cmp ebx, 0x2c
jne 0x4cee77
xor eax, eax
cmp dword [esi + 0x12ac], 0
mov ebx, 3
je 0x4ceedc
mov ecx, dword [esi + 0x12a8]
test ecx, ecx
je 0x4ceedc
movzx ecx, byte [ecx]
cmp byte [esi + 0x100], 0
je 0x4ceee4
cmp cl, 0x7d
lea edx, [esi + 0x12a8]
setne cl
je 0x4cef0e
cmp dword [esi + 0x12a0], 0
je 0x4cdc02
mov eax, dword [esi + 0x12a4]
test eax, eax
je 0x4cf2fe
dec eax
mov dword [esi + 0x4248], 0x55
mov dword [esi + 0x12a4], eax
mov byte [esi + 0x6c], cl
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x30], edi
mov dword [esi + 0x4248], 0x55
call fcn.00690b40
mov ebx, dword [esi + 0x1ef0]
mov eax, dword [esi + 0x1ef8]
mov ecx, dword [esi + 0x1efc]
mov edi, dword [esi + 0x1ef4]
cmp ebx, 0x2c
mov dword [esi + 0xa0], eax
mov dword [esi + 0x10], ecx
jne 0x4cdc51
test edi, edi
je 0x4cdc89
mov ebx, 0x2c
jmp 0x4cdcf7
movzx edx, byte [esi + 0x1f03]
movzx ecx, word [esi + 0x1f01]
movzx eax, byte [esi + 0x1f00]
movdqu xmm0, xmmword [esi + 0x1f04]
shl edx, 0x10
mov dword [esi + 0xc0], eax
movdqa xmmword [esi + 0x90], xmm0
or ecx, edx
mov dword [esi + 0x140], ecx
jmp 0x4cdcf7
cmp dword [esi + 0x10], 0
je 0x4cdcd2
setns bl
js 0x4ec5be
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cdcbb
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4ec529
mov dword [0x919820], eax
push dword [esi + 0x10]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x4cdcd7
jmp 0x4ec529
mov edi, 1
push dword [esi + 0x10]
push dword [esi + 0xa0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x10]
mov ebx, 0x2c
mov dword [esi + 0xa0], eax
cmp dword [esi + 0x12a0], 0
je 0x4cdd15
mov eax, dword [esi + 0x12a4]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
mov dword [esi + 0x12a4], eax
cmp ebx, 0x2c
mov dword [esi + 0xc], edi
jne 0x4cf1a9
test edi, edi
lea ebx, [esi + 0x12a8]
je 0x4cef0e
lea ecx, [esi + 0x1ef0]
mov edx, ebx
call fcn.0068dc50
mov eax, dword [esi + 0x1ef0]
cmp eax, 0x2c
jne 0x4cecd5
mov eax, dword [esi + 0x12ac]
test eax, eax
je 0x4ced42
mov ecx, dword [esi + 0x12a8]
cmp byte [ecx], 0x3a
jne 0x4ced42
cmp byte [ecx], 0xa
jne 0x4cdd81
mov edx, dword [esi + 0x12b4]
inc edx
mov dword [esi + 0x12b4], edx
mov edx, 1
jmp 0x4cdd88
mov edx, dword [esi + 0x12b8]
inc edx
inc ecx
mov dword [esi + 0x12b8], edx
dec eax
mov edx, ebx
mov dword [esi + 0x12a8], ecx
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x12ac], eax
call fcn.0068dc50
mov eax, dword [esi + 0x1ef0]
cmp eax, 0x2c
jne 0x4cecd5
cmp dword [esi + 0x12a0], 0
lea ecx, [esi + 0x1ef0]
je 0x4cdddc
mov eax, dword [esi + 0x12a4]
test eax, eax
je 0x4cf358
dec eax
mov dword [esi + 0x12a4], eax
mov edx, ebx
mov dword [esi + 0x4248], 0x56
call fcn.00690b40
mov eax, dword [esi + 0x1ef0]
mov edi, dword [esi + 0x1efc]
mov ecx, dword [esi + 0x1ef4]
mov ebx, dword [esi + 0x1ef8]
cmp eax, 0x2c
mov dword [esi + 0x30], edi
jne 0x4cf275
test ecx, ecx
jne 0x4cde79
test edi, edi
mov dword [esi + 0x120], ebx
je 0x4cde5e
setns bl
js 0x4ec4b9
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cde4b
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4ec3cb
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
jne 0x4cde63
jmp 0x4ec3cb
mov eax, 1
push edi
push dword [esi + 0x120]
push eax
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, ebx
add esp, 0xc
mov ebx, edi
cmp dword [esi + 0x12a0], 0
mov dword [esi + 0x70], ecx
je 0x4cde9a
mov eax, dword [esi + 0x12a4]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
mov dword [esi + 0x12a4], eax
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x12a8]
call fcn.0068dc50
mov eax, dword [esi + 0x1ef0]
cmp eax, 0x2c
jne 0x4cf119
mov eax, dword [esi + 0x12ac]
test eax, eax
je 0x4cdee8
mov ecx, dword [esi + 0x12a8]
cmp byte [ecx], 0x2c
jne 0x4cdee8
cmp byte [ecx], 0xa
jne 0x4cdef4
mov edx, dword [esi + 0x12b4]
inc edx
mov dword [esi + 0x12b4], edx
mov edx, 1
jmp 0x4cdefb
mov dword [esi + 0x100], 0
jmp 0x4cdf37
mov edx, dword [esi + 0x12b8]
inc edx
inc ecx
mov dword [esi + 0x12b8], edx
dec eax
lea edx, [esi + 0x12a8]
mov dword [esi + 0x12a8], ecx
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x12ac], eax
call fcn.0068dc50
mov eax, dword [esi + 0x1ef0]
cmp eax, 0x2c
jne 0x4cf119
mov al, 1
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x120], ebx
mov dword [esi + 0x4248], 0x55
lea edx, [esi + 0x1118]
mov dword [esi + 0x10e8], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x10ec], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x10f0], eax
mov eax, ecx
shr ecx, 8
mov byte [esi + 0x360], al
mov eax, ecx
mov dword [esi + 0x70], ecx
mov word [esi + 0x361], cx
lea ecx, [esi + 0x1ef0]
shr eax, 0x10
mov byte [esi + 0x363], al
lea eax, [esi + 0x360]
mov dword [esi + 0x364], ebx
mov dword [esi + 0x368], edi
push eax
lea eax, [esi + 0x10e8]
push eax
call fcn.004ff260
add esp, 8
mov eax, dword [esi + 0x1ef0]
test eax, eax
je 0x4cdb73
cmp dword [esi + 0x1ef4], 0
je 0x4cdb73
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4cdb73
mov dword [esi + 0xc0], ecx
mov ebx, 0x2b
jmp 0x4cf4bd
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x1ef7]
movzx edx, word [esi + 0x1ef5]
movzx ecx, word [esi + 0x1f01]
movups xmm0, xmmword [esi + 0x1f04]
movzx ebx, byte [esi + 0x1ef4]
shl eax, 0x10
movaps xmmword [esi + 0x90], xmm0
or edx, eax
movzx eax, byte [esi + 0x1f03]
shl eax, 0x10
or ecx, eax
mov eax, dword [esi + 0x1efc]
mov dword [esi + 0x140], ecx
mov ecx, edx
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1ef8]
mov dword [esi + 0x120], eax
movzx eax, byte [esi + 0x1f00]
mov dword [esi + 0xc0], eax
jmp 0x4cf368
mov dword [esi + 0x10], 0x11
jmp 0x4cf35f
movzx eax, byte [esi + 0x1ef4]
movzx ecx, word [esi + 0x1ef5]
movzx edx, word [esi + 0x1f01]
movups xmm0, xmmword [esi + 0x1f04]
mov byte [esi + 0x6c], al
movzx eax, byte [esi + 0x1ef7]
movaps xmmword [esi + 0x90], xmm0
shl eax, 0x10
or ecx, eax
movzx eax, byte [esi + 0x1f03]
shl eax, 0x10
or edx, eax
mov eax, dword [esi + 0x1efc]
mov dword [esi + 0x140], edx
mov edx, dword [esi + 0x1ef8]
mov dword [esi + 0x120], edx
movzx edx, byte [esi + 0x1f00]
mov dword [esi + 0xc0], edx
jmp 0x4ceefb
mov dword [esi + 0xc0], ecx
jmp 0x4ceefb
cmp cl, 0x7d
movzx ecx, byte [esi + 0x6c]
je 0x4cef0e
mov byte [esi + 0x6c], cl
mov dword [esi + 0xc0], ecx
mov ebx, 9
movzx edi, byte [esi + 0x6c]
shl ecx, 8
or edi, ecx
mov dword [esi + 0xc], edi
mov edi, eax
jmp 0x4cf393
movzx ecx, byte [esi + 0x1127]
movzx eax, word [esi + 0x1125]
mov edx, dword [esi + 0x1118]
mov ebx, dword [esi + 0x111c]
movups xmm0, xmmword [esi + 0x1128]
mov edi, dword [esi + 0x1120]
shl ecx, 0x10
movaps xmmword [esi + 0x90], xmm0
mov dword [esi + 0x100], edx
mov dword [esi + 0x70], ebx
or eax, ecx
cmp dword [esi + 0x12a0], 0
movzx ecx, byte [esi + 0x1124]
je 0x4cef7c
mov edx, dword [esi + 0x12a4]
mov ebx, edi
mov edi, 0xffffffff
inc edx
cmovne edi, edx
mov edx, dword [esi + 0x100]
mov dword [esi + 0x12a4], edi
mov edi, ebx
mov ebx, dword [esi + 0x70]
movdqa xmm0, xmmword [esi + 0x90]
mov dword [esi + 0x1710], edx
mov dword [esi + 0x1714], ebx
mov dword [esi + 0x1718], edi
mov byte [esi + 0x171c], cl
mov word [esi + 0x171d], ax
shr eax, 0x10
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x12a8]
mov byte [esi + 0x171f], al
movdqu xmmword [esi + 0x1720], xmm0
call fcn.0068dc50
mov ecx, ebx
mov ebx, dword [esi + 0x1ef0]
cmp ebx, 0x2c
jne 0x4cf00f
mov eax, dword [esi + 0x12ac]
test eax, eax
je 0x4cf1bd
mov ecx, dword [esi + 0x12a8]
cmp byte [ecx], 0x7d
jne 0x4cf1bd
cmp byte [ecx], 0xa
jne 0x4dac14
mov edx, dword [esi + 0x12b4]
inc edx
mov dword [esi + 0x12b4], edx
mov edx, 1
jmp 0x4dac1b
mov eax, dword [esi + 0x1ef4]
movdqu xmm0, xmmword [esi + 0x1f04]
mov edi, dword [esi + 0x1efc]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1ef8]
movdqa xmmword [esi + 0x90], xmm0
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x1f00]
mov edx, eax
mov dword [esi + 0xc0], eax
shr eax, 8
test ecx, ecx
je 0x4cf4bd
mov ecx, dword [esi + 0x171c]
mov dword [esi + 0x140], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x30], edi
test ecx, ecx
je 0x4cf2c0
mov edi, dword [esi + 0x100]
movdqa xmm0, xmmword [edi]
lea ebx, [edi + 0x10]
pmovmskb eax, xmm0
not eax
mov dword [esi + 0x6c], eax
test ecx, ecx
je 0x4cf2c0
mov eax, dword [esi + 0x6c]
test ax, ax
jne 0x4cf0ac
movdqa xmm0, xmmword [ebx]
add edi, 0xfffffe80
add ebx, 0x10
pmovmskb eax, xmm0
cmp ax, 0xffff
je 0x4cf093
not eax
lea edx, [eax - 1]
and edx, eax
tzcnt eax, eax
neg eax
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 - 0x14], 0
lea edx, [edi + eax*8]
je 0x4cf0f0
push dword [edx - 0x18]
push 0
push dword [0x919820]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x170], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x170]
mov ecx, dword [esi + 0xa0]
dec ecx
cmp dword [edx - 8], 0
je 0x4cf083
push dword [edx - 0xc]
push 0
push dword [0x919820]
mov dword [esi + 0xa0], ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0xa0]
jmp 0x4cf083
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x1ef7]
movzx edi, word [esi + 0x1ef5]
movzx ecx, word [esi + 0x1f01]
mov edx, ebx
movups xmm0, xmmword [esi + 0x1f04]
movzx ebx, byte [esi + 0x1ef4]
shl eax, 0x10
movaps xmmword [esi + 0x90], xmm0
or edi, eax
movzx eax, byte [esi + 0x1f03]
shl eax, 0x10
or ecx, eax
mov eax, dword [esi + 0x1efc]
test edx, edx
mov dword [esi + 0x140], ecx
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1ef8]
mov dword [esi + 0x100], eax
movzx eax, byte [esi + 0x1f00]
mov dword [esi + 0xc0], eax
je 0x4cf196
push dword [esi + 0x70]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x100]
mov ecx, edi
mov dword [esi + 0x120], eax
jmp 0x4cf368
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0x10]
mov dword [esi + 0x120], eax
jmp 0x4cf393
cmp dword [esi + 0x70], 0
je 0x4cf33f
mov ecx, dword [esi + 0x171c]
test ecx, ecx
je 0x4cf30a
mov edi, dword [esi + 0x100]
movdqa xmm0, xmmword [edi]
lea ebx, [edi + 0x10]
pmovmskb eax, xmm0
not eax
mov dword [esi + 0x30], eax
test ecx, ecx
je 0x4cf30a
mov eax, dword [esi + 0x30]
test ax, ax
jne 0x4cf214
movdqa xmm0, xmmword [ebx]
add edi, 0xfffffe80
add ebx, 0x10
pmovmskb eax, xmm0
cmp ax, 0xffff
je 0x4cf1fb
not eax
lea edx, [eax - 1]
and edx, eax
tzcnt eax, eax
neg eax
mov dword [esi + 0x30], edx
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 - 0x14], 0
lea edx, [edi + eax*8]
je 0x4cf252
push dword [edx - 0x18]
push 0
push dword [0x919820]
mov dword [esi + 0x10], ecx
mov dword [esi + 0xa0], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x10]
dec ecx
cmp dword [edx - 8], 0
je 0x4cf1eb
push dword [edx - 0xc]
push 0
push dword [0x919820]
mov dword [esi + 0x10], ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
jmp 0x4cf1eb
movzx edi, byte [esi + 0x1f03]
mov edx, ecx
movzx ecx, word [esi + 0x1f01]
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x1f00]
movups xmm0, xmmword [esi + 0x1f04]
mov dword [esi + 0x120], ebx
shl edi, 0x10
mov dword [esi + 0xc0], eax
movaps xmmword [esi + 0x90], xmm0
or ecx, edi
mov dword [esi + 0x140], ecx
mov ecx, edx
mov ebx, ecx
shr ecx, 8
jmp 0x4cf368
mov edi, dword [esi + 0x70]
mov ecx, 0x18
lea eax, [edi + 1]
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add edi, eax
cmp edi, 0xffffffef
je 0x4cf2f3
mov ecx, dword [esi + 0x100]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x10]
jmp 0x4cf4b7
mov ebx, 0x2b
xor edi, edi
jmp 0x4cf393
mov edi, dword [esi + 0x70]
mov ecx, 0x18
lea eax, [edi + 1]
mul ecx
mov ecx, edi
add eax, 0xf
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x4cf33f
mov ecx, dword [esi + 0x100]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x100]
mov ecx, dword [esi + 0x70]
mov ebx, 0x12
mov dword [esi + 0xc0], eax
jmp 0x4cf4c9
mov dword [esi + 0x10], 0x2b
mov ecx, dword [esi + 0x70]
mov dword [esi + 0xc0], eax
shl ecx, 8
movzx edi, bl
or edi, ecx
cmp dword [esi + 0xa0], 0
je 0x4cf38a
push dword [esi + 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x111c]
mov edx, dword [esi + 0xc0]
test eax, eax
mov dword [esi + 0xc0], edx
je 0x4cf4b7
mov ecx, dword [esi + 0x1124]
test ecx, ecx
je 0x4cf481
mov dword [esi + 0x10], ebx
mov ebx, dword [esi + 0x1118]
mov dword [esi + 0x170], eax
mov dword [esi + 0x30], edi
movdqa xmm0, xmmword [ebx]
lea edi, [ebx + 0x10]
mov dword [esi + 0x6c], ebx
pmovmskb eax, xmm0
not eax
mov dword [esi + 0xa0], eax
test ecx, ecx
je 0x4cf473
mov eax, dword [esi + 0xa0]
test ax, ax
jne 0x4cf40f
movdqa xmm0, xmmword [edi]
add ebx, 0xfffffe80
add edi, 0x10
pmovmskb eax, xmm0
cmp ax, 0xffff
je 0x4cf3f6
not eax
lea edx, [eax - 1]
and edx, eax
tzcnt eax, eax
neg eax
mov dword [esi + 0xa0], edx
lea eax, [eax + eax*2]
cmp dword [ebx + eax*8 - 0x14], 0
lea edx, [ebx + eax*8]
je 0x4cf450
push dword [edx - 0x18]
push 0
push dword [0x919820]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x100], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x100]
mov ecx, dword [esi + 0x70]
dec ecx
cmp dword [edx - 8], 0
je 0x4cf3e3
push dword [edx - 0xc]
push 0
push dword [0x919820]
mov dword [esi + 0x70], ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x70]
jmp 0x4cf3e3
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x170]
jmp 0x4cf48a
mov ecx, dword [esi + 0x1118]
mov dword [esi + 0x6c], ecx
mov ecx, eax
inc eax
mov edx, 0x18
mul edx
add eax, 0xf
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x4cf4b7
mov ecx, dword [esi + 0x6c]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x140]
mov dword [esi + 0x30], edi
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x12b4]
mov dword [esi + 0x120], edx
mov edx, dword [esi + 0x12b8]
mov dword [esi + 0xc], edx
mov edx, edi
movzx edi, byte [esi + 0xc0]
shl eax, 8
or edi, eax
mov eax, edi
mov dword [esi + 0xc0], 1
mov dword [esi + 0xa0], eax
mov dword [esi + 0x70], ecx
mov dword [esi + 0x100], edx
cmp dword [esi + 0x24c], 0
je 0x4cf524
push dword [esi + 0x248]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x42c], 0
mov dword [esi + 0x10], ebx
je 0x4cf54e
push dword [esi + 0x428]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x4248], 0x50
mov eax, dword [esi + 0x43c]
mov dword [esi + 0x4248], 0x50
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [esi + 0xc0], 0
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x100]
je 0x4cf813
mov dword [esi + 0x12a0], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x12a4], ebx
movdqa xmm0, xmmword [esi + 0x90]
mov dword [esi + 0x12a8], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x12ac], edi
mov dword [esi + 0x12b0], eax
mov eax, dword [esi + 0x120]
movdqu xmmword [esi + 0x12b4], xmm0
mov dword [esi + 0x12c4], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x12c8], eax
mov eax, dword [0x919aa8]
cmp eax, 1
jbe 0x4cf6c8
lea eax, [esi + 0x12a0]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1118]
mov dword [esi + 0x1118], eax
mov dword [esi + 0x111c], 0x691770
mov eax, dword [0x91975c]
mov dword [esi + 0x1f1c], 0x739854
mov dword [esi + 0x1f20], 1
mov dword [esi + 0x1f24], edx
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1f28], 1
mov dword [esi + 0x1f2c], 0
mov dword [esi + 0x1f10], 2
mov dword [esi + 0x1f14], 0x73fed0
mov dword [esi + 0x1f18], 0x1c
mov dword [esi + 0x1ef8], 0
mov dword [esi + 0x1f00], 0x1c
mov dword [esi + 0x1efc], 0x73fed0
mov dword [esi + 0x1f04], 0
mov dword [esi + 0x1f0c], 0x72
mov dword [esi + 0x1f08], 0x73fe26
mov dword [esi + 0x1ef0], 1
mov dword [esi + 0x1ef4], 0x6b
mov dword [esi + 0x4248], 0x57
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
lea ecx, [esi + 0x12a0]
call fcn.004a4cb0
mov dword [esi + 0x4248], 0x50
mov dword [esi + 0x4248], 0x50
call fcn.006bc750
test eax, eax
je 0x4eb01d
movdqu xmm1, xmmword [eax]
mov ebx, 0x8cdfe0
mov dword [esi + 0x70], 0
mov dword [esi + 0xa0], 0
movd edx, xmm1
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esi + 0x90], xmm1
add edx, 1
movd ecx, xmm0
adc ecx, 0
xor edi, edi
mov dword [eax], edx
mov dword [eax + 4], ecx
movzx eax, word [esi + 0x12a0]
movq xmm0, qword [esi + 0x2e0]
movq xmm1, qword [esi + 0x2e8]
movq xmm2, qword [esi + 0x1ef0]
xor ecx, ecx
mov word [esi + 0x3e0], ax
movzx eax, byte [esi + 0x12a2]
movq qword [esi + 0x270], xmm2
movq qword [esi + 0x278], xmm0
movq qword [esi + 0x280], xmm1
mov byte [esi + 0x3e2], al
mov al, 4
mov dword [esi + 0x30], eax
cmp dword [esi + 0x32c], 0
mov dword [esi + 0x10], ecx
je 0x4cf7a5
push dword [esi + 0x328]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp byte [esi + 0x50], 4
jne 0x4cf849
cmp byte [esi + 0x30], 4
je 0x4cf849
cmp byte [esi + 0x30], 3
jb 0x4cf849
mov eax, dword [esi + 0x404]
mov dword [esi + 0x100], ebx
mov dword [esi + 0x30], edi
mov ecx, dword [eax]
mov dword [esi + 0x50], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x4248], 0x5c
mov dword [esi + 0xc], ecx
push ecx
mov dword [esi + 0xc0], eax
call dword [eax]
add esp, 4
mov eax, dword [esi + 0xc0]
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x100]
cmp dword [eax + 4], 0
je 0x4cf835
cmp dword [eax + 8], 9
jae 0x4cf820
mov eax, dword [esi + 0xc]
jmp 0x4cf826
test ebx, ebx
jne 0x4cf730
jmp 0x4cf6dd
mov eax, dword [esi + 0xc]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x50]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x4f4], 0
je 0x4cf869
push dword [esi + 0x4f0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x504], 0
je 0x4cf889
push dword [esi + 0x500]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x514], 0
je 0x4cf8a9
push dword [esi + 0x510]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x524], 0
je 0x4cf8c9
push dword [esi + 0x520]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x534], 0
je 0x4cf8e9
push dword [esi + 0x530]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp byte [esi + 0x4ec], 2
je 0x4cf912
cmp dword [esi + 0x4e4], 0
je 0x4cf912
push dword [esi + 0x4e0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x10]
cmp cl, 2
jne 0x4cf948
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c0], edx
mov dword [esi + 0x18c], 0
mov dword [esi + 0x50], 2
mov ecx, dword [eax + 0x410]
mov ebx, dword [eax + 0x418]
mov dword [esi + 0xa0], ecx
jmp 0x4d21a9
mov eax, dword [esi + 0x70]
mov dword [esi + 0x1870], ebx
movaps xmm0, xmmword [esi + 0x90]
movsd xmm1, qword [esi + 0x278]
movq xmm2, qword [esi + 0x270]
mov dword [esi + 0x1874], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x1878], edi
mov dword [esi + 0x187c], eax
movups xmmword [esi + 0x1880], xmm0
mov dword [esi + 0x1890], 0
movsd qword [esi + 0x189c], xmm1
movsd xmm1, qword [esi + 0x280]
movzx eax, word [esi + 0x3e0]
movq qword [esi + 0x1894], xmm2
movsd qword [esi + 0x18a4], xmm1
mov byte [esi + 0x18ac], cl
mov word [esi + 0x18ad], ax
movzx eax, byte [esi + 0x3e2]
mov byte [esi + 0x18af], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4cf9f5
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eae2f
mov dword [0x919820], eax
push 0x40
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eae2f
mov ecx, dword [esi + 0x70]
mov dword [eax], ebx
movaps xmm0, xmmword [esi + 0x90]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0xa0]
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
mov ecx, dword [esi + 0x10]
movsd xmm0, qword [esi + 0x270]
movq xmm1, qword [esi + 0x278]
movsd qword [eax + 0x24], xmm0
movq qword [eax + 0x2c], xmm1
movq xmm0, qword [esi + 0x280]
movq qword [eax + 0x34], xmm0
mov byte [eax + 0x3c], cl
mov ecx, eax
movzx eax, word [esi + 0x3e0]
mov word [ecx + 0x3d], ax
movzx eax, byte [esi + 0x3e2]
mov byte [ecx + 0x3f], al
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1bc], ecx
mov byte [esi + 0xba], 1
mov dword [esi + 0x4248], 0x5f
mov edx, dword [eax + 0x410]
mov eax, dword [eax + 0x418]
mov dword [esi + 0xa0], edx
mov dword [esi + 0x70], eax
push 6
push 0x8bd842
mov dword [esi + 0x18c], ecx
push ecx
lea eax, [esi + 0x12a0]
push eax
call fcn.004a4df0
add esp, 0x10
mov edx, dword [esi + 0x12a0]
test edx, edx
je 0x4d0fbc
mov eax, dword [esi + 0x12a4]
lea edi, [esi + 0x1870]
mov dword [esi + 0x1878], 0
mov dword [esi + 0x1870], 1
mov dword [esi + 0x1874], 0x80
mov dword [esi + 0x4248], 0x78
lea ecx, [esi + 0x4e0]
mov dword [esi + 0xc], edx
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x12a8]
push edi
push eax
call fcn.00692d10
add esp, 8
mov eax, dword [esi + 0x4e0]
lea edx, [esi + 0x4fd]
cmp eax, 0x2c
jne 0x4d0fd1
movzx eax, word [edx]
movzx ecx, byte [edx + 2]
movq xmm0, qword [esi + 0x500]
mov word [esi + 0x1118], ax
mov eax, dword [esi + 0x4e4]
mov byte [esi + 0x111a], cl
mov dword [esi + 0x1ef0], eax
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0x1ef4], eax
mov eax, dword [esi + 0x4ec]
mov dword [esi + 0x1ef8], eax
mov eax, dword [esi + 0x4f0]
mov dword [esi + 0x1efc], eax
mov eax, dword [esi + 0x4f4]
mov dword [esi + 0x1f00], eax
mov eax, dword [esi + 0x4f8]
mov dword [esi + 0x1f04], eax
movzx eax, byte [esi + 0x4fc]
mov byte [esi + 0x1f08], al
movzx eax, byte [esi + 0x111a]
mov byte [esi + 0x1f0b], al
movzx eax, word [esi + 0x1118]
mov word [esi + 0x1f09], ax
mov eax, dword [esi + 0x508]
movq qword [esi + 0x1f0c], xmm0
test al, al
mov dword [esi + 0x1f14], eax
jne 0x4cfc02
lea edx, [esi + 0x1ef8]
lea ecx, [esi + 0x4e0]
push 0xe
push str.WindowSettings
call fcn.00690910
add esp, 8
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d1063
lea edx, [esi + 0x1ef8]
lea ecx, [esi + 0x4e0]
call fcn.0068dc50
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d1047
movzx eax, byte [esi + 0x1f14]
test al, al
mov byte [esi + 0x1d8], al
je 0x4d10f2
mov byte [esi + 0x1f14], 0
cmp dword [esi + 0x1ef0], 0
je 0x4cfc5c
mov eax, dword [esi + 0x1ef4]
test eax, eax
je 0x4d1150
dec eax
mov dword [esi + 0x1ef4], eax
lea edi, [esi + 0x1ef0]
mov al, 2
mov ebx, 2
mov dword [esi + 0xf0], 2
mov dword [esi + 0xc0], 0
mov dword [esi + 0x1118], edi
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x15c], eax
mov dword [esi + 0xbc], eax
mov word [esi + 0x111c], 0x129
mov dword [esi + 0xd0], eax
lea edx, [edi + 8]
lea ecx, [esi + 0x4e0]
call fcn.0068dc50
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d1162
cmp dword [edi + 0xc], 0
mov eax, 3
je 0x4d12a8
mov ecx, dword [edi + 8]
mov edx, dword [esi + 0x1c0]
test ecx, ecx
je 0x4d12a8
movzx ecx, byte [ecx]
cmp byte [esi + 0x111d], 0
movzx eax, byte [esi + 0x111c]
mov edi, dword [esi + 0x100]
mov dword [esi + 0x50], ebx
je 0x4d121f
cmp cl, al
setne cl
je 0x4d122a
cmp al, 0x29
mov eax, dword [esi + 0x1118]
mov byte [esi + 0x1f0], cl
mov dword [esi + 0x10], eax
mov eax, dword [eax]
jne 0x4cfd92
mov edx, dword [esi + 0x10]
test eax, eax
je 0x4cfd37
mov eax, dword [edx + 4]
test eax, eax
je 0x4d129b
dec eax
mov dword [edx + 4], eax
add edx, 8
lea ecx, [esi + 0x4e0]
call fcn.0068dfe0
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e4]
mov edi, dword [esi + 0x4e8]
cmp eax, 0x2c
jne 0x4cfe03
lea ecx, [esi + 0x1870]
push edi
call fcn.0042b970
add esp, 4
cmp dword [esi + 0x1870], 0
je 0x4d03c3
mov edx, dword [esi + 0x1874]
mov edi, dword [esi + 0x1878]
mov eax, 0x21
jmp 0x4cfe5c
mov edx, dword [esi + 0x10]
test eax, eax
je 0x4cfda8
mov eax, dword [edx + 4]
test eax, eax
je 0x4d129b
dec eax
mov dword [edx + 4], eax
add edx, 8
lea ecx, [esi + 0x4e0]
call fcn.0068dfe0
mov eax, dword [esi + 0x4e0]
mov edx, dword [esi + 0x4e4]
mov edi, dword [esi + 0x4e8]
cmp eax, 0x2c
jne 0x4cff19
lea ecx, [esi + 0x1870]
push edi
call fcn.0042b970
add esp, 4
cmp dword [esi + 0x1870], 0
je 0x4d0425
mov edx, dword [esi + 0x1874]
mov edi, dword [esi + 0x1878]
mov eax, 0x21
jmp 0x4cff72
mov ecx, dword [esi + 0x4ec]
mov ebx, edx
mov dword [esi + 0x3a0], ecx
mov ecx, dword [esi + 0x4f0]
mov dword [esi + 0x1830], ecx
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0x1820], ecx
lea ecx, [esi + 0x4fd]
mov edx, ecx
mov ecx, dword [ecx]
mov dword [esi + 0x1710], ecx
mov ecx, dword [edx + 3]
mov edx, ebx
mov dword [esi + 0x1713], ecx
mov ecx, dword [esi + 0x4f4]
mov dword [esi + 0x394], ecx
mov ch, byte [esi + 0x4fc]
mov byte [esi + 0x2d4], ch
mov ecx, edx
mov ebx, dword [esi + 0x100]
mov dword [esi + 0xd0], edx
mov dword [esi + 0x240], edx
mov dword [esi + 0x1a8], edi
shr ecx, 8
mov dword [esi + 0x1b8], ecx
mov ecx, dword [esi + 0x1713]
mov dword [esi + 0x4e3], ecx
mov ecx, dword [esi + 0x1710]
mov dword [esi + 0x4e0], ecx
mov ecx, edx
mov edi, dword [esi + 0x10]
cmp dword [edi], 0
je 0x4cfeb0
mov ecx, dword [edi + 4]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x4e3]
mov ecx, dword [esi + 0x4e0]
mov dword [esi + 0x42b], edx
mov dword [esi + 0x428], ecx
mov ecx, dword [esi + 0x1b8]
mov dword [esi + 0x170], ecx
mov ecx, dword [esi + 0x1a8]
mov dword [esi + 0xfc], ecx
mov ecx, dword [esi + 0x3a0]
mov dword [esi + 0x140], ecx
mov ecx, dword [esi + 0x1830]
mov dword [esi + 0xec], ecx
movzx ecx, byte [esi + 0x2d4]
mov byte [esi + 0x6c], cl
mov ecx, dword [esi + 0x394]
mov dword [esi + 0x13c], ecx
mov ecx, dword [esi + 0x1820]
jmp 0x4d002a
mov ecx, dword [esi + 0x4ec]
mov ebx, edx
mov dword [esi + 0x1840], ecx
mov ecx, dword [esi + 0x4f0]
mov dword [esi + 0x39c], ecx
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0x398], ecx
lea ecx, [esi + 0x4fd]
mov edx, ecx
mov ecx, dword [ecx]
mov dword [esi + 0x1710], ecx
mov ecx, dword [edx + 3]
mov edx, ebx
mov dword [esi + 0x1713], ecx
mov ecx, dword [esi + 0x4f4]
mov dword [esi + 0x390], ecx
mov ch, byte [esi + 0x4fc]
mov byte [esi + 0x2d0], ch
mov ecx, edx
mov ebx, dword [esi + 0x100]
mov dword [esi + 0xd0], edx
mov dword [esi + 0x244], edx
mov dword [esi + 0x2c8], edi
shr ecx, 8
mov dword [esi + 0x1d4], ecx
mov ecx, dword [esi + 0x1713]
mov dword [esi + 0x4e3], ecx
mov ecx, dword [esi + 0x1710]
mov dword [esi + 0x4e0], ecx
mov ecx, edx
mov edi, dword [esi + 0x10]
cmp dword [edi], 0
je 0x4cffc6
mov ecx, dword [edi + 4]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x4e3]
mov ecx, dword [esi + 0x4e0]
mov dword [esi + 0x42b], edx
mov dword [esi + 0x428], ecx
mov ecx, dword [esi + 0x1d4]
mov dword [esi + 0x170], ecx
mov ecx, dword [esi + 0x2c8]
mov dword [esi + 0xfc], ecx
mov ecx, dword [esi + 0x1840]
mov dword [esi + 0x140], ecx
mov ecx, dword [esi + 0x39c]
mov dword [esi + 0xec], ecx
movzx ecx, byte [esi + 0x2d0]
mov byte [esi + 0x6c], cl
mov ecx, dword [esi + 0x390]
mov dword [esi + 0x13c], ecx
mov ecx, dword [esi + 0x398]
mov dword [esi + 0xf8], ecx
mov edx, dword [esi + 0x1c0]
mov ecx, dword [esi + 0xf0]
cmp eax, 0x2c
jne 0x4d12a0
mov eax, dword [esi + 0xd0]
cmp al, 4
ja 0x4d0168
movzx eax, al
mov edi, ebx
mov eax, dword [eax*4 + 0x4efbe0]
add eax, dword [esi + 0x160]
jmp eax
lea ecx, [esi + 0x4e0]
lea edx, [esi + 0x1118]
call fcn.00482a40
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d185e
mov edi, dword [esi + 0x1118]
mov ebx, dword [esi + 0x50]
jmp 0x4cfca4
mov ecx, dword [esi + 0x1878]
mov eax, dword [esi + 0x1874]
mov edx, dword [esi + 0x10]
cmp ecx, 0x11
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ecx
je 0x4d04d4
mov ebx, dword [esi + 0x100]
cmp ecx, 0xa
je 0x4d0483
cmp ecx, 8
jne 0x4d0509
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, 0x69736f70
mov edi, 0x6e6f6974
xor ecx, edx
xor eax, edi
or eax, ecx
jne 0x4d0509
mov ecx, dword [esi + 0x240]
and ecx, 0xffffff00
jmp 0x4d0518
mov ecx, dword [esi + 0x1878]
mov eax, dword [esi + 0x1874]
mov edx, dword [esi + 0x10]
cmp ecx, 0x11
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ecx
je 0x4d053a
mov ebx, dword [esi + 0x100]
cmp ecx, 0xa
je 0x4d04a8
cmp ecx, 8
jne 0x4d056b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, 0x69736f70
mov edi, 0x6e6f6974
xor ecx, edx
xor eax, edi
or eax, ecx
jne 0x4d056b
mov ecx, dword [esi + 0x244]
and ecx, 0xffffff00
jmp 0x4d057a
push 0xa
push str.fullscreen
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4d0509
mov ecx, dword [esi + 0x240]
and ecx, 0xffffff00
or ecx, 1
jmp 0x4d0518
push 0xa
push str.fullscreen
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4d056b
mov ecx, dword [esi + 0x244]
and ecx, 0xffffff00
or ecx, 1
jmp 0x4d057a
movdqu xmm0, xmmword [eax]
movzx eax, byte [eax + 0x10]
mov ebx, dword [esi + 0x100]
movd xmm1, eax
pcmpeqb xmm0, xmmword [0x726050]
pcmpeqb xmm1, xmmword [0x726060]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x4d059c
mov ecx, dword [esi + 0x240]
and ecx, 0xffffff00
or ecx, 3
mov eax, 0x2c
mov dword [esi + 0x240], ecx
mov dword [esi + 0xd0], ecx
mov edi, dword [esi + 0x10]
cmp dword [edi], 0
jne 0x4cfea1
jmp 0x4cfeb0
movdqu xmm0, xmmword [eax]
movzx eax, byte [eax + 0x10]
mov ebx, dword [esi + 0x100]
movd xmm1, eax
pcmpeqb xmm0, xmmword [0x726050]
pcmpeqb xmm1, xmmword [0x726060]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
je 0x4d05b0
mov ecx, dword [esi + 0x244]
and ecx, 0xffffff00
or ecx, 3
mov eax, 0x2c
mov dword [esi + 0x244], ecx
mov dword [esi + 0xd0], ecx
mov edi, dword [esi + 0x10]
cmp dword [edi], 0
jne 0x4cffb7
jmp 0x4cffc6
mov ecx, dword [esi + 0x240]
and ecx, 0xffffff00
or ecx, 2
jmp 0x4d0518
mov ecx, dword [esi + 0x244]
and ecx, 0xffffff00
or ecx, 2
jmp 0x4d057a
mov ebx, dword [esi + 0x70]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x50], 2
jmp 0x4d21a6
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4e4]
movzx ecx, byte [edx + 2]
mov edi, dword [esi + 0x500]
movq xmm0, qword [esi + 0x504]
mov ebx, dword [esi + 0x70]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4e8]
mov byte [esi + 0x1712], cl
movzx ecx, word [edx]
mov edx, dword [esi + 0x4f4]
mov dword [esi + 0xd0], edi
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x4ec]
mov word [esi + 0x1710], cx
mov ecx, dword [esi + 0x4f0]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x4f8]
mov dword [esi + 0x30], eax
movzx eax, byte [esi + 0x4fc]
mov dword [esi + 0x1c0], eax
jmp 0x4d1f6e
mov ebx, dword [esi + 0x4e4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4e8]
mov edx, ebx
mov dword [esi + 0x100], eax
shr edx, 8
jmp 0x4d108c
movzx ecx, byte [esi + 0x4e7]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4e8]
movzx edx, word [esi + 0x4e5]
movzx ebx, byte [esi + 0x4e4]
shl ecx, 0x10
mov dword [esi + 0x100], eax
or edx, ecx
movzx ecx, word [esi + 0x4fd]
mov edi, dword [esi + 0x4f0]
mov eax, dword [esi + 0x4ec]
mov word [esi + 0x400], cx
movzx ecx, byte [esi + 0x4ff]
mov dword [esi + 0xf0], edi
mov edi, dword [esi + 0x4f4]
mov dword [esi + 0xc0], eax
mov byte [esi + 0x402], cl
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0x120], edi
mov dword [esi + 0x30], ecx
movzx ecx, byte [esi + 0x4fc]
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x500]
mov dword [esi + 0xd0], ecx
jmp 0x4d1f31
mov ecx, dword [esi + 0x1efc]
mov edx, str.WindowSettings
mov dword [esi + 0x100], 0xe
shr edx, 8
test ecx, ecx
je 0x4d1139
mov edi, dword [esi + 0x1ef8]
cmp byte [edi], 0x28
jne 0x4d1139
cmp byte [edi], 0xa
jne 0x4d11eb
mov eax, dword [esi + 0x1f04]
inc eax
mov dword [esi + 0x1f04], eax
mov eax, 1
jmp 0x4d11f2
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x10], 0x15
mov ebx, str.WindowSettings
jmp 0x4d1f2b
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x10], 0x2b
jmp 0x4d1f2b
movzx edi, byte [esi + 0x4e7]
movzx edx, word [esi + 0x4e5]
movzx ecx, byte [esi + 0x4e4]
movzx ebx, byte [esi + 0x4fc]
shl edi, 0x10
mov byte [esi + 0x1f0], cl
mov byte [esi + 0x6c], bl
or edx, edi
mov edi, dword [esi + 0x4fd]
mov dword [esi + 0x170], edx
mov edx, dword [esi + 0x4ec]
mov dword [esi + 0x1870], edi
mov edi, dword [esi + 0x4e8]
mov dword [esi + 0x140], edx
mov edx, dword [esi + 0x500]
mov dword [esi + 0xfc], edi
mov edi, dword [esi + 0x4f8]
mov dword [esi + 0x1873], edx
mov edx, dword [esi + 0x4f0]
mov dword [esi + 0xf8], edi
mov dword [esi + 0xec], edx
mov edx, dword [esi + 0x4f4]
mov dword [esi + 0x13c], edx
jmp 0x4d12a8
mov eax, dword [esi + 0x1f08]
inc eax
dec ecx
inc edi
mov dword [esi + 0x1f08], eax
mov dword [esi + 0x1ef8], edi
mov dword [esi + 0x1efc], ecx
mov byte [esi + 0x1f14], 0
cmp dword [esi + 0x1ef0], 0
jne 0x4cfc47
jmp 0x4cfc5c
cmp cl, al
je 0x4d122a
mov eax, 9
jmp 0x4d12a8
mov ecx, dword [esi + 0xf0]
cmp dl, 2
jne 0x4d1261
mov dword [esi + 0x198], 0xa
mov eax, 0x27
mov dword [esi + 0x230], str.fullscreen
xor edx, edx
mov dword [esi + 0x19c], 0
xor ecx, ecx
jmp 0x4d1cb0
mov ebx, dword [esi + 0x50]
xor eax, eax
cmp ebx, 2
cmove ebx, eax
and dl, 1
cmp ecx, 2
cmove ecx, eax
movzx eax, word [esi + 0x270]
mov dword [esi + 0xf0], ecx
movzx ecx, byte [esi + 0x272]
mov word [esi + 0x328], ax
mov byte [esi + 0x32a], cl
jmp 0x4d1db6
mov eax, 0x2b
mov edx, dword [esi + 0xd0]
jmp 0x4d12c9
mov edx, dword [esi + 0x1873]
mov ecx, dword [esi + 0x1870]
mov dword [esi + 0x42b], edx
movzx edx, byte [esi + 0x1f0]
mov dword [esi + 0x428], ecx
mov edx, edx
mov ecx, dword [esi + 0x42b]
mov edi, dword [esi + 0x170]
movzx ebx, byte [esi + 0x6c]
mov dword [esi + 0x273], ecx
mov ecx, dword [esi + 0x428]
mov byte [esi + 0x310], bl
mov ebx, dword [esi + 0x140]
mov dword [esi + 0x270], ecx
mov ecx, edi
mov edi, dword [esi + 0x13c]
mov dword [esi + 0xc0], ebx
mov dword [esi + 0x198], edi
mov edi, dword [esi + 0xf8]
mov dword [esi + 0x19c], edi
mov edi, dword [esi + 0xec]
mov dword [esi + 0x230], edi
mov edi, dword [esi + 0xfc]
jmp 0x4d1cb0
mov ecx, dword [esi + 0x4fd]
mov edx, dword [esi + 0x4e4]
mov edi, dword [esi + 0x4e8]
mov dword [esi + 0x270], ecx
mov ecx, dword [esi + 0x500]
mov ebx, edx
shr ebx, 8
mov dword [esi + 0x273], ecx
mov ecx, dword [esi + 0x4ec]
mov dword [esi + 0xc0], ecx
movzx ecx, byte [esi + 0x4fc]
mov byte [esi + 0x310], cl
mov ecx, dword [esi + 0x4f0]
mov dword [esi + 0x230], ecx
jmp 0x4d1903
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0x19c], ecx
mov ecx, dword [esi + 0x4f4]
mov dword [esi + 0x198], ecx
jmp 0x4d1c5d
mov ecx, ebx
jmp 0x4d1cb0
shl ecx, 8
mov dword [esi + 0x4e0], eax
mov ebx, ecx
movzx ecx, dl
mov edx, dword [esi + 0x230]
or ecx, ebx
mov dword [esi + 0x4e4], ecx
mov dword [esi + 0x4e8], edi
mov edi, dword [esi + 0xc0]
movzx ecx, byte [esi + 0x310]
mov dword [esi + 0x4ec], edi
mov dword [esi + 0x4f0], edx
mov edi, dword [esi + 0x198]
mov edx, dword [esi + 0x19c]
mov dword [esi + 0x4f4], edi
mov dword [esi + 0x4f8], edx
mov byte [esi + 0x4fc], cl
mov ecx, dword [esi + 0x270]
xor edx, edx
cmp byte [esi + 0x1d8], 0
mov edi, str.WindowSettings
mov dword [esi + 0x4fd], ecx
mov ecx, dword [esi + 0x273]
cmovne edi, edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x500], ecx
lea ecx, [esi + 0x1870]
push 0xe
push edi
call fcn.006934f0
add esp, 8
mov edx, dword [esi + 0x1870]
movzx ecx, word [esi + 0x188d]
mov eax, dword [esi + 0x187c]
mov ebx, dword [esi + 0x1874]
mov edi, dword [esi + 0x1878]
mov word [esi + 0x328], cx
movzx ecx, byte [esi + 0x188f]
mov dword [esi + 0x10], edx
cmp edx, 0x2c
mov edx, dword [esi + 0x1884]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x1880]
mov byte [esi + 0x32a], cl
mov ecx, dword [esi + 0x1888]
mov dword [esi + 0x120], edx
movzx edx, byte [esi + 0x188c]
mov dword [esi + 0xf0], eax
mov dword [esi + 0x30], ecx
jne 0x4d1e7c
movzx eax, byte [esi + 0x32a]
movzx ecx, word [esi + 0x328]
cmp dword [esi + 0x1ef0], 0
mov dword [esi + 0x1c0], edx
mov word [esi + 0x2e0], cx
mov byte [esi + 0x2e2], al
je 0x4d1df5
mov eax, dword [esi + 0x1ef4]
mov ecx, 0xffffffff
inc eax
cmovne ecx, eax
mov dword [esi + 0x1ef4], ecx
lea ecx, [esi + 0x4e0]
lea edx, [esi + 0x1ef8]
call fcn.0068dc50
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d1eb6
cmp byte [esi + 0x1d8], 0
je 0x4d8bc4
movzx ecx, word [esi + 0x2e0]
movzx eax, byte [esi + 0x2e2]
lea edx, [esi + 0x1ef8]
mov word [esi + 0x2b0], cx
lea ecx, [esi + 0x4e0]
mov byte [esi + 0x2b2], al
call fcn.0068dc50
mov eax, dword [esi + 0x4e0]
cmp eax, 0x2c
jne 0x4d8c0e
cmp dword [esi + 0x1efc], 0
je 0x4d8d56
mov dword [esi + 0x10], 0x22
mov dword [esi + 0x1c0], edx
jmp 0x4d8c87
mov dword [esi + 0x1c0], edx
movzx edx, byte [esi + 0x32a]
mov dword [esi + 0x100], edi
mov eax, dword [esi + 0x1890]
movzx edi, word [esi + 0x328]
mov byte [esi + 0x402], dl
mov edx, ebx
mov word [esi + 0x400], di
mov dword [esi + 0xd0], eax
shr edx, 8
jmp 0x4d1f31
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4e8]
movzx ecx, word [esi + 0x4fd]
mov ebx, dword [esi + 0x4e4]
mov edi, dword [esi + 0x4ec]
mov dword [esi + 0x100], eax
mov word [esi + 0x400], cx
movzx ecx, byte [esi + 0x4ff]
mov eax, dword [esi + 0x4f0]
mov edx, ebx
shr edx, 8
mov byte [esi + 0x402], cl
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x4f8]
movzx ecx, byte [esi + 0x4fc]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x4f4]
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x500]
mov dword [esi + 0x120], eax
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xc0], edi
movzx eax, bl
shl edx, 8
movzx ebx, word [esi + 0x400]
or eax, edx
movzx edx, byte [esi + 0x402]
mov dword [esi + 0x50], eax
mov word [esi + 0x1710], bx
mov byte [esi + 0x1712], dl
movq xmm0, qword [esi + 0x1f04]
mov ebx, dword [esi + 0x70]
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0x120]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x50]
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], edi
mov edi, dword [esi + 0x100]
mov dword [esi + 0x1ef8], edi
mov edi, dword [esi + 0xc0]
mov dword [esi + 0x1efc], edi
mov dword [esi + 0x1f00], ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x1f04], edx
movzx edx, word [esi + 0x1710]
mov dword [esi + 0x1f08], ecx
mov ecx, dword [esi + 0x1c0]
mov byte [esi + 0x1f0c], cl
mov word [esi + 0x1f0d], dx
movzx edx, byte [esi + 0x1712]
mov ecx, dword [esi + 0xd0]
mov byte [esi + 0x1f0f], dl
mov dword [esi + 0x1f10], ecx
movq qword [esi + 0x1f14], xmm0
mov ecx, dword [0x919aa8]
cmp ecx, 1
jbe 0x4d20f0
lea eax, [esi + 0x1ef0]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1870]
mov dword [esi + 0x1870], eax
mov dword [esi + 0x1874], 0x691770
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73dcd0
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 1
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 2
mov dword [esi + 0x504], 0x73dcac
mov dword [esi + 0x508], 0xb
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0xb
mov dword [esi + 0x4ec], 0x73dcac
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x66
mov dword [esi + 0x4f8], 0x73dc33
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x456
mov dword [esi + 0x4248], 0x79
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esi + 0x1ef0]
mov ebx, dword [esi + 0x70]
cmp eax, 0x2a
ja 0x4d217f
mov eax, dword [eax*4 + 0x4efbf4]
lea edi, [esi + 0x1ef4]
add eax, dword [esi + 0x160]
jmp eax
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x50], 2
cmp dword [esi + 0x90], 0
je 0x4d21a6
push dword [esi + 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 0x418]
mov edi, dword [eax + 0x3d0]
xor edx, edx
mov dword [esi + 0x2d0], ecx
mov dword [esi + 0x70], ebx
test edi, edi
je 0x4d2279
mov edx, dword [eax + 0x3d8]
test edx, edx
mov dword [esi + 0xd0], edx
je 0x4d2244
setns bl
js 0x4ead87
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d2206
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edx, dword [esi + 0xd0]
test eax, eax
je 0x4d221a
mov dword [0x919820], eax
push edx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0xd0]
test eax, eax
jne 0x4d2249
mov eax, dword [esi + 0x18c]
movzx ecx, bl
mov byte [esi + 0xba], 1
mov dword [esi + 0x4248], 0x5f
mov dword [esi + 0x1bc], eax
call fcn.00709d20
jmp 0x4ec964
mov eax, 1
push edx
push edi
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 0xd0]
add esp, 0xc
test cl, 3
je 0x4d3114
push edi
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x70]
xor edx, edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x1858], edx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d22a5
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4ea9fb
mov dword [0x919820], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4ea9fb
mov dword [eax + 8], 0x776f646e
mov dword [eax + 4], 0x69772074
mov dword [eax], 0x696e6977
mov edi, eax
mov dword [esi + 0x4f8], 0xd
test ebx, ebx
movsd xmm0, qword [esi + 0x2e0]
mov eax, dword [esi + 0x2e8]
movsd xmm1, qword [esi + 0x1878]
movsd xmm2, qword [esi + 0x1870]
movsd xmm3, qword [esi + 0x12a0]
mov ecx, dword [esi + 0x32b]
mov dword [esi + 0x30], edi
mov dword [esi + 0x504], eax
movsd qword [esi + 0x4fc], xmm0
mov dword [esi + 0x508], 2
movsd qword [esi + 0x514], xmm1
mov eax, dword [esi + 0x1880]
movsd xmm1, qword [esi + 0x12a8]
movsd qword [esi + 0x50c], xmm2
movsd xmm2, qword [esi + 0x1118]
mov dword [esi + 0x51c], eax
mov dword [esi + 0x520], 2
movsd qword [esi + 0x52c], xmm1
mov eax, dword [esi + 0x12b0]
movsd xmm1, qword [esi + 0x1120]
movsd qword [esi + 0x524], xmm3
movsd xmm3, qword [esi + 0x428]
mov dword [esi + 0x534], eax
mov dword [esi + 0x538], 2
movsd qword [esi + 0x544], xmm1
mov eax, dword [esi + 0x1128]
movsd xmm1, qword [esi + 0x430]
movsd qword [esi + 0x53c], xmm2
movsd xmm2, qword [esi + 0x270]
mov dword [esi + 0x54c], eax
mov dword [esi + 0x550], 2
movsd qword [esi + 0x55c], xmm1
mov eax, dword [esi + 0x438]
movsd xmm1, qword [esi + 0x278]
movsd qword [esi + 0x554], xmm3
movsd xmm3, qword [esi + 0x1ef0]
mov dword [esi + 0x564], eax
mov dword [esi + 0x568], 2
movsd qword [esi + 0x574], xmm1
mov eax, dword [esi + 0x280]
movsd xmm1, qword [esi + 0x1ef8]
movsd qword [esi + 0x56c], xmm2
movsd xmm2, qword [esi + 0x1f00]
mov dword [esi + 0x57c], eax
mov dword [esi + 0x580], 7
mov dword [esi + 0x584], 0
mov dword [esi + 0x588], edi
mov dword [esi + 0x58c], 0xc
mov dword [esi + 0x590], 0xc
mov dword [esi + 0x594], 0
movsd qword [esi + 0x5a0], xmm1
movsd xmm1, qword [0x726070]
mov eax, dword [esi + 0x328]
movsd qword [esi + 0x598], xmm3
movsd qword [esi + 0x5a8], xmm2
movsd qword [esi + 0x5b0], xmm1
mov byte [esi + 0x5b8], 1
mov dword [esi + 0x5b9], eax
mov dword [esi + 0x5bc], ecx
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4f4], 0x100
je 0x4d2516
setns al
js 0x4eabc0
mov byte [esi + 0x90], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d24fd
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eaa75
mov dword [0x919820], eax
mov ebx, dword [esi + 0x70]
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eaa75
mov edi, dword [esi + 0x70]
mov ebx, eax
jmp 0x4d251d
mov ebx, 1
xor edi, edi
push edi
push dword [esi + 0xa0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x30]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x588], ebx
mov dword [esi + 0x58c], edi
mov dword [esi + 0x590], edi
lea ecx, [esi + 0x1ef0]
mov edi, dword [esi + 0x594]
push 0xb4
lea eax, [esi + 0x4e0]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x5a0]
mov ebx, dword [esi + 0x2c]
test edi, edi
movzx ecx, word [esi + 0x5b0]
mov dh, byte [esi + 0x5bf]
mov eax, dword [esi + 0x598]
movzx edi, word [esi + 0x5b3]
movsd qword [esi + 0x1870], xmm0
movsd xmm0, qword [esi + 0x5a8]
mov dl, byte [ebx + 0x3fc]
movzx ebx, byte [ebx + 0x3fd]
mov word [esi + 0x30], cx
mov byte [esi + 0x12a8], dh
movsd qword [esi + 0x1878], xmm0
movsd xmm0, qword [esi + 0x5b7]
mov byte [esi + 0x70], dl
movsd qword [esi + 0x12a0], xmm0
je 0x4d25ef
test eax, eax
je 0x4d25ef
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push 0xb4
lea eax, [esi + 0x1ef0]
push eax
lea eax, [esi + 0x4e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x2c]
movsd xmm0, qword [esi + 0x1870]
movsd xmm1, qword [esi + 0x1878]
movzx ecx, word [esi + 0x30]
and edi, 0xffffff00
movzx eax, byte [edx + 0x3fb]
movsd qword [esi + 0x5a0], xmm0
movsd qword [esi + 0x5a8], xmm1
mov dword [esi + 0x594], ebx
mov dword [esi + 0x598], 0
mov dword [esi + 0x59c], 0
mov word [esi + 0x5b0], cx
movzx ecx, byte [edx + 0x3ff]
movsd xmm0, qword [esi + 0x12a0]
or eax, edi
mov byte [esi + 0x5b2], cl
movsd qword [esi + 0x1118], xmm0
mov word [esi + 0x5b3], ax
movzx eax, byte [esi + 0x12a8]
movsd xmm0, qword [esi + 0x1118]
mov byte [esi + 0x1120], al
movzx eax, byte [edx + 0x400]
mov byte [esi + 0x5b5], al
movzx eax, byte [esi + 0x70]
mov byte [esi + 0x5b6], al
movzx eax, byte [esi + 0x1120]
movsd qword [esi + 0x5b7], xmm0
mov byte [esi + 0x5bf], al
mov eax, dword [esi + 0x584]
test eax, eax
je 0x4d26ea
lock dec dword [eax]
jne 0x4d26ea
mov ecx, dword [esi + 0x584]
mov dword [esi + 0x4248], 0x72
call fcn.004f31c0
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x1870]
mov dword [esi + 0x584], eax
push 0xd8
lea eax, [esi + 0x4e0]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x5b9]
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5bc]
mov dword [esi + 0x12a0], eax
movzx eax, byte [edi + 0x402]
mov dword [esi + 0x12a3], ecx
mov byte [esi + 0x10], al
push 0xd4
push ebx
lea eax, [esi + 0x1ef0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0x1947]
movzx eax, word [esi + 0x1945]
mov byte [esi + 0x1fc4], 0
cmp dword [edi + 0x3b8], 0
movzx ebx, byte [esi + 0x10]
mov edx, dword [esi + 0x12a0]
mov byte [esi + 0x1fc7], cl
mov ecx, dword [esi + 0x12a3]
mov word [esi + 0x1fc5], ax
mov byte [esi + 0x1fc8], bl
mov dword [esi + 0x1fc9], edx
mov word [esi + 0x4e0], ax
mov dword [esi + 0x1fcc], ecx
je 0x4d27b4
cvtps2pd xmm0, qword [edi + 0x3bc]
mov dword [esi + 0x1f30], 1
movups xmmword [esi + 0x1f38], xmm0
cmp dword [edi + 0x3c4], 0
je 0x4d27d5
cvtps2pd xmm0, qword [edi + 0x3c8]
mov dword [esi + 0x1f48], 1
movups xmmword [esi + 0x1f50], xmm0
push 0xe0
lea eax, [esi + 0x1ef0]
push eax
lea eax, [esi + 0x4e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ebx, byte [edi + 0x3fe]
lea eax, [esi + 0x4f6]
lea ecx, [esi + 0x1f06]
push 0xca
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x50], 2
mov byte [esi + 0x1f05], bl
jne 0x4d28aa
cmp dword [edi + 0x3a0], 0
je 0x4d2843
cvtps2pd xmm0, qword [edi + 0x3a4]
mov dword [esi + 0x1f60], 1
movups xmmword [esi + 0x1f68], xmm0
cmp dword [edi + 0x3ac], 0
je 0x4d321a
movsd xmm0, qword [edi + 0x3b0]
mov dword [esi + 0x4248], 0x61
movaps xmmword [esi + 0x10], xmm0
call fcn.004f3f10
movaps xmm3, xmmword [esi + 0x10]
mov edi, dword [esi + 0x2c]
unpcklps xmm0, xmm1
mov dword [esi + 0x1f18], 1
movaps xmm2, xmm0
movaps xmm1, xmm3
minps xmm0, xmm3
mov eax, dword [edi + 0x3ac]
cmpunordps xmm1, xmm3
andps xmm2, xmm1
andnps xmm1, xmm0
orps xmm1, xmm2
cvtps2pd xmm0, xmm1
movups xmmword [esi + 0x1f20], xmm0
jmp 0x4d321c
mov dword [esi + 0x4248], 0x61
call fcn.004f3f10
mov ecx, dword [esi + 0xf0]
mov eax, dword [esi + 0x50]
test ecx, ecx
je 0x4d323d
movaps xmm2, xmmword [0x726080]
movaps xmm4, xmmword [esi + 0x1f0]
unpcklps xmm0, xmm1
test eax, eax
movaps xmm1, xmm0
sete al
movaps xmm3, xmm2
maxps xmm3, xmm4
cmpunordps xmm4, xmm4
andps xmm2, xmm4
andnps xmm4, xmm3
orps xmm4, xmm2
minps xmm1, xmm4
cmpunordps xmm4, xmm4
andps xmm0, xmm4
andnps xmm4, xmm1
orps xmm4, xmm0
movaps xmmword [esi + 0x1f0], xmm4
je 0x4d39ec
test ecx, ecx
je 0x4d39ec
mov byte [esi + 0x1d8], al
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4e0], 4
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4248], 0x71
push eax
push 0x6fc0e0
push 0
push 0
call dword [sym.imp.user32.dll_EnumDisplayMonitors]
movsd xmm0, qword [esi + 0x4e0]
movsd xmm1, qword [esi + 0x4e8]
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4e4], 0
mov byte [esi + 0x8f], 1
mov dword [esi + 0x4248], 0x65
movsd qword [esi + 0x12a8], xmm1
movsd qword [esi + 0x12a0], xmm0
sub esp, 0xc
movsd xmm0, qword [esi + 0x4e0]
movsd qword [esp], xmm0
mov dword [esp + 8], 1
call dword [sym.imp.user32.dll_MonitorFromPoint]
mov dword [esi + 0xbc], eax
movaps xmm1, xmmword [esi + 0x1f0]
movss xmm0, dword [0x7255a8]
mov eax, 0x7fffffff
movss xmm2, dword [esi + 0x100]
cvttss2si ecx, xmm1
ucomiss xmm1, xmm0
movaps xmm3, xmm1
movss dword [esi + 0x310], xmm2
cmova ecx, eax
xor edx, edx
ucomiss xmm1, xmm1
shufps xmm3, xmm1, 0x55
movss xmm1, dword [esi + 0xc0]
cmovp ecx, edx
ucomiss xmm3, xmm0
movaps xmmword [esi + 0x230], xmm3
mov dword [esi + 0x140], ecx
cvttss2si ecx, xmm3
cmova ecx, eax
ucomiss xmm3, xmm3
cmovp ecx, edx
ucomiss xmm2, xmm0
movss dword [esi + 0x1b8], xmm1
mov dword [esi + 0x1d4], ecx
cvttss2si ecx, xmm2
cmova ecx, eax
ucomiss xmm2, xmm2
cmovp ecx, edx
ucomiss xmm1, xmm0
movsd xmm0, qword [esi + 0x12a0]
mov dword [esi + 0xc0], ecx
cvttss2si ecx, xmm1
cmova ecx, eax
ucomiss xmm1, xmm1
cmovp ecx, edx
movsd qword [esi + 0x1870], xmm0
movsd xmm0, qword [esi + 0x12a8]
mov dword [esi + 0x1a8], ecx
mov eax, dword [esi + 0x1870]
movsd qword [esi + 0x1878], xmm0
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x1874]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x187c]
mov dword [esi + 0x70], eax
nop dword [eax]
mov edi, dword [esi + 0x70]
sub edi, 1
jb 0x4d3247
mov eax, dword [esi + 0x1878]
mov edx, dword [esi + 0x120]
mov ebx, 0
mov dword [esi + 0x70], edi
lea ecx, [eax + 1]
cmp ecx, edx
mov ecx, edx
cmovb ecx, ebx
neg ecx
lea ecx, [eax + ecx + 1]
mov dword [esi + 0x1878], ecx
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x187c], edi
mov ecx, dword [ecx + eax*4]
lea eax, [esi + 0x4e4]
mov dword [esi + 0x4248], 0x6a
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
push eax
mov dword [esi + 0x10], ecx
push ecx
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea4ae
mov eax, dword [esi + 0x4e0]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4e4]
mov dword [esi + 0xa0], eax
lea eax, [esi + 0x4e4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
push eax
push dword [esi + 0x10]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea4f7
mov eax, dword [esi + 0x4e0]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x4e4]
mov dword [esi + 0x30], eax
lea eax, [esi + 0x4e4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
push eax
push dword [esi + 0x10]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea540
mov eax, dword [esi + 0x4e0]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x4e4]
sub ecx, eax
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x4e4]
add ecx, dword [esi + 0x4ec]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
mov dword [esi + 0xc], ecx
push eax
push dword [esi + 0x10]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea58c
mov eax, dword [esi + 0x4e1]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0x170], eax
lea eax, [esi + 0x4e4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
push eax
push dword [esi + 0x10]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea5d8
mov eax, dword [esi + 0x4e1]
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0x4e8]
mov dword [esi + 0xfc], eax
lea eax, [esi + 0x4e4]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x68
push eax
push dword [esi + 0x10]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4ea624
mov edx, dword [esi + 0xa0]
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x100]
shrd dword [esi + 0x50], edx, 8
sub edx, dword [esi + 0x140]
shld dword [esi + 0xd0], ecx, 0x18
shld dword [esi + 0x30], eax, 0x18
mov ecx, dword [esi + 0x4e1]
cmp edx, dword [esi + 0xc0]
mov dword [esi + 0xf8], ecx
jg 0x4d2ab0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0xc0], eax
jge 0x4d2ab0
mov eax, dword [esi + 0xfc]
mov edi, dword [esi + 0x170]
mov ecx, dword [esi + 0x1a8]
mov ebx, dword [esi + 0xbc]
mov edx, dword [esi + 0x10]
sub eax, dword [esi + 0x4e8]
sub edi, dword [esi + 0x1d4]
add eax, dword [esi + 0x4f0]
cmp ecx, eax
cmovge edx, ebx
cmp edi, ecx
cmovle ebx, edx
mov dword [esi + 0xbc], ebx
jmp 0x4d2ab0
mov eax, dword [esi + 0x2c]
mov ebx, ecx
mov dword [esi + 0xc], edi
shr ebx, 2
mov edx, dword [eax + 0x3dc]
mov eax, dword [eax + 0x3e0]
mov dword [esi + 0x120], eax
imul eax, edx
cmp ebx, eax
jne 0x4d4635
mov eax, 1
cmp ecx, 4
mov dword [esi + 0x6c], edx
mov dword [esi + 0x12a0], ebx
jb 0x4d3184
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d3172
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb4fe
mov dword [0x919820], eax
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb4fe
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], ebx
xor edx, edx
mov dword [esi + 0x1ef8], 0
lea edi, [ecx + ebx*4]
mov ebx, ecx
mov dword [esi + 0x90], edi
jmp 0x4d31d0
inc cl
mov byte [eax + edx], cl
mov edx, dword [esi + 0x1ef8]
inc edx
mov dword [esi + 0x1ef8], edx
movzx ecx, byte [ebx]
mov ch, byte [ebx + 2]
mov byte [ebx], ch
mov byte [ebx + 2], cl
add ebx, 4
cmp ebx, edi
je 0x4d4645
movzx ecx, byte [ebx + 3]
cmp edx, dword [esi + 0x1ef4]
jne 0x4d31b0
mov byte [esi + 0x30], cl
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x4248], 0x76
call fcn.004a4950
mov eax, dword [esi + 0x1ef0]
mov edx, dword [esi + 0x1ef8]
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0x10]
movzx ecx, byte [esi + 0x30]
jmp 0x4d31b0
xor eax, eax
movsd xmm0, qword [edi + 0x3b0]
movaps xmmword [esi + 0x1f0], xmm0
cmp byte [edi + 0x407], 0
jne 0x4d4393
jmp 0x4d480e
test eax, eax
sete al
jmp 0x4d39ec
cmp dword [esi + 0x120], 0
je 0x4d3261
push dword [esi + 0x6c]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [0x91965c]
cmp eax, 2
je 0x4d32cd
lea eax, [esi + 0x1118]
lea edx, [esi + 0x1870]
lea ecx, [esi + 0x208]
mov dword [esi + 0x1118], 0x919654
mov dword [esi + 0x1870], 0x919654
mov byte [esi + 0x8f], 0
mov dword [esi + 0x4248], 0x65
mov dword [esi + 0x4e0], eax
mov dword [esi + 0x4e4], edx
mov dword [esi + 0x4e8], ecx
lea ecx, [0x91965c]
lea edx, [esi + 0x4e0]
push 0x8f8038
call fcn.005f90f0
add esp, 4
mov ecx, dword [0x919658]
mov dword [esi + 0x10], 0x60
test ecx, ecx
je 0x4d3328
lea eax, [esi + 0x4e0]
mov dword [esi + 0x1870], 0
mov dword [esi + 0x4e0], 0
mov byte [esi + 0x8f], 0
mov dword [esi + 0x4248], 0x65
push eax
lea eax, [esi + 0x1870]
push eax
push 0
push dword [esi + 0xbc]
call ecx
test eax, eax
jne 0x4d3328
mov eax, dword [esi + 0x1870]
mov dword [esi + 0x10], eax
mov eax, dword [0x91965c]
cmp eax, 2
je 0x4d3394
lea eax, [esi + 0x1118]
lea edx, [esi + 0x1870]
lea ecx, [esi + 0x208]
mov dword [esi + 0x1118], 0x919654
mov dword [esi + 0x1870], 0x919654
mov byte [esi + 0x8f], 0
mov dword [esi + 0x4248], 0x65
mov dword [esi + 0x4e0], eax
mov dword [esi + 0x4e4], edx
mov dword [esi + 0x4e8], ecx
lea ecx, [0x91965c]
lea edx, [esi + 0x4e0]
push 0x8f8038
call fcn.005f90f0
add esp, 4
mov ecx, dword [0x919658]
mov dword [esi + 0x4248], 0x65
mov dword [esi + 0x30], 0x60
test ecx, ecx
je 0x4d33ef
lea eax, [esi + 0x4e0]
mov dword [esi + 0x1870], 0
mov dword [esi + 0x4e0], 0
mov byte [esi + 0x8f], 0
push eax
lea eax, [esi + 0x1870]
push eax
push 0
push dword [esi + 0xbc]
call ecx
test eax, eax
jne 0x4d33ef
mov eax, dword [esi + 0x1870]
mov dword [esi + 0x30], eax
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f8], 0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x500], 0
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x504], 0
mov dword [esi + 0x510], 0
mov dword [esi + 0x50c], 0
mov dword [esi + 0x518], 0
mov dword [esi + 0x514], 0
mov dword [esi + 0x520], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x528], 0
mov dword [esi + 0x524], 0
mov dword [esi + 0x530], 0
mov dword [esi + 0x52c], 0
mov dword [esi + 0x538], 0
mov dword [esi + 0x534], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x53c], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x4e0], 0x68
mov byte [esi + 0x8f], 0
push eax
push dword [esi + 0xbc]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4eb0eb
cvtsi2ss xmm0, dword [esi + 0x4e4]
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f8], 0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x500], 0
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x504], 0
mov dword [esi + 0x510], 0
mov dword [esi + 0x50c], 0
mov dword [esi + 0x518], 0
mov dword [esi + 0x514], 0
mov dword [esi + 0x520], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x528], 0
mov dword [esi + 0x524], 0
mov dword [esi + 0x530], 0
mov dword [esi + 0x52c], 0
mov dword [esi + 0x538], 0
mov dword [esi + 0x534], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x53c], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x4e0], 0x68
mov byte [esi + 0x8f], 0
movss dword [esi + 0x70], xmm0
push eax
push dword [esi + 0xbc]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4eb132
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x4e8]
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f8], 0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x500], 0
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x504], 0
mov dword [esi + 0x510], 0
mov dword [esi + 0x50c], 0
mov dword [esi + 0x518], 0
mov dword [esi + 0x514], 0
mov dword [esi + 0x520], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x528], 0
mov dword [esi + 0x524], 0
mov dword [esi + 0x530], 0
mov dword [esi + 0x52c], 0
mov dword [esi + 0x538], 0
mov dword [esi + 0x534], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x53c], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x4e0], 0x68
mov byte [esi + 0x8f], 0
movss dword [esi + 0x50], xmm0
push eax
push dword [esi + 0xbc]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4eb179
mov eax, dword [esi + 0x4ec]
mov byte [esi + 0x8f], 0
sub eax, dword [esi + 0x4e4]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f8], 0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x500], 0
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x504], 0
mov dword [esi + 0x510], 0
mov dword [esi + 0x50c], 0
mov dword [esi + 0x518], 0
mov dword [esi + 0x514], 0
mov dword [esi + 0x520], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x528], 0
mov dword [esi + 0x524], 0
mov dword [esi + 0x530], 0
mov dword [esi + 0x52c], 0
mov dword [esi + 0x538], 0
mov dword [esi + 0x534], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x53c], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x4e0], 0x68
mov dword [esi + 0xa0], eax
lea eax, [esi + 0x4e0]
push eax
push dword [esi + 0xbc]
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4eb1c0
movss xmm0, dword [esi + 0x10]
xorps xmm2, xmm2
movss xmm4, dword [esi + 0x70]
mov eax, dword [esi + 0x4e8]
mov ecx, dword [esi + 0x4f0]
orpd xmm0, xmmword [0x7259c0]
movss dword [esi + 0x428], xmm4
subsd xmm0, qword [0x725628]
divsd xmm0, qword [0x725fe8]
cvtsd2ss xmm1, xmm0
movaps xmm0, xmmword [esi + 0x1f0]
mulss xmm0, xmm1
addss xmm2, xmm0
movss xmm0, dword [esi + 0xa0]
orpd xmm0, xmmword [0x7259c0]
subsd xmm0, qword [0x725628]
cvtsd2ss xmm0, xmm0
subss xmm0, xmm2
xorps xmm2, xmm2
maxss xmm0, xmm2
addss xmm0, xmm4
ucomiss xmm0, xmm4
movss dword [esi + 0x1118], xmm0
jb 0x4eb207
movss xmm3, dword [esi + 0x30]
mulss xmm1, dword [esi + 0x230]
sub ecx, eax
orpd xmm3, xmmword [0x7259c0]
subsd xmm3, qword [0x725628]
divsd xmm3, qword [0x725fe8]
cvtsd2ss xmm3, xmm3
mulss xmm3, dword [0x725cc8]
addss xmm3, xmm1
movd xmm1, ecx
por xmm1, xmmword [0x7259c0]
subsd xmm1, qword [0x725628]
cvtsd2ss xmm1, xmm1
subss xmm1, xmm3
maxss xmm1, xmm2
movss xmm2, dword [esi + 0x50]
addss xmm1, xmm2
movss dword [esi + 0x428], xmm2
ucomiss xmm1, xmm2
movss dword [esi + 0x1118], xmm1
jb 0x4eb283
maxss xmm4, dword [esi + 0x310]
maxss xmm2, dword [esi + 0x1b8]
mov ecx, dword [esi + 0xf0]
movzx eax, byte [esi + 0x1d8]
minss xmm0, xmm4
minss xmm1, xmm2
movss dword [esi + 0x100], xmm0
movss dword [esi + 0xc0], xmm1
movsd xmm1, qword [esi + 0x1ef8]
movsd xmm3, qword [esi + 0x1f30]
test al, al
mov eax, dword [esi + 0x1f60]
movsd xmm2, qword [esi + 0x1f08]
mov edx, dword [esi + 0x1f18]
movsd xmm0, qword [esi + 0x1ef0]
movsd xmm4, qword [esi + 0x1fb0]
mov ebx, dword [esi + 0x1f1c]
lea edi, [esi + 0x1f30]
movsd qword [esi + 0x330], xmm1
movsd xmm1, qword [esi + 0x1f00]
movsd qword [esi + 0x428], xmm3
movsd xmm3, qword [esi + 0x1f48]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1f64]
movsd qword [esi + 0x340], xmm2
mov dword [esi + 0x90], edx
movups xmm2, xmmword [esi + 0x1f20]
mov edx, dword [esi + 0x1f68]
movsd qword [esi + 0x328], xmm0
movsd qword [esi + 0x208], xmm4
movsd qword [esi + 0x338], xmm1
movsd xmm1, qword [esi + 0x1f10]
movsd qword [esi + 0x440], xmm3
movsd xmm3, qword [esi + 0x1f58]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x1fa4]
movsd qword [esi + 0x348], xmm1
movsd xmm1, qword [esi + 0x1f38]
movsd qword [esi + 0x450], xmm3
movsd xmm3, qword [esi + 0x1f94]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x1fa8]
movsd qword [esi + 0x430], xmm1
movsd xmm1, qword [esi + 0x1f40]
movsd qword [esi + 0x1898], xmm3
movsd xmm3, qword [esi + 0x1f84]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x1fac]
movsd qword [esi + 0x438], xmm1
movsd xmm1, qword [esi + 0x1f50]
movsd qword [esi + 0x1888], xmm3
movsd xmm3, qword [esi + 0x1f6c]
mov dword [esi + 0xd0], eax
movsd qword [esi + 0x448], xmm1
movsd xmm1, qword [esi + 0x1f9c]
movsd qword [esi + 0x1870], xmm3
movsd xmm3, qword [esi + 0x1fc0]
movsd qword [esi + 0x18a0], xmm1
movsd xmm1, qword [esi + 0x1f8c]
movsd qword [esi + 0x2b0], xmm3
movsd qword [esi + 0x1890], xmm1
movsd xmm1, qword [esi + 0x1f7c]
movsd qword [esi + 0x1880], xmm1
movsd xmm1, qword [esi + 0x1f74]
movsd qword [esi + 0x1878], xmm1
movsd xmm1, qword [esi + 0x1fb8]
movsd qword [esi + 0x210], xmm1
movsd xmm1, qword [esi + 0x1fc8]
movsd qword [esi + 0x2b8], xmm1
jne 0x4d3d71
movsd xmm1, qword [esi + 0x1f00]
movsd xmm3, qword [esi + 0x1f08]
movsd xmm4, qword [edi]
movsd xmm0, qword [esi + 0x1f10]
movsd qword [esi + 0x338], xmm1
movsd xmm1, qword [esi + 0x1ef8]
movsd qword [esi + 0x340], xmm3
movsd xmm3, qword [esi + 0x1ef0]
movsd qword [esi + 0x428], xmm4
movsd xmm4, qword [edi + 0x80]
movsd qword [esi + 0x348], xmm0
movsd qword [esi + 0x330], xmm1
movsd xmm1, qword [edi + 8]
movsd qword [esi + 0x328], xmm3
movsd xmm3, qword [edi + 0x10]
movsd qword [esi + 0x208], xmm4
movsd qword [esi + 0x430], xmm1
movsd xmm1, qword [edi + 0x18]
movsd qword [esi + 0x438], xmm3
movsd xmm3, qword [edi + 0x20]
movsd qword [esi + 0x440], xmm1
movsd xmm1, qword [edi + 0x28]
movsd qword [esi + 0x448], xmm3
movsd xmm3, qword [edi + 0x3c]
movsd qword [esi + 0x450], xmm1
movsd xmm1, qword [edi + 0x44]
movsd qword [esi + 0x1870], xmm3
movsd xmm3, qword [edi + 0x54]
movsd qword [esi + 0x1878], xmm1
movsd xmm1, qword [edi + 0x4c]
movsd qword [esi + 0x1888], xmm3
movsd xmm3, qword [edi + 0x64]
movsd qword [esi + 0x1880], xmm1
movsd xmm1, qword [edi + 0x5c]
movsd qword [esi + 0x1898], xmm3
movsd xmm3, qword [edi + 0x90]
movsd qword [esi + 0x1890], xmm1
movsd xmm1, qword [edi + 0x6c]
movsd qword [esi + 0x2b0], xmm3
movsd qword [esi + 0x18a0], xmm1
movsd xmm1, qword [edi + 0x88]
movsd qword [esi + 0x210], xmm1
movsd xmm1, qword [edi + 0x98]
movsd qword [esi + 0x2b8], xmm1
push dword [esi + 0x100]
movaps xmmword [esi + 0xa0], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp qword [esi + 0x2a20]
xor eax, eax
movsd xmm0, qword [esi + 0x2a20]
ucomisd xmm0, xmm0
maxsd xmm0, qword [0x725fd8]
minsd xmm0, qword [0x725fe0]
cvttsd2si ecx, xmm0
cmovp ecx, eax
mov dword [esi + 0x70], ecx
push dword [esi + 0xc0]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movaps xmm2, xmmword [esi + 0xa0]
mov ecx, dword [esi + 0xf0]
xor eax, eax
add esp, 4
fstp qword [esi + 0x2a28]
movsd xmm0, qword [esi + 0x2a28]
mov dword [esi + 0x30], 0
ucomisd xmm0, xmm0
maxsd xmm0, qword [0x725fd8]
minsd xmm0, qword [0x725fe0]
cvttsd2si edx, xmm0
cmovp edx, eax
mov eax, dword [esi + 0x1c0]
test ecx, ecx
mov dword [esi + 0xa0], edx
mov dword [esi + 0xf0], ecx
je 0x4d4090
movsd xmm1, qword [esi + 0x330]
movsd xmm2, qword [esi + 0x340]
xor edx, edx
test al, al
mov dword [esi + 0x90], ebx
movsd xmm0, qword [esi + 0x328]
movsd xmm3, qword [esi + 0x208]
mov eax, dword [esi + 0x10]
setne bl
cmp dword [esi + 0x50], 0
movsd qword [esi + 0x2e8], xmm1
movsd xmm1, qword [esi + 0x338]
movsd qword [esi + 0x2f8], xmm2
movsd xmm2, qword [esi + 0x428]
movsd qword [esi + 0x2e0], xmm0
movsd qword [esi + 0x400], xmm3
movsd qword [esi + 0x2f0], xmm1
movsd xmm1, qword [esi + 0x348]
movsd qword [esi + 0x1118], xmm2
movsd xmm2, qword [esi + 0x440]
movsd qword [esi + 0x300], xmm1
movsd xmm1, qword [esi + 0x430]
movsd qword [esi + 0x1130], xmm2
movsd xmm2, qword [esi + 0x450]
movsd qword [esi + 0x1120], xmm1
movsd xmm1, qword [esi + 0x438]
movsd qword [esi + 0x1140], xmm2
movsd xmm2, qword [esi + 0x1898]
movsd qword [esi + 0x1128], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x508], xmm2
movsd xmm2, qword [esi + 0x1888]
movsd qword [esi + 0x1138], xmm1
movsd xmm1, qword [esi + 0x18a0]
movsd qword [esi + 0x4f8], xmm2
movsd xmm2, qword [esi + 0x1870]
movsd qword [esi + 0x510], xmm1
movsd xmm1, qword [esi + 0x1890]
movsd qword [esi + 0x4e0], xmm2
movsd xmm2, qword [esi + 0x2b0]
movsd qword [esi + 0x500], xmm1
movsd xmm1, qword [esi + 0x1880]
movsd qword [esi + 0x3e0], xmm2
movsd qword [esi + 0x4f0], xmm1
movsd xmm1, qword [esi + 0x1878]
movsd qword [esi + 0x4e8], xmm1
movsd xmm1, qword [esi + 0x210]
movsd qword [esi + 0x408], xmm1
movsd xmm1, qword [esi + 0x2b8]
movsd qword [esi + 0x3e8], xmm1
je 0x4d3f16
test eax, eax
je 0x4d3f16
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
movsd xmm1, qword [esi + 0x2f0]
movsd xmm3, qword [esi + 0x2f8]
movsd xmm4, qword [esi + 0x2e0]
mov dl, bl
movsd xmm0, qword [esi + 0x300]
cvtps2pd xmm2, qword [esi + 0x1f0]
mov ebx, dword [esi + 0x90]
mov ecx, 1
xor eax, eax
mov dword [esi + 0x10], 0
movsd qword [esi + 0x258], xmm1
movsd xmm1, qword [esi + 0x2e8]
movsd qword [esi + 0x260], xmm3
movsd xmm3, qword [esi + 0x1118]
movsd qword [esi + 0x248], xmm4
movsd xmm4, qword [esi + 0x400]
movsd qword [esi + 0x268], xmm0
movsd qword [esi + 0x250], xmm1
movsd xmm1, qword [esi + 0x1120]
movsd qword [esi + 0x270], xmm3
movsd xmm3, qword [esi + 0x1130]
movsd qword [esi + 0x3b0], xmm4
movsd qword [esi + 0x278], xmm1
movsd xmm1, qword [esi + 0x1128]
movsd qword [esi + 0x288], xmm3
movsd xmm3, qword [esi + 0x1140]
movsd qword [esi + 0x280], xmm1
movsd xmm1, qword [esi + 0x1138]
movsd qword [esi + 0x298], xmm3
movsd xmm3, qword [esi + 0x508]
movsd qword [esi + 0x290], xmm1
movsd xmm1, qword [esi + 0x510]
movsd qword [esi + 0x12c8], xmm3
movsd xmm3, qword [esi + 0x4f8]
movsd qword [esi + 0x12d0], xmm1
movsd xmm1, qword [esi + 0x500]
movsd qword [esi + 0x12b8], xmm3
movsd xmm3, qword [esi + 0x4e0]
movsd qword [esi + 0x12c0], xmm1
movsd xmm1, qword [esi + 0x4f0]
movsd qword [esi + 0x12a0], xmm3
movsd xmm3, qword [esi + 0x3e0]
movsd qword [esi + 0x12b0], xmm1
movsd xmm1, qword [esi + 0x4e8]
movsd qword [esi + 0x4d0], xmm3
movsd qword [esi + 0x12a8], xmm1
movsd xmm1, qword [esi + 0x408]
movsd qword [esi + 0x3b8], xmm1
movsd xmm1, qword [esi + 0x3e8]
jmp 0x4d41f7
movsd xmm1, qword [esi + 0x338]
movsd xmm3, qword [esi + 0x340]
movsd xmm4, qword [esi + 0x328]
movsd xmm0, qword [esi + 0x348]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0xd0]
movsd qword [esi + 0x258], xmm1
movsd xmm1, qword [esi + 0x330]
movsd qword [esi + 0x260], xmm3
movsd xmm3, qword [esi + 0x428]
movsd qword [esi + 0x248], xmm4
movsd xmm4, qword [esi + 0x208]
movsd qword [esi + 0x268], xmm0
movsd qword [esi + 0x250], xmm1
movsd xmm1, qword [esi + 0x430]
movsd qword [esi + 0x270], xmm3
movsd xmm3, qword [esi + 0x440]
movsd qword [esi + 0x3b0], xmm4
movsd qword [esi + 0x278], xmm1
movsd xmm1, qword [esi + 0x438]
movsd qword [esi + 0x288], xmm3
movsd xmm3, qword [esi + 0x450]
movsd qword [esi + 0x280], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x298], xmm3
movsd xmm3, qword [esi + 0x1898]
movsd qword [esi + 0x290], xmm1
movsd xmm1, qword [esi + 0x18a0]
movsd qword [esi + 0x12c8], xmm3
movsd xmm3, qword [esi + 0x1888]
movsd qword [esi + 0x12d0], xmm1
movsd xmm1, qword [esi + 0x1890]
movsd qword [esi + 0x12b8], xmm3
movsd xmm3, qword [esi + 0x1870]
movsd qword [esi + 0x12c0], xmm1
movsd xmm1, qword [esi + 0x1880]
movsd qword [esi + 0x12a0], xmm3
movsd xmm3, qword [esi + 0x2b0]
movsd qword [esi + 0x12b0], xmm1
movsd xmm1, qword [esi + 0x1878]
movsd qword [esi + 0x4d0], xmm3
movsd qword [esi + 0x12a8], xmm1
movsd xmm1, qword [esi + 0x210]
movsd qword [esi + 0x3b8], xmm1
movsd xmm1, qword [esi + 0x2b8]
movsd qword [esi + 0x4d8], xmm1
movsd xmm0, qword [esi + 0x248]
movsd xmm1, qword [esi + 0x250]
movsd xmm3, qword [esi + 0x3b0]
movsd qword [esi + 0x1ef0], xmm0
movsd xmm0, qword [esi + 0x258]
movsd qword [esi + 0x1ef8], xmm1
movsd xmm1, qword [esi + 0x278]
movsd qword [esi + 0x1f00], xmm0
movsd xmm0, qword [esi + 0x260]
movsd qword [esi + 0x1f08], xmm0
movsd xmm0, qword [esi + 0x268]
movsd qword [esi + 0x1f10], xmm0
movsd xmm0, qword [esi + 0x298]
mov dword [esi + 0x1f18], ecx
mov dword [esi + 0x1f1c], ebx
movups xmmword [esi + 0x1f20], xmm2
mov ebx, dword [esi + 0x30]
movsd qword [edi + 8], xmm1
mov ecx, dword [esi + 0xa0]
movsd xmm1, qword [esi + 0x12c0]
movsd xmm2, qword [esi + 0x12c8]
movsd qword [edi + 0x28], xmm0
movsd xmm0, qword [esi + 0x290]
movsd qword [edi + 0x20], xmm0
movsd xmm0, qword [esi + 0x288]
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [esi + 0x280]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esi + 0x270]
movsd qword [edi], xmm0
mov dword [esi + 0x1f60], ebx
mov ebx, dword [esi + 0x70]
movsd xmm0, qword [esi + 0x12d0]
mov dword [esi + 0x1f64], ebx
mov dword [esi + 0x1f68], ecx
movsd qword [edi + 0x5c], xmm1
movsd xmm1, qword [esi + 0x12b0]
movsd qword [edi + 0x64], xmm2
movsd xmm2, qword [esi + 0x12b8]
mov ecx, dword [esi + 0x10]
movsd qword [edi + 0x6c], xmm0
movsd qword [edi + 0x4c], xmm1
movsd xmm1, qword [esi + 0x12a8]
movsd qword [edi + 0x54], xmm2
movsd xmm2, qword [esi + 0x12a0]
movsd qword [edi + 0x44], xmm1
movsd xmm1, qword [esi + 0x3b8]
movsd qword [edi + 0x3c], xmm2
mov dword [esi + 0x1fa4], edx
mov dword [esi + 0x1fa8], ecx
mov dword [esi + 0x1fac], eax
movsd xmm2, qword [esi + 0x4d0]
movsd qword [edi + 0x80], xmm3
mov eax, dword [esi + 0xf0]
movsd qword [edi + 0x88], xmm1
movsd xmm1, qword [esi + 0x4d8]
movsd qword [edi + 0x90], xmm2
movsd qword [edi + 0x98], xmm1
mov edi, dword [esi + 0x2c]
cmp byte [edi + 0x407], 0
je 0x4d480e
mov dword [esi + 0xf0], eax
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4e0], 4
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4248], 0x64
push eax
push 0x6fc0e0
push 0
push 0
call dword [sym.imp.user32.dll_EnumDisplayMonitors]
movsd xmm0, qword [esi + 0x4e0]
movq xmm1, qword [esi + 0x4e8]
movq qword [esi + 0x1878], xmm1
movsd qword [esi + 0x1870], xmm0
mov eax, dword [esi + 0x187c]
test eax, eax
je 0x4d47f1
mov ecx, dword [esi + 0x1878]
mov edx, dword [esi + 0x1874]
xor ebx, ebx
lea edi, [ecx + 1]
cmp edi, edx
cmovae ebx, edx
mov edx, dword [esi + 0x1870]
dec eax
neg ebx
lea edi, [ecx + ebx + 1]
mov dword [esi + 0x1878], edi
mov dword [esi + 0x187c], eax
lea eax, [esi + 0x4e0]
mov ecx, dword [edx + ecx*4]
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4e4], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f8], 0
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x500], 0
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x504], 0
mov dword [esi + 0x510], 0
mov dword [esi + 0x50c], 0
mov dword [esi + 0x518], 0
mov dword [esi + 0x514], 0
mov dword [esi + 0x520], 0
mov dword [esi + 0x51c], 0
mov dword [esi + 0x528], 0
mov dword [esi + 0x524], 0
mov dword [esi + 0x530], 0
mov dword [esi + 0x52c], 0
mov dword [esi + 0x538], 0
mov dword [esi + 0x534], 0
mov dword [esi + 0x540], 0
mov dword [esi + 0x53c], 0
mov dword [esi + 0x544], 0
mov dword [esi + 0x4e0], 0x68
mov dword [esi + 0x4248], 0x62
push eax
mov dword [esi + 0x70], ecx
push ecx
call dword [sym.imp.user32.dll_GetMonitorInfoW]
test eax, eax
je 0x4eadae
movupd xmm0, xmmword [esi + 0x4e4]
movq xmm3, qword [esi + 0x4ec]
movapd xmmword [esi + 0x30], xmm0
mov eax, dword [0x91965c]
movdqa xmmword [esi + 0x10], xmm3
cmp eax, 2
je 0x4d45e2
lea eax, [esi + 0x1118]
lea edx, [esi + 0x12a0]
lea ecx, [esi + 0x208]
mov dword [esi + 0x1118], 0x919654
mov dword [esi + 0x12a0], 0x919654
mov dword [esi + 0x4e0], eax
mov dword [esi + 0x4e4], edx
mov dword [esi + 0x4e8], ecx
lea ecx, [0x91965c]
lea edx, [esi + 0x4e0]
push 0x8f8038
call fcn.005f90f0
add esp, 4
movdqa xmm3, xmmword [esi + 0x10]
mov ecx, dword [0x919658]
mov eax, 0x60
test ecx, ecx
je 0x4d46ef
lea eax, [esi + 0x4e0]
mov dword [esi + 0x12a0], 0
mov dword [esi + 0x4e0], 0
push eax
lea eax, [esi + 0x12a0]
push eax
push 0
push dword [esi + 0x70]
call ecx
test eax, eax
je 0x4d46e4
movdqa xmm3, xmmword [esi + 0x10]
mov eax, 0x60
jmp 0x4d46ef
mov edi, dword [esi + 0xc]
test ecx, ecx
jne 0x4d2265
jmp 0x4d2274
cmp edx, dword [esi + 0x12a0]
mov dword [esi + 0x1870], edx
mov dword [esi + 0x4248], 0x76
jne 0x4eb463
mov eax, dword [esi + 0x1ef0]
push dword [esi + 0xc]
mov dword [esi + 0x30], eax
push eax
push 0x20
push 1
push dword [esi + 0x120]
push dword [esi + 0x6c]
push 0
call dword [sym.imp.user32.dll_CreateIcon]
mov ebx, dword [esi + 0x70]
mov edi, eax
test eax, eax
je 0x4d5d21
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d46b3
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb49b
mov dword [0x919820], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb49b
mov edx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], edi
mov dword [esi + 0x10], 3
jmp 0x4d5d35
mov eax, dword [esi + 0x12a0]
movdqa xmm3, xmmword [esi + 0x10]
movd xmm0, eax
por xmm0, xmmword [0x7259c0]
subsd xmm0, qword [0x725628]
divsd xmm0, qword [0x725fe8]
movsd qword [esi + 0x1868], xmm0
mov eax, dword [esi + 0x186c]
test eax, eax
js 0x4eaa33
ucomisd xmm0, xmm0
jp 0x4eaa33
mov ecx, eax
and eax, 0x7ff00000
and ecx, 0xfffff
or ecx, dword [esi + 0x1868]
jne 0x4d4753
cmp eax, 0x7ff00000
je 0x4eaa33
test eax, eax
je 0x4eaa33
test eax, eax
je 0x4eaa33
psubd xmm3, xmmword [esi + 0x30]
movdqa xmm2, xmmword [0x7259c0]
pxor xmm1, xmm1
unpcklpd xmm0, xmm0
punpckldq xmm3, xmm1
por xmm3, xmm2
subpd xmm3, xmm2
divpd xmm3, xmm0
xorpd xmm0, xmm0
ucomisd xmm3, xmm0
jbe 0x4d47f1
movapd xmm1, xmm3
unpckhpd xmm1, xmm3
ucomisd xmm1, xmm0
jbe 0x4d47f1
xor eax, eax
cmp dword [esi + 0xf0], 0
cvtps2pd xmm0, qword [esi + 0x1f0]
mov dword [esi + 0x1f60], 1
sete al
movd xmm1, eax
pshufd xmm1, xmm1, 0x44
psllq xmm1, 0x3f
psrad xmm1, 0x1f
pshufd xmm2, xmm1, 0xf5
pand xmm1, xmmword [0x726090]
pandn xmm2, xmm0
por xmm1, xmm2
subpd xmm3, xmm1
mulpd xmm3, xmmword [0x7260a0]
movupd xmmword [esi + 0x1f68], xmm3
cmp dword [esi + 0x1874], 0
je 0x4d480e
push dword [esi + 0x1870]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
lea eax, [esi + 0x1710]
push 0xe0
lea ecx, [esi + 0x1ef0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x2c]
mov edx, 0x201
movzx eax, byte [edi + 0x400]
movzx ecx, byte [edi + 0x408]
movzx ebx, word [edi + 0x3f8]
mov byte [esi + 0x10], al
movzx eax, byte [edi + 0x403]
shl cl, 3
shr edx, cl
test bx, bx
mov dword [esi + 0x2d4], eax
movzx eax, byte [edi + 0x40a]
mov ah, byte [edi + 0x40b]
je 0x4d4880
movzx ecx, bx
cmp ecx, 0x100
jae 0x4eabd4
mov cl, 1
jmp 0x4d4882
xor ecx, ecx
mov dword [esi + 0x270], 0
mov dword [esi + 0x278], 0
mov dword [esi + 0x280], 0xd
mov word [esi + 0x290], 0
mov word [esi + 0x294], 0
mov dword [esi + 0x298], 0x8080800
mov byte [esi + 0x29c], cl
mov ch, byte [esi + 0x10]
mov byte [esi + 0x29d], bl
mov word [esi + 0x29e], 0
mov byte [esi + 0x2a0], ch
mov word [esi + 0x2a1], 0
mov byte [esi + 0x2a3], 2
mov byte [esi + 0x2a4], dl
mov byte [esi + 0x2a5], 8
mov byte [esi + 0x2a6], al
mov byte [esi + 0x2a7], ah
mov dword [esi + 0x2a8], 1
mov eax, dword [0x919aa8]
cmp eax, 4
jb 0x4d4a17
lea eax, [esi + 0x270]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1870], eax
lea eax, [esi + 0x1870]
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], 0x4ac670
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73e788
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 1
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1b8
mov dword [esi + 0x4248], 0xe3
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
lea ecx, [esi + 0x1870]
lea edx, [esi + 0x1710]
mov dword [esi + 0x4e0], 2
mov byte [esi + 0x5c0], 1
mov dword [esi + 0x4248], 0xe9
call fcn.004f00d0
push 0xe0
lea eax, [esi + 0x1870]
push eax
lea edi, [esi + 0x12a0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xe0
push edi
lea ebx, [esi + 0x4e0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xe8
push ebx
lea eax, [esi + 0x1ef0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esi + 0x2a5]
movzx edx, byte [esi + 0x2a3]
movzx ecx, byte [esi + 0x2a2]
mov edi, dword [esi + 0x1ef0]
mov dword [esi + 0x1ef0], 2
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x2a6]
mov byte [esi + 0x120], dl
mov byte [esi + 0xfc], cl
movzx edx, byte [esi + 0x2a4]
mov ecx, dword [esi + 0x298]
cmp edi, 2
mov byte [esi + 0x50], al
movzx eax, byte [esi + 0x2a7]
mov byte [esi + 0x6c], dl
mov dword [esi + 0x30], ecx
mov byte [esi + 0xa0], al
movzx eax, byte [esi + 0x29c]
mov byte [esi + 0xec], al
movzx eax, byte [esi + 0x29d]
mov byte [esi + 0x230], al
movzx eax, byte [esi + 0x2a8]
mov byte [esi + 0x170], al
movzx eax, byte [esi + 0x29e]
mov byte [esi + 0xf0], al
movzx eax, byte [esi + 0x29f]
mov byte [esi + 0x1a8], al
movzx eax, byte [esi + 0x2a0]
mov byte [esi + 0x1d8], al
movzx eax, byte [esi + 0x2a1]
mov byte [esi + 0xbc], al
movzx eax, word [esi + 0x290]
mov word [esi + 0x13c], ax
movzx eax, word [esi + 0x292]
mov word [esi + 0x1b8], ax
movzx eax, word [esi + 0x294]
mov word [esi + 0xf8], ax
movzx eax, word [esi + 0x296]
mov word [esi + 0x310], ax
mov eax, dword [esi + 0x270]
mov dword [esi + 0x1c0], eax
mov eax, dword [esi + 0x274]
mov dword [esi + 0x1d4], eax
mov eax, dword [esi + 0x278]
mov dword [esi + 0x1f0], eax
mov eax, dword [esi + 0x27c]
mov dword [esi + 0x2c8], eax
mov eax, dword [esi + 0x280]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x284]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x288]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x28c]
mov dword [esi + 0x15c], eax
jne 0x4d4bf4
mov dword [esi + 0x2b0], 0
mov edx, 0xd
mov bl, 1
jmp 0x4d4d1e
lea eax, [esi + 0x1ef4]
push 0xdc
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x4f4]
push 0xc8
push eax
lea ebx, [esi + 0x1870]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x1ef4]
movq xmm1, qword [esi + 0x1efc]
mov eax, dword [esi + 0x1f04]
mov dword [esi + 0x12a0], edi
mov dword [esi + 0x4248], 0xea
lea ecx, [esi + 0x248]
mov edx, ebx
movsd qword [esi + 0x12a4], xmm0
movq qword [esi + 0x12ac], xmm1
mov dword [esi + 0x12b4], eax
push dword [ebp + 8]
lea eax, [esi + 0x12a0]
push eax
call fcn.00508220
add esp, 8
movzx eax, byte [esi + 0x248]
cmp al, 4
jne 0x4d4dd1
movsd xmm0, qword [esi + 0x24c]
movq xmm1, qword [esi + 0x254]
mov dword [esi + 0x4248], 0x102
movsd qword [esi + 0x1870], xmm0
movq qword [esi + 0x1878], xmm1
mov eax, dword [esi + 0x1874]
push 2
push 0
push 0
push eax
call dword [sym.imp.user32.dll_RedrawWindow]
lea eax, [esi + 0x24c]
movsd xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movsd qword [esi + 0x2b0], xmm0
movq qword [esi + 0x2b8], xmm1
cmp dword [esi + 0x2b0], 0
je 0x4d4be8
mov eax, dword [esi + 0x2b4]
mov dword [esi + 0x4248], 0xee
push 0xfffffffffffffffa
mov dword [esi + 0x10], eax
push eax
call dword [sym.imp.user32.dll_GetWindowLongW]
mov dword [esi + 0xd0], eax
mov ecx, dword [esi + 0x10]
mov edx, 8
xor ebx, ebx
cmp byte [esi + 0x1fd0], 0
lea eax, [esi + 0x1870]
mov dword [esi + 0x140], ebx
mov dword [esi + 0x4248], 0xee
mov dword [esi + 0x10], ecx
mov dword [esi + 0x70], edx
je 0x4d4d94
mov dword [esi + 0x1870], edx
mov dword [esi + 0x1874], ecx
mov ecx, dword [esi + 0xd0]
mov edx, 8
mov dword [esi + 0x1878], ecx
lea ecx, [esi + 0x12a0]
push eax
call fcn.005d54c0
add esp, 4
mov eax, dword [esi + 0x12a0]
xor eax, 2
or eax, dword [esi + 0x12a4]
jne 0x4d4ea8
mov ebx, dword [esi + 0x12a8]
mov edi, 1
jmp 0x4d4f7e
lea ecx, [esi + 0x12a0]
lea edx, [esi + 0x1870]
mov dword [esi + 0x1870], 8
call fcn.005d3730
mov eax, dword [esi + 0x12a0]
xor eax, 2
or eax, dword [esi + 0x12a4]
jne 0x4d4ef6
mov ebx, dword [esi + 0x12a8]
xor edi, edi
jmp 0x4d4f7e
mov ecx, dword [esi + 0x258]
movsd xmm1, qword [esi + 0x251]
movsd xmm0, qword [esi + 0x249]
mov dword [esi + 0x3ef], ecx
movsd qword [esi + 0x3e8], xmm1
movsd qword [esi + 0x208], xmm0
movsd qword [esi + 0x1871], xmm0
mov ecx, dword [esi + 0x3ef]
movsd xmm1, qword [esi + 0x3e8]
mov dword [esi + 0x217], ecx
movsd qword [esi + 0x210], xmm1
mov ecx, dword [esi + 0x217]
movq xmm1, qword [esi + 0x210]
mov dword [esi + 0x1880], ecx
movq qword [esi + 0x1879], xmm1
mov byte [esi + 0x1870], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d4e66
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eae4d
mov dword [0x919820], eax
push 0x14
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eae4d
mov ecx, dword [esi + 0x1880]
mov edi, 0x73eec4
mov dword [esi + 0x70], eax
mov dword [eax + 0x10], ecx
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
jmp 0x4d6911
lea ecx, [esi + 0x1870]
lea edx, [esi + 0x3e0]
mov dword [esi + 0x3e0], 8
mov dword [esi + 0x4248], 0xff
call fcn.005d3730
mov edi, dword [esi + 0x1870]
mov ebx, dword [esi + 0x1874]
mov eax, edi
xor eax, 2
or eax, ebx
jne 0x4d51f7
mov ebx, dword [esi + 0x1878]
mov eax, dword [esi + 0x12bc]
xor edi, edi
jmp 0x4d4f62
mov eax, dword [esi + 0x70]
mov dword [esi + 0x4248], 0x100
lea ecx, [esi + 0x1870]
mov edx, 8
mov dword [esi + 0x3e0], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x3e4], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x3e8], eax
lea eax, [esi + 0x3e0]
push eax
call fcn.005d54c0
add esp, 4
mov edi, dword [esi + 0x1870]
mov ebx, dword [esi + 0x1874]
mov eax, edi
xor eax, 2
or eax, ebx
jne 0x4d51f7
mov ebx, dword [esi + 0x1878]
mov eax, dword [esi + 0x12bc]
mov edi, 1
test eax, eax
je 0x4d4f7e
cmp dword [esi + 0x12c0], 0
je 0x4d4f7e
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x140], 0
mov edx, dword [esi + 0x70]
movzx ecx, byte [esi + 0x90]
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x208], edi
mov dword [esi + 0x20c], ebx
movzx ebx, byte [esi + 0x50]
cmovne edx, dword [esi + 0xc]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x10]
cmovne eax, dword [esi + 0x100]
cmovne ecx, dword [esi + 0xc0]
mov dword [esi + 0xc0], ebx
movzx ebx, byte [esi + 0xa0]
test edi, edi
mov dword [esi + 0x100], ebx
je 0x4d50f2
xor eax, eax
cmp edx, 8
mov dword [esi + 0x4248], 0xef
cmove eax, ecx
push eax
call sub.user32.dll_GetDC
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x20c]
movzx edi, byte [esi + 0x120]
mov ebx, dword [esi + 0x30]
mov eax, dword [ecx + 0x2c]
test eax, eax
je 0x4d50d2
cmp byte [eax + 4], 0
je 0x4d50d2
mov dword [esi + 0x70], ecx
mov dword [esi + 0x50], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d5041
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb057
mov dword [0x919820], eax
push 0x80
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb057
mov ecx, 0x12
test bl, bl
mov dword [esi + 0x12a0], eax
mov dword [esi + 0x12a4], 0x20
mov dword [esi + 0x12a8], 0
je 0x4d58f3
xor eax, eax
mov dword [esi + 0xc0], 0x2c
mov dword [esi + 0xd0], str.luminance_buffers_are_not_supported_with_WGLfloat_pixels_are_not_supported
mov dword [esi + 0x10], 0
xor ebx, ebx
cmp dword [esi + 0x12a4], 0
je 0x4d50c4
push dword [esi + 0x12a0]
push 0
push dword [0x919820]
mov edi, ecx
mov dword [esi + 0xc], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xc]
mov ecx, edi
mov dword [esi + 0x30], ecx
mov dword [esi + 0x100], ebx
jmp 0x4d64a4
test bl, bl
je 0x4d5327
xor edx, edx
mov ebx, 0x2c
mov ecx, str.luminance_buffers_are_not_supported_with_WGLfloat_pixels_are_not_supported
mov dword [esi + 0x30], 0x12
jmp 0x4d63f6
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x12a0], 4
mov dword [esi + 0x12a4], 0
mov dword [esi + 0x70], edx
mov dword [esi + 0x12a8], 0
mov dword [esi + 0x4248], 0xfb
mov ecx, eax
shr ecx, 8
test al, al
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x12a0]
je 0x4d54a2
xor edx, edx
call fcn.005a6860
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x12a8]
mov dword [eax + ecx*4], 0x303f
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d517f
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x308f
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d51b2
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x303d
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d51e5
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, byte [esi + 0x50]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
jmp 0x4d562d
mov eax, dword [esi + 0x12bc]
movsd xmm0, qword [esi + 0x1880]
movsd xmm2, qword [esi + 0x1888]
movsd xmm1, qword [esi + 0x1890]
mov ecx, dword [esi + 0x1878]
mov edx, dword [esi + 0x187c]
test eax, eax
movsd qword [esi + 0x248], xmm0
movsd qword [esi + 0x250], xmm2
movsd qword [esi + 0x258], xmm1
je 0x4d5261
cmp dword [esi + 0x12c0], 0
je 0x4d5261
push eax
push 0
push dword [0x919820]
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x10], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x2c]
movsd xmm0, qword [esi + 0x258]
movsd xmm2, qword [esi + 0x248]
movq xmm1, qword [esi + 0x250]
movsd qword [esi + 0x1890], xmm0
movq qword [esi + 0x1888], xmm1
movsd qword [esi + 0x1880], xmm2
mov dword [esi + 0x1870], edi
mov dword [esi + 0x1874], ebx
mov dword [esi + 0x1878], ecx
mov dword [esi + 0x187c], edx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d52cc
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eafbd
mov dword [0x919820], eax
push 0x28
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eafbd
movsd xmm0, qword [esi + 0x1890]
mov dword [esi + 0x70], eax
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x1888]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x1880]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
jmp 0x4d67be
mov eax, ebx
mov dword [esi + 0x70], ecx
mov ecx, ebx
movzx ebx, byte [esi + 0x170]
mov dword [esi + 0x248], 0x10028
shr eax, 0x10
shr ecx, 0x18
cmp byte [esi + 0xbc], 0
mov dword [esi + 0xd0], eax
mov eax, edi
sete dl
shl bl, 2
add eax, eax
mov dh, bl
and bl, 8
and eax, 2
and dh, 4
or dh, dl
or bl, dh
cmp byte [esi + 0x120], 2
mov edx, 0x80000000
movzx edi, bl
mov ebx, 0x1000
cmovne edx, eax
movzx eax, byte [esi + 0x6c]
or edx, edi
mov edi, 0x40
test al, 1
cmove ebx, edi
xor edi, edi
cmp al, 2
mov eax, dword [esi + 0xd0]
cmove ebx, edi
lea edx, [ebx + edx + 0x20]
mov ebx, dword [esi + 0x30]
mov dword [esi + 0x24c], edx
mov byte [esi + 0x250], 0
mov edx, eax
add dl, bh
add dl, cl
mov byte [esi + 0x251], dl
mov byte [esi + 0x252], bh
mov byte [esi + 0x253], 0
mov byte [esi + 0x254], al
movzx eax, byte [esi + 0x90]
mov byte [esi + 0x255], 0
mov byte [esi + 0x256], cl
mov byte [esi + 0x257], 0
mov byte [esi + 0x258], al
movzx eax, byte [esi + 0x50]
mov dword [esi + 0x259], 0
mov word [esi + 0x25d], 0
mov byte [esi + 0x25f], al
movzx eax, byte [esi + 0xa0]
mov byte [esi + 0x260], al
lea eax, [esi + 0x248]
mov dword [esi + 0x265], 0
mov dword [esi + 0x261], 0
mov dword [esi + 0x26c], 0
mov dword [esi + 0x268], 0
push eax
push dword [esi + 0x10]
call dword [sym.imp.gdi32.dll_ChoosePixelFormat]
mov ecx, eax
test eax, eax
je 0x4d5dca
lea eax, [esi + 0x12a0]
push eax
push 0x28
push ecx
push dword [esi + 0x10]
mov dword [esi + 0x30], ecx
call dword [sym.imp.gdi32.dll_DescribePixelFormat]
mov ebx, dword [esi + 0x30]
test eax, eax
je 0x4d641b
cmp byte [esi + 0x12a8], 0
je 0x4d7fd5
xor eax, eax
mov ecx, 7
xor edx, edx
mov dword [esi + 0x10], 0
jmp 0x4d6495
xor edx, edx
call fcn.005a6860
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x12a8]
mov dword [eax + ecx*4], 0x303f
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d54e2
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x308e
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5515
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3024
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5548
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, byte [esi + 0x50]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d557b
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3023
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d55ae
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov edi, dword [esi + 0x30]
mov ecx, dword [esi + 0x12a0]
mov eax, edi
shr eax, 0x10
movzx eax, al
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d55eb
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3022
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5621
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 0x12a0]
shr edi, 0x18
mov dword [eax + edx*4], edi
mov edx, dword [esi + 0x12a8]
inc edx
cmp byte [esi + 0xfc], 0
mov dword [esi + 0x12a8], edx
je 0x4d56be
mov eax, dword [esi + 0x20c]
mov edi, 0x12
test byte [eax + 0x40], 4
je 0x4d63c3
cmp edx, dword [esi + 0x12a4]
jne 0x4d5671
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3339
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d56a4
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x333b
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d56d7
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3021
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d570a
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0xc]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d573c
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3025
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d576f
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0xc0]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d57a4
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3026
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d57d7
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x100]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d580c
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3033
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d583f
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ah, byte [esi + 0x170]
mov edi, dword [esi + 0x12a0]
rol ah, 4
mov cl, ah
mov al, ah
add ah, ah
and cl, 0x10
shr al, 2
and ah, 0x40
shl cl, 2
or cl, al
and cl, 0x50
add cl, cl
or ah, cl
shr ah, 5
movzx eax, ah
mov dword [edi + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
cmp byte [esi + 0x6c], 2
mov dword [esi + 0x12a8], edx
je 0x4d5e16
cmp edx, dword [esi + 0x12a4]
jne 0x4d58a2
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3027
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a4]
inc edx
cmp byte [esi + 0x6c], 0
mov dword [esi + 0x12a8], edx
je 0x4d5de7
cmp edx, eax
jne 0x4d58e1
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3038
jmp 0x4d5e09
mov dword [eax], 0x2015
mov dword [esi + 0xa0], edi
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5932
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ebx, dword [esi + 0x30]
mov ecx, dword [esi + 0x12a0]
movzx eax, bh
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5971
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ebx, dword [esi + 0x30]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2017
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d59b1
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ebx, dword [esi + 0x30]
mov ecx, dword [esi + 0x12a0]
mov eax, ebx
shr eax, 0x10
movzx eax, al
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d59f5
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ebx, dword [esi + 0x30]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2019
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5a35
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ebx, dword [esi + 0x30]
mov eax, dword [esi + 0x12a0]
shr ebx, 0x18
mov dword [eax + edx*4], ebx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5a71
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x201b
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5aae
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0xc]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5aea
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2022
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5b27
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0xc0]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5b66
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2023
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5ba3
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x100]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5be2
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2010
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5c1f
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, 0x12
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5c66
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ecx, 0x12
mov eax, dword [esi + 0x12a0]
xor ebx, ebx
mov dword [eax + edx*4], 0x2011
mov edx, dword [esi + 0x12a8]
inc edx
cmp byte [esi + 0xbc], 0
mov dword [esi + 0x12a8], edx
sete al
cmp edx, dword [esi + 0x12a4]
jne 0x4d5cbd
lea ecx, [esi + 0x12a0]
mov byte [esi + 0x30], al
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, byte [esi + 0x30]
mov ecx, 0x12
xor ebx, ebx
mov bl, al
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], ebx
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
mov eax, dword [eax + 0x30]
test al, 4
jne 0x4d63ff
cmp byte [esi + 0xfc], 0
je 0x4d815b
xor eax, eax
mov dword [esi + 0xc0], 0x1e
mov dword [esi + 0xd0], 0x8a708c
mov dword [esi + 0x10], 0
xor ebx, ebx
cmp dword [esi + 0x12a4], 0
jne 0x4d50a6
jmp 0x4d50c4
mov dword [esi + 0x10], 2
call sub.kernel32.dll_GetLastError
xor edx, edx
mov dword [esi + 0x90], eax
cmp dword [esi + 0x1ef4], 0
je 0x4d5d53
push dword [esi + 0x30]
push 0
push dword [0x919820]
mov edi, edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, edi
cmp dword [esi + 0xd0], 0
je 0x4d5d71
push dword [esi + 0xc]
push 0
push dword [0x919820]
mov edi, edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, edi
cmp dword [esi + 0x10], 3
je 0x4d2279
mov eax, edx
xor edx, edx
cmp al, 3
jne 0x4d2279
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x4248], 0x74
mov dword [esi + 0x30], ecx
push ecx
mov dword [esi + 0x10], eax
call dword [eax]
add esp, 4
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x70]
cmp dword [eax + 4], 0
je 0x4d8414
cmp dword [eax + 8], 9
jae 0x4d83ff
mov eax, dword [esi + 0x30]
jmp 0x4d8405
mov ecx, 7
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x100], 0
jmp 0x4d649b
cmp edx, eax
jne 0x4d5dfc
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3050
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp word [esi + 0x13c], 0
je 0x4d5e89
cmp edx, dword [esi + 0x12a4]
jne 0x4d5e39
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x303b
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5e6c
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, word [esi + 0x1b8]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp word [esi + 0xf8], 0
je 0x4d5efc
cmp edx, dword [esi + 0x12a4]
jne 0x4d5eac
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x303c
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5edf
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, word [esi + 0x310]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp byte [esi + 0xec], 0
je 0x4d5fd8
cmp edx, dword [esi + 0x12a4]
jne 0x4d5f22
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3032
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5f55
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5f88
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3031
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d5fbb
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, byte [esi + 0x230]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp byte [esi + 0xf0], 0
je 0x4d6065
cmp edx, dword [esi + 0x12a4]
jne 0x4d5ffe
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x3040
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d6031
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ah, byte [esi + 0x1a8]
mov edi, dword [esi + 0x12a0]
mov al, ah
mov cl, ah
shl ah, 3
shr al, 1
and cl, 4
and ah, 0x48
and al, 1
or cl, al
or ah, cl
movzx eax, ah
mov dword [edi + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp dword [esi + 0x1c0], 0
je 0x4d60d6
cmp edx, dword [esi + 0x12a4]
jne 0x4d6087
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x302c
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d60ba
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x1d4]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp dword [esi + 0x1f0], 0
je 0x4d6147
cmp edx, dword [esi + 0x12a4]
jne 0x4d60f8
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x302a
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d612b
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x2c8]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d6160
lea ecx, [esi + 0x12a0]
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
lea ecx, [esi + 0x248]
mov dword [eax + edx*4], 0x3038
inc dword [esi + 0x12a8]
mov dword [esi + 0x248], 0
mov edx, dword [esi + 0x20c]
mov eax, dword [edx + 0x3c]
push ecx
push 0
push 0
mov dword [esi + 0x50], edx
push dword [edx + 0xc]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x248]
test ecx, ecx
mov dword [esi + 0x3e0], ecx
mov dword [esi + 0x30], ecx
je 0x4d61ff
xor ebx, ebx
cmp ecx, 0x20000000
setb al
jae 0x4eb4ea
mov bl, al
lea edi, [ecx*4]
shl ebx, 2
test edi, edi
js 0x4eb4f4
je 0x4d6206
mov eax, dword [0x919820]
test eax, eax
jne 0x4d61f3
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb48d
mov dword [0x919820], eax
push edi
push 8
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
jmp 0x4d6208
mov eax, 4
jmp 0x4d6210
mov eax, ebx
test eax, eax
je 0x4eb48d
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x12a0]
lea edi, [esi + 0x3e0]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x14]
mov byte [esi + 0x22d], 1
mov dword [esi + 0x4248], 0xfc
push edi
push dword [esi + 0x30]
mov dword [esi + 0x50], eax
push eax
push edx
push ebx
call ecx
test eax, eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x70]
je 0x4d63a7
mov dword [esi + 0x1870], ecx
mov dword [esi + 0x1874], eax
mov eax, dword [esi + 0xd0]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x1878], eax
mov eax, dword [esi + 0x15c]
mov dword [esi + 0x187c], eax
mov eax, dword [esi + 0x3e0]
mov dword [esi + 0x1880], edx
mov dword [esi + 0x1884], ecx
mov dword [esi + 0x1888], edx
lea eax, [edx + eax*4]
mov dword [esi + 0x188c], eax
lea eax, [esi + 0x20c]
mov dword [esi + 0x1890], eax
movzx eax, byte [esi + 0x1d8]
mov byte [esi + 0x1894], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d62da
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb3d7
mov dword [0x919820], eax
push 0x28
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb3d7
movsd xmm0, qword [esi + 0x1890]
mov edi, eax
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x1888]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x1880]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
cmp dword [esi + 0x12a4], 0
je 0x4d634c
push dword [esi + 0x12a0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x1870], edi
mov dword [esi + 0x1874], 0x8a6cb4
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d637f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb3f5
mov dword [0x919820], eax
push 8
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb3f5
mov dword [eax], edi
mov ecx, eax
mov dword [eax + 4], 0x8a6cb4
mov eax, 0x8a79d8
jmp 0x4d652c
cmp dword [esi + 0x30], 0
je 0x4d63be
push dword [esi + 0x50]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, 7
cmp dword [esi + 0x12a4], 0
je 0x4d63e0
push dword [esi + 0x12a0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
mov ebx, 0x1a
mov ecx, str.float_pixels_not_supported
mov dword [esi + 0x30], edi
mov dword [esi + 0x70], 0x8a6cb4
xor edi, edi
xor eax, eax
jmp 0x4d66b5
cmp byte [esi + 0xfc], 0
mov ecx, 0x202b
mov edi, 0x21a0
cmove edi, ecx
mov dword [esi + 0x30], edi
jmp 0x4d8162
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x1870]
lea edx, [esi + 0x3e0]
mov byte [esi + 0x3e0], 0
mov dword [esi + 0x3e4], eax
call fcn.005dea40
mov ecx, dword [esi + 0x1874]
mov edi, dword [esi + 0x1894]
mov edx, dword [esi + 0x1888]
mov eax, dword [esi + 0x1870]
mov ebx, dword [esi + 0x1884]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x1878]
mov dword [esi + 0x90], edi
mov edi, dword [esi + 0x1890]
mov dword [esi + 0xc0], edx
mov edx, dword [esi + 0x188c]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x187c]
mov dword [esi + 0xa0], edi
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 0x1880]
mov dword [esi + 0x100], edx
mov dword [esi + 0x30], ecx
mov dword [esi + 0xd0], ebx
mov ebx, dword [esi + 0x10]
mov edi, eax
xor eax, 2
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0x100]
or eax, ebx
mov eax, ebx
mov ebx, dword [esi + 0xc0]
jne 0x4d66b5
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1870], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x1874], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d64fd
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb0b2
mov dword [0x919820], eax
push 8
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb0b2
mov ecx, eax
mov eax, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [esi + 0x70]
mov dword [ecx + 4], eax
mov eax, 0x8a79f4
mov dword [esi + 0x4248], 0xf2
mov dword [esi + 0x4248], 0xf2
mov dword [esi + 0x30], ecx
push ecx
mov dword [esi + 0x10], eax
call dword [eax + 0xc]
add esp, 4
cmp eax, 2
je 0x4eb001
mov dword [esi + 0x248], eax
mov dword [esi + 0x24c], edx
mov ecx, dword [0x919aa8]
cmp ecx, 3
jbe 0x4d666f
lea eax, [esi + 0x248]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x12a0]
mov dword [esi + 0x3e0], eax
lea eax, [esi + 0x3e0]
mov dword [esi + 0x12a0], eax
mov dword [esi + 0x12a4], 0x4ac4a0
mov eax, dword [0x91975c]
mov dword [esi + 0x189c], 0x73f1d4
mov dword [esi + 0x18a0], 1
mov dword [esi + 0x18a4], edx
lea edx, [esi + 0x1870]
mov dword [esi + 0x18a8], 1
mov dword [esi + 0x18ac], 0
mov dword [esi + 0x1890], 4
mov dword [esi + 0x1894], 0x73fd98
mov dword [esi + 0x1898], 0x25
mov dword [esi + 0x1878], 0
mov dword [esi + 0x1880], 0x25
mov dword [esi + 0x187c], 0x73fd98
mov dword [esi + 0x1884], 0
mov dword [esi + 0x188c], 0x69
mov dword [esi + 0x1888], 0x73fdbd
mov dword [esi + 0x1870], 1
mov dword [esi + 0x1874], 0x1c8
mov dword [esi + 0x4248], 0xf3
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esi + 0x248]
mov edx, dword [esi + 0x24c]
mov dword [esi + 0xa0], edx
mov dword [esi + 0x50], eax
mov dword [esi + 0x4248], 0xf1
push dword [esi + 0x30]
mov eax, dword [esi + 0x10]
call dword [eax]
add esp, 4
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0xa0]
cmp dword [eax + 4], 0
je 0x4d6a65
cmp dword [eax + 8], 9
jae 0x4d6a50
mov eax, dword [esi + 0x30]
jmp 0x4d6a56
mov dword [esi + 0x10], eax
mov eax, edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x1880], edx
mov dword [esi + 0x1884], ecx
mov dword [esi + 0x1888], ebx
mov dword [esi + 0x188c], eax
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x1894], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x1890], edx
mov dword [esi + 0x1870], edi
mov dword [esi + 0x1874], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1878], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x187c], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d6731
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eacb6
mov dword [0x919820], eax
push 0x28
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eacb6
movsd xmm0, qword [esi + 0x1890]
mov dword [esi + 0x70], eax
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x1888]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x1880]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
cmp dword [esi + 0x208], 0
je 0x4d67a8
mov eax, dword [esi + 0x20c]
lock dec dword [eax]
jne 0x4d67be
mov ecx, dword [esi + 0x20c]
call fcn.005de4e0
jmp 0x4d67be
mov eax, dword [esi + 0x20c]
lock dec dword [eax]
jne 0x4d67be
mov ecx, dword [esi + 0x20c]
call fcn.004f3020
mov eax, dword [esi + 0x2b0]
test eax, eax
je 0x4d686e
lea ecx, [esi + 0x2b0]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x4248], 0xed
call fcn.006fe440
mov ecx, dword [esi + 0x2b4]
mov eax, dword [0x919584]
test eax, eax
jne 0x4d683b
mov dword [esi + 0x10], ecx
mov ecx, dword [0x919580]
test ecx, ecx
je 0x4eafdb
mov eax, dword [str.Winit::DestroyMsg]
cmp byte [ecx + eax - 1], 0
jne 0x4eafdb
mov dword [esi + 0x4248], 0xeb
push eax
call dword [sym.imp.user32.dll_RegisterWindowMessageA]
mov ecx, dword [esi + 0x10]
test eax, eax
mov dword [esi + 0x3e0], eax
je 0x4eb334
mov dword [0x919584], eax
mov dword [esi + 0x4248], 0xeb
push 0
push 0
push eax
push ecx
call dword [sym.imp.user32.dll_PostMessageW]
mov eax, dword [esi + 0x2c]
lock dec dword [eax]
jne 0x4d686e
mov ecx, dword [esi + 0x2b0]
mov dword [esi + 0x4248], 0xea
call fcn.004f30b0
cmp dword [esi + 0x1ef0], 2
mov edi, 0x73ef00
je 0x4d6911
cmp dword [esi + 0x1f9c], 0
je 0x4d689d
push dword [esi + 0x1f98]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x1fa4], 0
je 0x4d68bf
mov eax, dword [esi + 0x1fa8]
test eax, eax
je 0x4d68bf
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1f94]
test eax, eax
je 0x4d68e8
lock dec dword [eax]
jne 0x4d68e8
mov ecx, dword [esi + 0x1f94]
mov dword [esi + 0x4248], 0x107
call fcn.004f31c0
mov edi, 0x73ef00
mov eax, dword [esi + 0x1f00]
test eax, eax
je 0x4d6911
lock dec dword [eax]
jne 0x4d6911
mov ecx, dword [esi + 0x1f00]
mov dword [esi + 0x4248], 0xe3
call fcn.004f31c0
mov edi, 0x73ef00
lea eax, [esi + 0x280]
mov ecx, dword [esi + 0x274]
mov ebx, dword [esi + 0x270]
mov dword [esi + 0x50], 2
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd xmm2, qword [eax + 0x18]
mov dword [esi + 0xa0], ecx
mov ecx, dword [esi + 0x278]
movsd qword [esi + 0x2e8], xmm1
movsd xmm1, qword [eax + 0x10]
movq qword [esi + 0x2e0], xmm0
movsd qword [esi + 0x2f8], xmm2
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x27c]
movsd qword [esi + 0x2f0], xmm1
movq xmm1, qword [eax + 0x20]
mov eax, dword [eax + 0x28]
mov dword [esi + 0xd0], ecx
mov dword [esi + 0x308], eax
movq qword [esi + 0x300], xmm1
cmp dword [esi + 0x17bc], 0
je 0x4d69ae
push dword [esi + 0x17b8]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x17c4], 0
je 0x4d69d0
mov eax, dword [esi + 0x17c8]
test eax, eax
je 0x4d69d0
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x17b4]
test eax, eax
je 0x4d6a00
lock dec dword [eax]
jne 0x4d6a00
mov ecx, dword [esi + 0x17b4]
mov dword [esi + 0x4248], 0x108
mov dword [esi + 0x10], edi
mov dword [esi + 0x30], ebx
call fcn.004f31c0
mov ebx, dword [esi + 0x30]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x1720]
test eax, eax
je 0x4d76d8
lock dec dword [eax]
jne 0x4d76d8
mov ecx, dword [esi + 0x1720]
mov eax, dword [esi + 0x18c]
mov byte [esi + 0xba], 1
mov dword [esi + 0x4248], 0x5f
mov dword [esi + 0x10], edi
mov dword [esi + 0x30], ebx
mov dword [esi + 0x1bc], eax
call fcn.004f31c0
mov ebx, dword [esi + 0x30]
mov edi, dword [esi + 0x10]
jmp 0x4d76d8
mov eax, dword [esi + 0x30]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x2b4]
mov eax, dword [esi + 0x2b0]
mov edx, dword [esi + 0x2bc]
cmp dword [esi + 0x208], 0
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x2b8]
mov dword [esi + 0x70], eax
mov dword [esi + 0x90], edx
mov dword [esi + 0x30], ecx
je 0x4d6aad
mov eax, dword [esi + 0x20c]
lock dec dword [eax]
jne 0x4d6ac3
mov ecx, dword [esi + 0x20c]
call fcn.005de4e0
jmp 0x4d6ac3
mov eax, dword [esi + 0x20c]
lock dec dword [eax]
jne 0x4d6ac3
mov ecx, dword [esi + 0x20c]
call fcn.004f3020
cmp dword [esi + 0x1ef0], 2
je 0x4d6b69
cmp dword [esi + 0x1f9c], 0
je 0x4d6aed
push dword [esi + 0x1f98]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x1fa4], 0
je 0x4d6b0f
mov eax, dword [esi + 0x1fa8]
test eax, eax
je 0x4d6b0f
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1f94]
test eax, eax
je 0x4d6b3c
lock dec dword [eax]
jne 0x4d6b3c
mov ecx, dword [esi + 0x1f94]
mov dword [esi + 0x4248], 0x106
call fcn.004f31c0
mov ebx, dword [esi + 0xa0]
mov edi, dword [esi + 0x50]
mov eax, dword [esi + 0x1f00]
test eax, eax
je 0x4d6b69
lock dec dword [eax]
jne 0x4d6b69
mov ecx, dword [esi + 0x1f00]
mov dword [esi + 0x4248], 0xe3
call fcn.004f31c0
mov ebx, dword [esi + 0xa0]
mov edi, dword [esi + 0x50]
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x90]
test edi, edi
mov dword [esi + 0x2d8], edi
mov dword [esi + 0x2dc], ebx
mov dword [esi + 0x3b0], eax
mov dword [esi + 0x3b4], ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x3bc], edx
mov dword [esi + 0x3b8], ecx
je 0x4d6c39
mov ebx, dword [ebx + 0x34]
lock inc dword [ebx]
jle 0x4eaad6
mov dword [esi + 0x358], 1
mov dword [esi + 0x35c], ebx
mov eax, dword [0x919aa8]
cmp eax, 3
mov eax, dword [esi + 0x70]
jbe 0x4d6e40
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d6bf4
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb4cc
mov dword [0x919820], eax
push 3
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb4cc
mov byte [eax + 2], 0x4c
mov word [eax], 0x4757
mov dword [esi + 0x248], eax
mov dword [esi + 0x24c], 3
mov dword [esi + 0x250], 3
mov dword [esi + 0x4248], 0xe5
jmp 0x4d6d03
mov eax, dword [ebx + 8]
lock inc dword [eax]
jle 0x4eaad6
mov ecx, dword [ebx + 8]
mov dword [esi + 0x358], 0
mov dword [esi + 0x35c], ecx
mov eax, dword [0x919aa8]
cmp eax, 3
mov eax, dword [esi + 0x70]
jbe 0x4d6e40
lea eax, [ecx + 0x44]
mov dword [esi + 0x10], ecx
add ecx, 0x45
mov dword [esi + 0x4e0], 0x8a6f54
mov dword [esi + 0x4e4], 2
mov dword [esi + 0x4f0], 0
lea edx, [esi + 0x4e0]
mov dword [esi + 0x4248], 0xe4
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], 0x42c890
mov dword [esi + 0x1ef8], ecx
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x1efc], 0x42c890
mov dword [esi + 0x4e8], ecx
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4ec], 2
call fcn.00425710
movsd xmm0, qword [esi + 0x12a0]
mov eax, dword [esi + 0x12a8]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x10]
movsd qword [esi + 0x248], xmm0
mov dword [esi + 0x250], eax
xor eax, eax
test edi, edi
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1870]
sete al
shl eax, 4
mov eax, dword [eax + ebx + 0x30]
mov dword [esi + 0x1ef0], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x1870], eax
lea eax, [esi + 0x1ef0]
mov dword [esi + 0x1874], 0x4250a0
mov dword [esi + 0x1878], eax
mov dword [esi + 0x187c], 0x5dc710
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73e7d8
mov dword [esi + 0x510], 2
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 2
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1d2
mov dword [esi + 0x4248], 0xe5
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
cmp dword [esi + 0x24c], 0
je 0x4d6e3a
push dword [esi + 0x248]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x3b0]
test eax, eax
je 0x4d6e80
mov eax, dword [esi + 0x3b4]
mov dword [esi + 0x4248], 0xe4
push 0xfffffffffffffffa
mov dword [esi + 0x10], eax
push eax
call dword [sym.imp.user32.dll_GetWindowLongW]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x2b0], 8
mov dword [esi + 0x2b4], ecx
mov dword [esi + 0x2b8], eax
mov eax, 8
jmp 0x4d6e8f
mov dword [esi + 0x2b0], 0xd
mov eax, 0xd
mov ecx, dword [0x919aa8]
cmp ecx, 4
jb 0x4d6f94
lea eax, [esi + 0x2b0]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], 0x4ffe50
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73e818
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 1
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1d8
mov dword [esi + 0x4248], 0xe4
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esi + 0x2b0]
mov ecx, dword [esi + 0x2bc]
movsd xmm0, qword [esi + 0x2b4]
cmp dword [esi + 0x2d8], 0
mov dword [esi + 0x3f4], ecx
movsd qword [esi + 0x3ec], xmm0
mov dword [esi + 0x3e0], 2
mov dword [esi + 0x3e8], eax
mov byte [esi + 0x3f8], 2
mov dword [esi + 0x3fc], 0x20001
mov dword [esi + 0x25c], ecx
movsd qword [esi + 0x254], xmm0
mov dword [esi + 0x248], 2
mov dword [esi + 0x250], eax
mov dword [esi + 0x260], 1
mov dword [esi + 0x264], 0x20001
je 0x4d7024
mov eax, dword [esi + 0x2dc]
mov ecx, 1
mov eax, dword [eax + 0x34]
lock inc dword [eax]
jg 0x4d7045
jmp 0x4eaad6
mov eax, dword [esi + 0x2dc]
mov ecx, dword [eax + 8]
lock inc dword [ecx]
jle 0x4eaad6
mov eax, dword [eax + 8]
mov dword [esi + 0x4248], 0xe6
xor ecx, ecx
lea edi, [esi + 0x3e0]
mov dword [esi + 0x3a8], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x3ac], eax
mov dword [esi + 0x4248], 0xe6
lea eax, [esi + 0x2d8]
lea ecx, [esi + 0x12a0]
lea edx, [esi + 0x3a8]
push edi
push eax
call fcn.005db140
add esp, 8
mov eax, dword [esi + 0x12a0]
xor eax, 2
or eax, dword [esi + 0x12a4]
jne 0x4d70c5
mov eax, dword [esi + 0x12b8]
movsd xmm0, qword [esi + 0x12a8]
movq xmm1, qword [esi + 0x12b0]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 0x10]
movq qword [esi + 0x210], xmm1
movsd qword [esi + 0x208], xmm0
jmp 0x4d7537
movsd xmm2, qword [esi + 0x12b8]
movsd xmm1, qword [esi + 0x12b0]
movsd xmm0, qword [esi + 0x12c0]
movsd qword [esi + 0x1888], xmm2
movsd qword [esi + 0x1880], xmm1
movsd xmm2, qword [esi + 0x12a0]
movq xmm1, qword [esi + 0x12a8]
movsd qword [esi + 0x1890], xmm0
movq qword [esi + 0x1878], xmm1
movsd qword [esi + 0x1870], xmm2
mov eax, dword [0x919aa8]
cmp eax, 2
jb 0x4d7229
lea eax, [esi + 0x3e0]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1ef0], eax
lea eax, [esi + 0x1870]
mov dword [esi + 0x1ef4], 0x5dad50
mov dword [esi + 0x1ef8], eax
mov dword [esi + 0x1efc], 0x5decd0
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73e86c
mov dword [esi + 0x510], 2
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 2
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 2
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1e9
mov dword [esi + 0x4248], 0xe7
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [0x919aa8]
cmp eax, 3
jbe 0x4d7327
lea eax, [esi + 0x248]
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1ef0], eax
mov dword [esi + 0x1ef4], 0x5dad50
mov eax, dword [0x91975c]
mov dword [esi + 0x50c], 0x73e8a8
mov dword [esi + 0x510], 1
mov dword [esi + 0x514], edx
lea edx, [esi + 0x4e0]
mov dword [esi + 0x518], 1
mov dword [esi + 0x51c], 0
mov dword [esi + 0x500], 4
mov dword [esi + 0x504], 0x73fd98
mov dword [esi + 0x508], 0x25
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4f0], 0x25
mov dword [esi + 0x4ec], 0x73fd98
mov dword [esi + 0x4f4], 0
mov dword [esi + 0x4fc], 0x69
mov dword [esi + 0x4f8], 0x73fdbd
mov dword [esi + 0x4e0], 1
mov dword [esi + 0x4e4], 0x1ea
mov dword [esi + 0x4248], 0xe7
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov edx, dword [esi + 0x2d8]
test edx, edx
mov dword [esi + 0x10], edx
je 0x4d734c
mov eax, dword [esi + 0x2dc]
mov ecx, dword [eax + 0x34]
mov eax, 1
lock inc dword [ecx]
jg 0x4d736d
jmp 0x4eaad6
mov eax, dword [esi + 0x2dc]
mov ecx, dword [eax + 8]
lock inc dword [ecx]
jle 0x4eaad6
mov ecx, dword [eax + 8]
xor eax, eax
mov dword [esi + 0x4248], 0xe8
mov dword [esi + 0x3d8], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3dc], ecx
mov dword [esi + 0x4248], 0xe8
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x3d8]
push eax
lea eax, [esi + 0x2d8]
push eax
call fcn.005db140
add esp, 8
mov edi, dword [esi + 0x1ef0]
mov ecx, dword [esi + 0x10]
mov eax, edi
xor eax, 2
or eax, dword [esi + 0x1ef4]
jne 0x4d7427
movsd xmm0, qword [esi + 0x1ef8]
mov eax, dword [esi + 0x1f00]
movsd qword [esi + 0x208], xmm0
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x1f08]
mov dword [esi + 0x181c], eax
mov dword [esi + 0x218], eax
mov eax, dword [esi + 0x1f04]
mov dword [esi + 0x1818], eax
mov dword [esi + 0x214], eax
mov eax, dword [esi + 0x30]
lock dec dword [eax]
sete al
test ecx, ecx
je 0x4d7500
test al, al
je 0x4d750f
mov ecx, dword [esi + 0x3dc]
call fcn.005de4e0
jmp 0x4d750f
mov eax, dword [esi + 0x1ef8]
movsd xmm0, qword [esi + 0x1f0c]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x1f14]
movsd qword [esi + 0x2e8], xmm0
mov dword [esi + 0x4f0], eax
mov eax, dword [esi + 0x1f08]
movsd xmm0, qword [esi + 0x4f8]
movq xmm1, qword [esi + 0x500]
mov dword [esi + 0x181c], eax
mov dword [esi + 0x4e4], eax
mov eax, dword [esi + 0x1f04]
movsd qword [esi + 0x2f8], xmm0
movq qword [esi + 0x300], xmm1
mov dword [esi + 0x4e0], eax
mov dword [esi + 0x1818], eax
mov eax, dword [esi + 0x508]
movsd xmm0, qword [esi + 0x4e0]
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x1efc]
movsd qword [esi + 0x2e0], xmm0
movq xmm0, qword [esi + 0x4f0]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x1f00]
movq qword [esi + 0x2f0], xmm0
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x30]
lock dec dword [eax]
sete al
test ecx, ecx
je 0x4d7d80
test al, al
je 0x4d7d8f
mov ecx, dword [esi + 0x3dc]
call fcn.005de4e0
jmp 0x4d7d8f
test al, al
je 0x4d750f
mov ecx, dword [esi + 0x3dc]
call fcn.004f3020
mov eax, dword [esi + 0x188c]
test eax, eax
je 0x4d7531
cmp dword [esi + 0x1890], 0
je 0x4d7531
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x3a8]
test eax, eax
je 0x4d7553
mov eax, dword [esi + 0x3ac]
lock dec dword [eax]
jne 0x4d7569
mov ecx, dword [esi + 0x3ac]
call fcn.005de4e0
jmp 0x4d7569
mov eax, dword [esi + 0x3ac]
lock dec dword [eax]
jne 0x4d7569
mov ecx, dword [esi + 0x3ac]
call fcn.004f3020
mov eax, dword [esi + 0x218]
movsd xmm1, qword [esi + 0x210]
movsd xmm2, qword [esi + 0x1710]
movsd xmm0, qword [esi + 0x208]
mov edi, dword [esi + 0x1720]
mov ebx, dword [esi + 0x1724]
lea ecx, [esi + 0x428]
mov dword [esi + 0x420], eax
mov eax, dword [esi + 0x1718]
movsd qword [esi + 0x418], xmm1
movsd xmm1, qword [esi + 0x1734]
movaps xmmword [esi + 0x10], xmm2
movsd xmm2, qword [esi + 0x173c]
movsd qword [esi + 0x410], xmm0
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x171c]
movsd qword [esi + 0x2e0], xmm1
movsd xmm1, qword [esi + 0x1744]
movsd qword [esi + 0x2e8], xmm2
movsd xmm2, qword [esi + 0x174c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x175c]
movsd qword [esi + 0x2f0], xmm1
movsd xmm1, qword [esi + 0x1754]
movsd qword [esi + 0x2f8], xmm2
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x1728]
movsd qword [esi + 0x300], xmm1
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x172c]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x1730]
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x1760]
push 0x90
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2dc]
movsd xmm0, qword [esi + 0x3b0]
movq xmm1, qword [esi + 0x3b8]
cmp dword [esi + 0x358], 0
mov dword [esi + 0x100], eax
mov dword [esi + 0x30], ecx
movsd qword [esi + 0x4d0], xmm0
movq qword [esi + 0x4d8], xmm1
je 0x4d76b0
mov eax, dword [esi + 0x35c]
lock dec dword [eax]
jne 0x4d76c6
mov ecx, dword [esi + 0x35c]
call fcn.005de4e0
jmp 0x4d76c6
mov eax, dword [esi + 0x35c]
lock dec dword [eax]
jne 0x4d76c6
mov ecx, dword [esi + 0x35c]
call fcn.004f3020
movdqa xmm0, xmmword [esi + 0x10]
movd eax, xmm0
cmp eax, 2
jne 0x4d78aa
mov eax, dword [esi + 0x308]
movq xmm0, qword [esi + 0x300]
movq xmm1, qword [esi + 0x2f8]
movq xmm2, qword [esi + 0x2f0]
movsd xmm3, qword [esi + 0x2e0]
movsd xmm4, qword [esi + 0x2e8]
mov dword [esi + 0x350], eax
movq qword [esi + 0x348], xmm0
movq qword [esi + 0x340], xmm1
movsd qword [esi + 0x360], xmm3
movsd qword [esi + 0x368], xmm4
movq qword [esi + 0x370], xmm2
movq qword [esi + 0x378], xmm1
movq qword [esi + 0x380], xmm0
mov dword [esi + 0x388], eax
mov eax, dword [esi + 0x388]
movq xmm0, qword [esi + 0x380]
movq xmm1, qword [esi + 0x378]
movsd xmm2, qword [esi + 0x370]
movq xmm3, qword [esi + 0x360]
movsd xmm4, qword [esi + 0x368]
mov dword [esi + 0x1110], eax
mov dword [esi + 0x1ee8], eax
mov eax, dword [esi + 0x18c]
movq qword [esi + 0x1108], xmm0
movq qword [esi + 0x1ec0], xmm3
movsd qword [esi + 0x1ec8], xmm4
movsd qword [esi + 0x1ed0], xmm2
movq qword [esi + 0x1ed8], xmm1
movq qword [esi + 0x1ee0], xmm0
test eax, eax
je 0x4d77f7
mov dword [esi + 0x30], ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0x4248], 0x109
push eax
mov dword [esi + 0x18c], eax
call fcn.004f4330
add esp, 4
push dword [esi + 0x18c]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x30]
mov edx, dword [esi + 0x50]
cmp edx, 3
jne 0x4d782c
mov dword [esi + 0x10], 0x3b9aca01
mov eax, dword [esi + 0x3d4]
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x10], ecx
mov dword [eax], 3
mov eax, dword [esi + 0x4240]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esi + 0x3d4]
movsd xmm2, qword [esi + 0x1ed8]
movsd xmm1, qword [esi + 0x1ed0]
mov eax, dword [esi + 0x1ee8]
movq xmm0, qword [esi + 0x1ee0]
movsd qword [ecx + 0x34], xmm2
movsd qword [ecx + 0x2c], xmm1
movsd xmm2, qword [esi + 0x1ec0]
movq xmm1, qword [esi + 0x1ec8]
mov dword [ecx + 0x44], eax
movq qword [ecx + 0x3c], xmm0
mov eax, dword [esi + 0x70]
movq qword [ecx + 0x24], xmm1
movsd qword [ecx + 0x1c], xmm2
mov dword [ecx], edx
mov edx, dword [esi + 0xa0]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edi
mov edi, dword [esi + 0x90]
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], edx
mov edx, dword [esi + 0xd0]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], edx
jmp 0x4d7818
movsd xmm2, qword [esi + 0x2f8]
movsd xmm1, qword [esi + 0x2f0]
mov eax, dword [esi + 0x308]
movsd xmm0, qword [esi + 0x300]
lea ecx, [esi + 0x1168]
movsd qword [esi + 0x340], xmm2
movsd qword [esi + 0x338], xmm1
movsd xmm2, qword [esi + 0x2e0]
movsd xmm1, qword [esi + 0x2e8]
mov dword [esi + 0x350], eax
movsd qword [esi + 0x348], xmm0
movsd qword [esi + 0x330], xmm1
movsd qword [esi + 0x328], xmm2
push 0x90
lea eax, [esi + 0x428]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0x4d8]
movq xmm0, qword [esi + 0x4d0]
mov eax, dword [esi + 0x420]
movsd xmm3, qword [esi + 0x400]
movsd xmm2, qword [esi + 0x410]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0xa0]
mov dword [esi + 0x4248], 0xdd
movsd qword [esi + 0x1208], xmm1
movsd xmm1, qword [esi + 0x408]
movq qword [esi + 0x1200], xmm0
mov dword [esi + 0x1234], eax
movsd qword [esi + 0x1214], xmm3
movsd qword [esi + 0x1224], xmm2
movsd xmm2, qword [esi + 0x1858]
mov eax, dword [esi + 0x350]
movsd xmm3, qword [esi + 0x328]
movsd qword [esi + 0x121c], xmm1
movsd xmm1, qword [esi + 0x418]
movsd qword [esi + 0x122c], xmm1
movsd xmm1, qword [esi + 0x1860]
movsd qword [esi + 0x123c], xmm2
movsd xmm2, qword [esi + 0x338]
movsd qword [esi + 0x1244], xmm1
movsd xmm1, qword [esi + 0x330]
mov dword [esi + 0x1164], eax
movsd qword [esi + 0x114c], xmm2
movq xmm2, qword [esi + 0x348]
mov eax, dword [esi + 0x50]
movsd qword [esi + 0x113c], xmm3
movsd qword [esi + 0x1144], xmm1
movsd xmm1, qword [esi + 0x340]
movq qword [esi + 0x115c], xmm2
movsd qword [esi + 0x1154], xmm1
movdqa xmm1, xmmword [esi + 0x10]
movq qword [esi + 0x1118], xmm1
mov dword [esi + 0x1120], eax
mov dword [esi + 0x1124], ecx
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x1128], edi
mov dword [esi + 0x1130], edx
mov dword [esi + 0x112c], ebx
mov edx, dword [esi + 0xd0]
mov dword [esi + 0x1134], ecx
mov ecx, dword [esi + 0x100]
mov dword [esi + 0x1138], edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x11f8], ecx
mov ecx, dword [esi + 0x2d4]
mov dword [esi + 0x11fc], edx
mov dword [esi + 0x1210], 2
mov dword [esi + 0x1238], 3
lea edx, [esi + 0x1118]
mov dword [esi + 0x124c], ecx
lea ecx, [esi + 0x4e0]
push dword [ebp + 8]
call fcn.004f08f0
add esp, 4
mov eax, dword [esi + 0x4e0]
cmp eax, 3
jne 0x4d7caf
cmp dword [esi + 0x1200], 0
je 0x4d7ae3
mov eax, dword [esi + 0x2c]
mov edx, 2
lea ecx, [esi + 0x1200]
cmp byte [eax + 0x3fa], 1
sbb edx, 0
call fcn.006fec90
lea eax, [esi + 0x1118]
mov dword [esi + 0x270], eax
lea eax, [esi + 0x270]
mov dword [esi + 0x1ef0], eax
push 0xabc
push 0
lea edi, [esi + 0x4e0]
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea edx, [esi + 0x1ef0]
mov ecx, edi
call fcn.005cf210
push 0x46c
lea eax, [esi + 0x4e0]
push eax
lea eax, [esi + 0x12a0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x94c]
lea eax, [esi + 0x950]
push 0x64c
push eax
lea eax, [esi + 0x1870]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test edi, edi
je 0x4eb545
push 0x1f02
mov dword [esi + 0x13c], edi
call edi
mov edi, eax
test eax, eax
je 0x4eb559
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esi + 0x4e0]
mov edx, edi
push eax
call fcn.0042b970
add esp, 4
cmp dword [esi + 0x4e0], 0
jne 0x4eb5a0
mov ebx, dword [esi + 0x4e8]
mov eax, dword [esi + 0x4e4]
test ebx, ebx
mov dword [esi + 0x120], ebx
je 0x4d7f2a
setns cl
js 0x4eb853
mov byte [esi + 0x30], cl
mov dword [esi + 0x10], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d7bf2
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov ebx, dword [esi + 0x120]
test eax, eax
je 0x4eb67e
mov dword [0x919820], eax
mov ebx, dword [esi + 0x120]
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb67e
mov edi, eax
push ebx
push dword [esi + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp ebx, 6
mov ecx, edi
jb 0x4d7f3b
mov eax, 0x47626557
movzx edx, word [ecx + 4]
xor eax, dword [ecx]
xor edx, 0x204c
or edx, eax
jne 0x4d7f3b
mov edx, ebx
mov dword [esi + 0x1ac], ecx
mov dword [esi + 0x4248], 0xde
mov dword [esi + 0xc], ecx
push 6
push str.WebGL__ES_C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fglow_0.12.3_src_version.rs
call fcn.005d2e30
add esp, 8
add edx, 6
test eax, eax
mov eax, 6
mov ecx, dword [esi + 0xc]
cmovne eax, edx
mov edx, dword [esi + 0x120]
test eax, eax
mov edi, edx
je 0x4d8d31
mov edi, edx
sub edi, eax
jbe 0x4d8d2b
cmp byte [ecx + eax], 0xbf
jg 0x4d8d31
mov dword [esi + 0x1ac], ecx
push 0x8a6b8c
push edx
push eax
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
movsd xmm0, qword [esi + 0x4fc]
mov ecx, dword [esi + 0x4e8]
mov edx, dword [esi + 0x4e4]
mov dword [esi + 0x50], eax
mov byte [esi + 0xba], 1
mov dword [esi + 0x4248], 0x5f
movsd qword [esi + 0x360], xmm0
movsd xmm0, qword [esi + 0x504]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x524]
mov dword [esi + 0x70], edx
mov edx, dword [esi + 0x4f0]
movsd qword [esi + 0x368], xmm0
movsd xmm0, qword [esi + 0x50c]
mov dword [esi + 0x388], ecx
mov ecx, dword [esi + 0x18c]
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0x4ec]
movsd qword [esi + 0x370], xmm0
movsd xmm0, qword [esi + 0x514]
mov dword [esi + 0x1bc], ecx
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x4f4]
movsd qword [esi + 0x378], xmm0
movq xmm0, qword [esi + 0x51c]
mov dword [esi + 0xd0], ecx
lea ecx, [esi + 0x1118]
mov dword [esi + 0x90], edx
movq qword [esi + 0x380], xmm0
call fcn.004c53d0
mov ebx, dword [esi + 0x30]
mov edi, dword [esi + 0x10]
jmp 0x4d774a
test al, al
je 0x4d7d8f
mov ecx, dword [esi + 0x3dc]
call fcn.004f3020
mov eax, dword [esi + 0x188c]
test eax, eax
je 0x4d7db1
cmp dword [esi + 0x1890], 0
je 0x4d7db1
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x3a8], 0
je 0x4d7dd2
mov eax, dword [esi + 0x3ac]
lock dec dword [eax]
jne 0x4d7de8
mov ecx, dword [esi + 0x3ac]
call fcn.005de4e0
jmp 0x4d7de8
mov eax, dword [esi + 0x3ac]
lock dec dword [eax]
jne 0x4d7de8
mov ecx, dword [esi + 0x3ac]
call fcn.004f3020
cmp dword [esi + 0x358], 0
je 0x4d7e09
mov eax, dword [esi + 0x35c]
lock dec dword [eax]
jne 0x4d7e1f
mov ecx, dword [esi + 0x35c]
call fcn.005de4e0
jmp 0x4d7e1f
mov eax, dword [esi + 0x35c]
lock dec dword [eax]
jne 0x4d7e1f
mov ecx, dword [esi + 0x35c]
call fcn.004f3020
cmp dword [esi + 0x2d8], 0
je 0x4d7e40
mov eax, dword [esi + 0x2dc]
lock dec dword [eax]
jne 0x4d7e56
mov ecx, dword [esi + 0x2dc]
call fcn.004f3ec0
jmp 0x4d7e56
mov eax, dword [esi + 0x2dc]
lock dec dword [eax]
jne 0x4d7e56
mov ecx, dword [esi + 0x2dc]
call fcn.004f3550
mov eax, dword [esi + 0x3b0]
test eax, eax
je 0x4d7f0f
lea ecx, [esi + 0x3b0]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x4248], 0x103
call fcn.006fe440
mov ecx, dword [esi + 0x3b4]
mov eax, dword [0x919584]
test eax, eax
jne 0x4d7ed6
mov dword [esi + 0x30], ecx
mov ecx, dword [0x919580]
test ecx, ecx
je 0x4eb82d
mov eax, dword [str.Winit::DestroyMsg]
cmp byte [ecx + eax - 1], 0
jne 0x4eb82d
mov dword [esi + 0x4248], 0x104
push eax
call dword [sym.imp.user32.dll_RegisterWindowMessageA]
mov ecx, dword [esi + 0x30]
test eax, eax
mov dword [esi + 0x12a0], eax
je 0x4ebee4
mov dword [0x919584], eax
mov dword [esi + 0x4248], 0x104
push 0
push 0
push eax
push ecx
call dword [sym.imp.user32.dll_PostMessageW]
mov eax, dword [esi + 0x2c]
lock dec dword [eax]
mov edi, dword [esi + 0x10]
jne 0x4d7f0f
mov ecx, dword [esi + 0x3b0]
mov dword [esi + 0x4248], 0xe3
call fcn.004f30b0
mov edi, dword [esi + 0x10]
xor ebx, ebx
mov dword [esi + 0x50], 1
cmp dword [esi + 0x17bc], 0
jne 0x4d699a
jmp 0x4d69ae
push ebx
push eax
push 1
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, 1
mov edx, ebx
mov dword [esi + 0x1ac], ecx
mov dword [esi + 0x4248], 0xde
mov dword [esi + 0xc], ecx
push 4
push 0x8a6b12
call fcn.005d2e30
add esp, 8
test eax, eax
je 0x4d7fa7
mov ebx, edx
mov edx, dword [esi + 0x120]
mov ecx, dword [esi + 0xc]
add ebx, 4
mov edi, edx
je 0x4d8433
mov edi, edx
sub edi, ebx
jbe 0x4d842d
cmp byte [ecx + ebx], 0xbf
jg 0x4d8433
mov dword [esi + 0x1ac], ecx
push 0x8a6b7c
push edx
push ebx
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x120]
mov dword [esi + 0xec], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0xfc], 0
mov ebx, ecx
jmp 0x4d844f
mov edi, dword [esi + 0x70]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x12a4]
lock inc dword [edi]
jle 0x4eaad6
lea edx, [esi + 0x12a9]
movsd xmm0, qword [edx + 0x17]
movsd xmm2, qword [edx]
movsd xmm3, qword [edx + 8]
movq xmm1, qword [edx + 0x10]
movsd qword [esi + 0x189c], xmm0
movq qword [esi + 0x1895], xmm1
movsd qword [esi + 0x188d], xmm3
movsd qword [esi + 0x1885], xmm2
mov dword [esi + 0x1878], 1
mov dword [esi + 0x187c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x1880], ecx
mov byte [esi + 0x1884], 0
mov dword [esi + 0x18a4], edi
mov dword [esi + 0x18a8], eax
mov dword [esi + 0x18ac], ebx
mov dword [esi + 0x1870], 1
mov dword [esi + 0x1874], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d808f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4ebe61
mov dword [0x919820], eax
push 0x40
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4ebe61
movsd xmm0, qword [esi + 0x18a8]
mov ebx, eax
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esi + 0x18a0]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esi + 0x1898]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esi + 0x1890]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x1888]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x1880]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0x1870], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d8134
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4ebe7f
mov dword [0x919820], eax
push 4
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x50], eax
je 0x4ebe7f
mov eax, dword [esi + 0x50]
mov dword [esi + 0x70], 0x8a7044
mov dword [eax], ebx
jmp 0x4d64c8
mov dword [esi + 0x30], 0x202b
cmp byte [esi + 0xec], 0
je 0x4d826f
and eax, 0x40
je 0x4d826f
cmp edx, dword [esi + 0x12a4]
jne 0x4d819b
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2041
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d81d8
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d8215
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2042
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d8252
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
movzx eax, byte [esi + 0x230]
mov ecx, dword [esi + 0x12a0]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d8292
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2013
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d82cf
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0x30]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
cmp byte [esi + 0x120], 2
mov dword [esi + 0x12a8], edx
je 0x4d8377
cmp edx, dword [esi + 0x12a4]
jne 0x4d8318
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov ecx, dword [esi + 0xa0]
mov dword [eax + edx*4], 0x2012
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d8361
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp byte [esi + 0x6c], 2
je 0x4d8783
cmp edx, dword [esi + 0x12a4]
jne 0x4d83a4
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2003
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a4]
inc edx
cmp byte [esi + 0x6c], 0
mov dword [esi + 0x12a8], edx
je 0x4d874a
cmp edx, eax
jne 0x4d83ed
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2027
jmp 0x4d8776
mov eax, dword [esi + 0x30]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x90]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4d2277
jne 0x4d7f8d
add ebx, ecx
mov al, 1
mov dword [esi + 0xec], 0
mov dword [esi + 0xf8], eax
mov al, 1
mov dword [esi + 0xfc], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 0x1ac], ecx
lea ecx, [esi + 0x4e0]
mov dword [esi + 0x90], ebx
mov edx, ebx
push 8
push str.GLSL_ES
mov dword [esi + 0xc0], edi
push edi
call fcn.0042f9e0
add esp, 0xc
mov eax, dword [esi + 0x510]
mov edx, dword [esi + 0x514]
cmp dword [esi + 0x4e0], 0
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], edx
je 0x4d872d
mov ecx, dword [esi + 0x4fc]
mov edi, dword [esi + 0x51c]
mov eax, ecx
lea eax, [ecx + edi - 1]
mov dword [esi + 0x170], ecx
mov dword [esi + 0x70], edi
cmp eax, edx
jae 0x4d8b54
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x4f8]
mov edx, dword [esi + 0x4f0]
mov ebx, ecx
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1c0], edx
sub ebx, edi
mov edi, 1
sub edi, edx
mov edx, dword [esi + 0x504]
mov dword [esi + 0x230], ebx
mov dword [esi + 0x310], edi
mov edi, dword [esi + 0x518]
mov dword [esi + 0xf0], edx
mov dword [esi + 0x100], edi
mov edi, dword [esi + 0x4e8]
mov dword [esi + 0x50], edi
mov edi, dword [esi + 0x4ec]
mov dword [esi + 0xa0], edi
lea edi, [ecx + ecx - 1]
dec ecx
mov dword [esi + 0x6c], edi
mov edi, edx
mov dword [esi + 0x140], ecx
cmp dword [esi + 0xf0], 0xffffffff
je 0x4d856f
mov ecx, dword [esi + 0x10]
mov edx, 1
movzx ecx, byte [ecx + eax]
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
and eax, dword [esi + 0xa0]
and edx, dword [esi + 0x50]
or edx, eax
je 0x4d85c0
mov dword [esi + 0xd0], edi
jmp 0x4d8647
mov ebx, dword [esi + 0x170]
mov dword [esi + 0x1f0], edi
mov ecx, dword [esi + 0x10]
mov edx, 1
xor edi, edi
movzx ecx, byte [ecx + eax]
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
cmovne eax, edx
cmovne edx, edi
and eax, dword [esi + 0xa0]
and edx, dword [esi + 0x50]
or edx, eax
jne 0x4d861d
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x140]
add eax, ebx
add ebx, dword [esi + 0x70]
add ecx, ebx
cmp ecx, dword [esi + 0x30]
jb 0x4d857b
jmp 0x4d8b48
mov edi, dword [esi + 0x170]
mov eax, dword [esi + 0x70]
add edi, eax
lea ebx, [eax + edi - 1]
mov dword [esi + 0x170], edi
cmp ebx, dword [esi + 0x30]
jae 0x4d8b54
mov eax, dword [esi + 0x10]
mov edx, 1
movzx ecx, byte [eax + ebx]
xor eax, eax
shld eax, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
and eax, dword [esi + 0xa0]
and edx, dword [esi + 0x50]
or edx, eax
jne 0x4d8635
mov eax, dword [esi + 0x70]
add ebx, eax
add edi, eax
cmp ebx, dword [esi + 0x30]
jb 0x4d85de
jmp 0x4d8b48
mov edi, dword [esi + 0x1f0]
mov dword [esi + 0xd0], 0
mov dword [esi + 0x170], ebx
jmp 0x4d8647
mov dword [esi + 0x170], edi
xor edi, edi
mov dword [esi + 0xd0], 0
mov eax, dword [esi + 0x1c0]
mov dword [esi + 0x1f0], edi
cmp eax, edi
cmova edi, eax
cmp dword [esi + 0xf0], 0xffffffff
cmove edi, eax
cmp edi, dword [esi + 0x70]
mov dword [esi + 0xbc], edi
jae 0x4d86a2
mov eax, dword [esi + 0x170]
mov edx, dword [esi + 0xbc]
mov ecx, dword [esi + 0x70]
lea ebx, [edx + eax]
mov eax, dword [esi + 0x100]
sub ecx, edx
add eax, edx
cmp ebx, dword [esi + 0x30]
jae 0x4daf41
movzx edx, byte [eax]
mov edi, dword [esi + 0x10]
cmp dl, byte [edi + ebx]
jne 0x4d86f7
inc ebx
inc eax
dec ecx
jne 0x4d8689
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esi + 0x170]
cmp dword [esi + 0xd0], ecx
jae 0x4d8e78
dec ecx
cmp ecx, dword [esi + 0x70]
jae 0x4dae36
lea ebx, [ecx + edx]
cmp ebx, dword [esi + 0x30]
jae 0x4dae5e
mov eax, dword [esi + 0x100]
mov edi, dword [esi + 0x10]
movzx eax, byte [eax + ecx]
cmp al, byte [edi + ebx]
je 0x4d86ae
add edx, dword [esi + 0x1d8]
cmp dword [esi + 0xf0], 0xffffffff
mov eax, dword [esi + 0x230]
jmp 0x4d8708
add ebx, dword [esi + 0x310]
xor eax, eax
cmp dword [esi + 0xf0], 0xffffffff
mov edx, ebx
mov edi, dword [esi + 0x1f0]
je 0x4d8712
mov edi, eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x170], edx
lea eax, [edx + eax - 1]
cmp eax, dword [esi + 0x30]
jb 0x4d852d
jmp 0x4d8b54
cmp byte [esi + 0x4ee], 0
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0xc0]
je 0x4d8b7a
mov al, 1
jmp 0x4d8b69
cmp edx, eax
jne 0x4d8769
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2025
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
test byte [esi + 0x170], 1
je 0x4d8806
cmp edx, dword [esi + 0x12a4]
jne 0x4d87af
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2001
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d87ec
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
test byte [esi + 0x170], 2
je 0x4d8889
cmp edx, dword [esi + 0x12a4]
jne 0x4d8832
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x2001
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d886f
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp byte [esi + 0x1d8], 0
je 0x4d890c
cmp edx, dword [esi + 0x12a4]
jne 0x4d88b5
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0x200a
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d88f2
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 1
mov edx, dword [esi + 0x12a8]
inc edx
mov dword [esi + 0x12a8], edx
cmp edx, dword [esi + 0x12a4]
jne 0x4d892f
lea ecx, [esi + 0x12a0]
mov dword [esi + 0x4248], 0xf6
call fcn.005a6860
mov edx, dword [esi + 0x12a8]
mov eax, dword [esi + 0x12a0]
mov dword [eax + edx*4], 0
inc dword [esi + 0x12a8]
mov dword [esi + 0x3e0], 0
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d896f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb527
mov dword [0x919820], eax
push 0x400
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb527
mov edi, eax
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x12a0]
lea edx, [esi + 0x3e0]
mov eax, dword [eax]
mov byte [esi + 0x1ee], 1
mov dword [esi + 0x4248], 0xf7
push edx
mov dword [esi + 0x100], edi
push edi
push pe_nt_image_headers32
push 0
push ecx
push dword [esi + 0x10]
call eax
test eax, eax
je 0x4d8a91
mov ecx, dword [esi + 0x100]
mov eax, dword [esi + 0x3e0]
lea eax, [ecx + eax*4]
mov dword [esi + 0x1870], ecx
mov dword [esi + 0x1874], 0x100
mov dword [esi + 0x1878], ecx
mov dword [esi + 0x187c], eax
lea eax, [esi + 0x20c]
mov dword [esi + 0x1880], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x1884], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x4d8a29
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb68e
mov dword [0x919820], eax
push 0x18
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x50], eax
je 0x4eb68e
movsd xmm0, qword [esi + 0x1880]
mov eax, dword [esi + 0x50]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x1870]
movq xmm1, qword [esi + 0x1878]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
cmp dword [esi + 0x12a4], 0
je 0x4d8a85
push dword [esi + 0x12a0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x70], fcn.0053e890
jmp 0x4d64c8
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x1870]
lea edx, [esi + 0x248]
mov byte [esi + 0x248], 0
mov dword [esi + 0x24c], eax
mov byte [esi + 0x1ee], 1
call fcn.005dea40
mov eax, dword [esi + 0x1874]
mov ebx, dword [esi + 0x1870]
mov edi, dword [esi + 0x188c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x1878]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x187c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x1880]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1884]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x1888]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x1894]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x1890]
mov dword [esi + 0xa0], eax
push dword [esi + 0x100]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x30]
mov eax, ebx
mov ebx, edi
cmp dword [esi + 0x12a4], 0
jne 0x4d50a6
jmp 0x4d50c4
mov eax, dword [esi + 0x170]
mov dword [esi + 0x4fc], eax
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0xc0]
mov al, 1
mov dword [esi + 0x4248], 0xde
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x90]
jmp 0x4d8ecf
mov ebx, dword [esi + 0x4e4]
movzx eax, byte [esi + 0x4ec]
mov ecx, ebx
mov ecx, dword [esi + 0x30]
test ebx, ebx
mov dword [esi + 0x170], ebx
mov byte [esi + 0x70], al
je 0x4d8ca0
mov ecx, dword [esi + 0x30]
mov ebx, dword [esi + 0x170]
sub ecx, ebx
jbe 0x4d8c9a
mov eax, dword [esi + 0x10]
cmp byte [eax + ebx], 0xc0
movzx eax, byte [esi + 0x70]
jge 0x4d8ca0
jmp 0x4ec539
mov ecx, dword [esi + 0x1efc]
mov dword [esi + 0x100], edi
test ecx, ecx
je 0x4d8d44
mov edx, dword [esi + 0x1ef8]
mov dword [esi + 0x10], 0x16
cmp byte [edx], 0x29
jne 0x4d8daf
cmp byte [edx], 0xa
jne 0x4d8e30
mov eax, dword [esi + 0x1f04]
inc eax
mov dword [esi + 0x1f04], eax
mov eax, 1
jmp 0x4d8e37
movzx ecx, word [esi + 0x4fd]
mov edx, dword [esi + 0x4e8]
mov edi, dword [esi + 0x4e4]
mov dword [esi + 0x10], eax
mov word [esi + 0x1870], cx
movzx ecx, byte [esi + 0x4ff]
mov dword [esi + 0x100], edx
mov edx, dword [esi + 0x4f0]
mov dword [esi + 0x50], edi
mov edi, dword [esi + 0x4ec]
mov byte [esi + 0x1872], cl
mov ecx, dword [esi + 0x4f8]
mov dword [esi + 0xf0], edx
mov edx, dword [esi + 0x4f4]
mov dword [esi + 0xc0], edi
mov dword [esi + 0x30], ecx
movzx ecx, byte [esi + 0x4fc]
mov dword [esi + 0x120], edx
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x500]
mov dword [esi + 0xd0], ecx
movzx edx, byte [esi + 0x1872]
movzx ebx, word [esi + 0x1870]
jmp 0x4d1f4a
jne 0x4ec539
test ecx, ecx
je 0x4d8d1e
mov ecx, dword [esi + 0x170]
mov eax, dword [esi + 0x10]
mov ah, byte [eax + ecx]
movzx ecx, ah
test ah, ah
jns 0x4d8dc5
mov edi, dword [esi + 0x170]
mov ebx, dword [esi + 0x10]
and ecx, 0x1f
movzx edi, byte [ebx + edi + 1]
and edi, 0x3f
cmp ah, 0xe0
jb 0x4d8da8
mov dword [esi + 0x50], ecx
mov ebx, dword [esi + 0x170]
mov ecx, dword [esi + 0x10]
shl edi, 6
movzx ebx, byte [ecx + ebx + 2]
and ebx, 0x3f
or ebx, edi
cmp ah, 0xf0
jb 0x4d8dba
mov edi, dword [esi + 0x170]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x50]
shl ebx, 6
movzx edi, byte [eax + edi + 3]
and ecx, 7
shl ecx, 0x12
and edi, 0x3f
or edi, ebx
jmp 0x4d8dab
test al, al
jne 0x4d8e81
jmp 0x4d8743
jne 0x4d7c95
mov ebx, ecx
add ebx, eax
mov al, 1
mov dword [esi + 0xec], eax
mov al, 1
jmp 0x4d8441
mov dword [esi + 0x10], 0x16
mov dword [esi + 0xd0], eax
jmp 0x4d1f31
movd xmm0, dword [esi + 0x30]
movd xmm1, dword [esi + 0x120]
mov dword [esi + 0x50], ebx
movzx eax, word [esi + 0x2b0]
movzx ecx, byte [esi + 0x2b2]
mov ebx, dword [esi + 0x70]
mov dword [esi + 0x100], edi
punpckldq xmm1, xmm0
mov word [esi + 0x1710], ax
mov byte [esi + 0x1712], cl
movdqa xmmword [esi + 0x1f0], xmm1
cmp dword [esi + 0x90], 0
jne 0x4d2195
jmp 0x4d21a6
shl ecx, 6
or ecx, edi
jmp 0x4d8dc2
mov dword [esi + 0xd0], eax
jmp 0x4d1f31
mov ecx, dword [esi + 0x50]
shl ecx, 0xc
or ecx, ebx
mov edi, dword [esi + 0xc]
movzx eax, byte [esi + 0x70]
test al, al
jne 0x4d8e81
cmp ecx, 0x110000
je 0x4d8743
mov eax, 1
cmp ecx, 0x80
jb 0x4d8e05
mov eax, 2
cmp ecx, 0x800
jb 0x4d8e05
cmp ecx, 0x10000
mov eax, 4
sbb eax, 0
mov ecx, dword [esi + 0x170]
add ecx, eax
mov dword [esi + 0x170], ecx
je 0x4d8e56
mov eax, dword [esi + 0x30]
sub eax, ecx
jbe 0x4d8e5b
mov ecx, dword [esi + 0x170]
mov edx, dword [esi + 0x10]
cmp byte [edx + ecx], 0xc0
jge 0x4d8e61
jmp 0x4ec539
mov eax, dword [esi + 0x1f08]
inc eax
mov edi, dword [esi + 0x100]
dec ecx
inc edx
mov dword [esi + 0x1f08], eax
mov dword [esi + 0x1ef8], edx
mov dword [esi + 0x1efc], ecx
jmp 0x4d1e22
mov eax, dword [esi + 0x30]
jmp 0x4d8e61
jne 0x4ec539
test eax, eax
je 0x4d8e78
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x10]
movzx eax, byte [ecx + eax]
test al, al
jns 0x4d8e78
cmp al, 0xe0
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0xc0]
mov ebx, dword [esi + 0x170]
mov ecx, dword [esi + 0x90]
add ebx, 8
mov dword [esi + 0x170], ebx
je 0x4d8ea9
mov eax, edx
sub eax, ebx
jbe 0x4d8ead
cmp byte [ecx + ebx], 0xbf
jg 0x4d8eb3
jmp 0x4ec3fa
mov eax, edx
jmp 0x4d8eb3
jne 0x4ec3fa
add ecx, dword [esi + 0x170]
mov dword [esi + 0x4248], 0xde
mov dword [esi + 0xa0], 0
mov edx, eax
mov dword [esi + 0x4e4], ecx
mov dword [esi + 0x90], ecx
mov dword [esi + 0x4e8], edx
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f0], edx
mov dword [esi + 0xc0], edx
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x20
mov dword [esi + 0x4f4], 1
mov dword [esi + 0x4f8], 0x20
mov dword [esi + 0x1ac], edi
call fcn.005d2fd0
cmp dword [esi + 0x1ef0], 0
je 0x4d8f5e
mov edi, dword [esi + 0x1ef4]
mov edx, dword [esi + 0xc0]
mov ecx, dword [esi + 0x90]
test edi, edi
je 0x4d8f59
cmp edi, edx
jae 0x4d8f80
cmp byte [ecx + edi], 0xbf
jle 0x4ebe9d
lea eax, [edi + 1]
jmp 0x4d8f8f
mov edi, dword [esi + 0xc0]
mov ebx, dword [esi + 0x90]
mov dword [esi + 0x6c], 0
mov dword [esi + 0x140], 1
jmp 0x4d9047
jne 0x4ebe9d
mov eax, edx
inc eax
je 0x4eb85d
mov edx, dword [esi + 0xc0]
cmp edx, eax
jbe 0x4d8fca
mov ecx, dword [esi + 0x90]
mov ebx, eax
cmp byte [ecx + eax], 0xbf
jg 0x4d8fce
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x1ac], ecx
mov ecx, dword [esi + 0x90]
push 0x8a6bc4
push edx
push eax
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
mov ebx, edx
jne 0x4d8fa7
mov ecx, edx
sub ecx, eax
je 0x4d9022
setns al
js 0x4eb85d
mov byte [esi + 0x10], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov dword [esi + 0x6c], ecx
test eax, eax
jne 0x4d9009
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4eb88a
mov dword [0x919820], eax
mov ecx, dword [esi + 0x6c]
push ecx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4eb88a
mov ecx, dword [esi + 0x6c]
mov edx, ebx
jmp 0x4d902b
mov edx, ebx
xor ecx, ecx
mov eax, 1
mov ebx, dword [esi + 0x90]
mov dword [esi + 0x6c], ecx
add edx, ebx
push ecx
push edx
mov dword [esi + 0x140], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0x2e
mov dword [esi + 0x4e4], ebx
mov dword [esi + 0x4e8], edi
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f0], edi
mov dword [esi + 0x4f4], 1
mov dword [esi + 0x4f8], 0x2e
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x500], edi
mov word [esi + 0x504], 1
mov dword [esi + 0x4248], 0xe2
call fcn.005d2fd0
cmp dword [esi + 0x1ef0], 0
je 0x4d90ff
mov ecx, dword [esi + 0x4fc]
mov ebx, dword [esi + 0x1ef4]
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x1ef8]
sub ebx, ecx
add ecx, edx
mov dword [esi + 0x4fc], eax
test ebx, ebx
je 0x4d91ba
movzx eax, byte [ecx]
cmp eax, 0x2d
je 0x4d913b
cmp eax, 0x2b
jne 0x4d9140
dec ebx
je 0x4d91ba
inc ecx
jmp 0x4d9140
cmp byte [esi + 0x505], 0
jne 0x4d912c
mov byte [esi + 0x505], 1
cmp byte [esi + 0x504], 0
mov ecx, dword [esi + 0x4fc]
mov ebx, dword [esi + 0x500]
jne 0x4d91aa
cmp ebx, ecx
jne 0x4d91aa
mov dword [esi + 0xd0], 0
jmp 0x4d91d1
cmp ebx, 1
je 0x4d91ba
cmp ebx, 9
jae 0x4d9172
xor edi, edi
movzx eax, byte [ecx]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4d91ba
lea edx, [edi + edi*4]
inc ecx
dec ebx
lea edi, [eax + edx*2]
jne 0x4d9147
mov al, 1
mov dword [esi + 0xd0], eax
cmp byte [esi + 0x505], 0
jne 0x4d91d1
jmp 0x4da735
xor eax, eax
test ebx, ebx
je 0x4da71e
mov dword [esi + 0x10], ebx
movzx ebx, byte [ecx]
mov edx, 0xa
mul edx
seto dl
add ebx, 0xffffffd0
cmp ebx, 0xa
cmovb edi, ebx
jae 0x4d91ba
test dl, dl
jne 0x4d91ba
mov edx, dword [esi + 0x10]
inc ecx
dec edx
add eax, edi
mov edi, ebx
mov ebx, edx
jae 0x4d9174
jmp 0x4d91ba
sub ebx, ecx
add ecx, dword [esi + 0x4e4]
test ebx, ebx
jne 0x4d90e8
mov dword [esi + 0xd0], 0
cmp byte [esi + 0x505], 0
je 0x4da735
xor ebx, ebx
cmp byte [esi + 0xec], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x30], edi
jne 0x4d91f3
cmp byte [esi + 0x505], 0
je 0x4d9cba
test byte [esi + 0xd0], bl
je 0x4eb5d8
movzx eax, word [esi + 0x1710]
mov byte [esi + 0x1ef], 1
mov dword [esi + 0x4248], 0xdf
mov word [esi + 0x2e0], ax
movzx eax, byte [esi + 0x1712]
mov byte [esi + 0x2e2], al
call fcn.006bc750
mov edi, dword [esi + 0x13c]
mov edx, dword [esi + 0xfc]
test eax, eax
je 0x4eb64f
mov ecx, dword [esi + 0xec]
mov dword [esi + 0x500], 0x8cdfe0
mov dword [esi + 0x504], 0
mov dword [esi + 0x508], 0
mov dword [esi + 0x50c], 0
mov ebx, dword [esi + 0x30]
mov dword [esi + 0xfc], edx
movdqu xmm0, xmmword [eax]
and cl, byte [esi + 0xa0]
pshufd xmm1, xmm0, 0x55
movzx ecx, cl
add ebx, ecx
movd ecx, xmm0
add ecx, 1
mov dword [eax], ecx
movd ecx, xmm1
adc ecx, 0
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x10]
movdqu xmmword [esi + 0x510], xmm0
mov dword [esi + 0x4e0], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x4e4], eax
mov eax, dword [esi + 0x140]
mov dword [esi + 0x4e8], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x4ec], eax
mov dword [esi + 0x4f0], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x4f4], ebx
mov dword [esi + 0x4f8], eax
movzx eax, word [esi + 0x2e0]
mov byte [esi + 0x4fc], dl
mov word [esi + 0x4fd], ax
movzx eax, byte [esi + 0x2e2]
mov byte [esi + 0x4ff], al
lea eax, [esi + 0x520]
push 0x46c
lea ecx, [esi + 0x12a0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x98c], edi
lea eax, [esi + 0x990]
push 0x64c
lea ecx, [esi + 0x1870]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp ebx, 3
mov dword [esi + 0xfdc], 0
jae 0x4d968e
mov dword [esi + 0x4248], 0xe0
lea ecx, [esi + 0x428]
lea edx, [esi + 0x4e0]
push 0x1f03
call fcn.005d2cc0
add esp, 4
mov eax, dword [esi + 0x428]
mov ecx, dword [esi + 0x430]
mov dword [esi + 0x1ef0], 0x20
xor ebx, ebx
mov dword [esi + 0x90], 0
mov dword [esi + 0x1ef4], eax
mov dword [esi + 0xd0], eax
add eax, 4
mov dword [esi + 0x1ef8], ecx
mov dword [esi + 0x1efc], 0
mov dword [esi + 0x1f00], ecx
mov dword [esi + 0x1f04], 1
mov dword [esi + 0x1f08], 0x20
mov dword [esi + 0x1f0c], 0
mov dword [esi + 0x1f10], ecx
mov word [esi + 0x1f14], 1
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xc0], eax
cmp ecx, ebx
jb 0x4d9533
mov eax, dword [esi + 0xd0]
movzx edx, byte [esi + 0x1f08]
mov edi, ecx
mov dword [esi + 0x50], ebx
sub edi, ebx
cmp edi, 8
lea ecx, [eax + ebx]
mov eax, edi
mov byte [esi + 0x10], dl
jae 0x4d9457
mov eax, dword [esi + 0x90]
mov edi, ecx
mov dword [esi + 0x50], ebx
mov byte [esi + 0x1f15], 1
mov dword [esi + 0x10], 0
mov dword [esi + 0x30], eax
sub edi, eax
mov ebx, 1
je 0x4d95ab
mov eax, ebx
xor eax, 3
or eax, dword [esi + 0x70]
setne al
or al, byte [esi + 0xf8]
cmp al, 1
je 0x4d96d0
cmp dword [esi + 0x10], 0
jne 0x4d96d0
cmp dword [esi + 0x6c], 0
jns 0x4d96d0
cmp ebx, 3
jne 0x4d96d0
cmp dword [esi + 0x70], 0
jne 0x4d96d0
mov eax, dword [esi + 0xfc]
dec al
je 0x4d9356
cmp al, 2
jae 0x4d9356
mov dword [esi + 0x1ef0], 0
mov eax, dword [esi + 0x8cc]
test eax, eax
je 0x4ebe43
lea ecx, [esi + 0x1ef0]
mov dword [esi + 0x4248], 0xe0
push ecx
push 0x821d
call eax
mov eax, dword [esi + 0x1ef0]
mov dword [esi + 0x70], eax
xor eax, eax
cmp eax, dword [esi + 0x70]
jge 0x4d97f0
mov ecx, dword [esi + 0x990]
test ecx, ecx
je 0x4eaca2
mov dword [esi + 0x10], eax
push eax
push 0x1f03
call ecx
mov edi, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ecx, [esi + 0x1ef0]
mov edx, edi
push eax
call fcn.0042b970
add esp, 4
cmp dword [esi + 0x1ef0], 0
jne 0x4eac6a
mov edi, dword [esi + 0x1ef8]
mov ecx, dword [esi + 0x1ef4]
test edi, edi
je 0x4d97b0
setns al
js 0x4eae6b
mov byte [esi + 0x50], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov dword [esi + 0x30], ecx
test eax, eax
jne 0x4d9798
mov ebx, 1
push edi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x500]
lea edx, [esi + 0x1ef0]
mov dword [esi + 0x1ef0], ebx
mov dword [esi + 0x1ef4], edi
mov dword [esi + 0x1ef8], edi
call fcn.004faee0
mov eax, dword [esi + 0x10]
inc eax
cmp eax, dword [esi + 0x70]
jl 0x4d9714
cmp dword [esi + 0x50c], 0
je 0x4d9c92
mov eax, dword [esi + 0x514]
mov ecx, dword [esi + 0x510]
mov ebx, dword [esi + 0x51c]
mov dword [esi + 0x50], eax
xor eax, 0x736f6d65
mov dword [esi + 0xa0], ecx
mov edx, ebx
xor ebx, 0x103a362a
xor dword [esi + 0x50], 0x6c796765
xor dword [esi + 0xa0], 0x6e657261
mov dword [esi + 0x10], eax
mov eax, ecx
mov ecx, dword [esi + 0x518]
xor edx, 0x646f7261
mov dword [esi + 0x30], ebx
xor eax, 0x70736575
mov dword [esi + 0x70], eax
mov edi, ecx
xor ecx, 0x322b2934
mov eax, ecx
xor edi, 0x6e646f6d
shld eax, ebx, 0x10
shld ebx, ecx, 0x10
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x100], ebx
mov ebx, edx
add eax, edi
adc dword [esi + 0x10], edx
shld ebx, edi, 0xd
shld edi, edx, 0xd
mov dword [esi + 0x70], eax
mov edx, ecx
mov ecx, dword [esi + 0x30]
xor edi, eax
mov eax, dword [esi + 0x10]
movd xmm0, edi
xor ebx, eax
mov eax, ebx
movd xmm3, ebx
shld eax, edi, 0x11
shld edi, ebx, 0x11
add edx, dword [esi + 0xa0]
punpcklqdq xmm3, xmm0
mov ebx, dword [esi + 0x504]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x100]
mov dword [esi + 0xc0], edi
mov edi, dword [esi + 0x70]
adc ecx, dword [esi + 0x50]
mov dword [esi + 0xa0], edx
mov dword [esi + 0x50], 0
movss xmm4, dword [esi + 0xa0]
mov dword [esi + 0x30], ecx
xor eax, ecx
mov ecx, dword [esi + 0xd0]
movss xmm5, dword [esi + 0x30]
mov dword [esi + 0x30], ebx
xor ecx, edx
add dword [esi + 0x10], ecx
mov edx, ecx
movlhps xmm5, xmm4
movd xmm4, dword [esi + 0xc0]
adc edi, eax
shld ecx, eax, 0x15
shrd edx, eax, 0xb
movd xmm2, ecx
mov ecx, dword [esi + 0x10]
movd xmm1, edx
punpckldq xmm2, xmm1
movdqa xmm1, xmm2
shufps xmm1, xmm3, 0x24
movd xmm3, edi
xor edi, 0x645f5248
movd xmm0, ecx
punpckldq xmm0, xmm3
pxor xmm2, xmm0
shufps xmm0, xmm5, 0x24
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xff
shufps xmm2, xmm0, 0xe4
movd eax, xmm1
movd xmm1, dword [esi + 0x90]
movd xmm3, eax
mov eax, ecx
mov ecx, 0xd0000ff
movd xmm5, ecx
mov ecx, 0x67756265
xor eax, 0x4b5f4c47
shufps xmm0, xmm3, 0x4e
punpckldq xmm4, xmm1
movd xmm1, ecx
punpckldq xmm1, xmm5
punpcklqdq xmm1, xmm4
movd xmm4, eax
pxor xmm1, xmm2
movd xmm2, edi
punpcklqdq xmm2, xmm4
movdqa xmm4, xmm1
shufps xmm0, xmm1, 0xe2
movdqa xmm3, xmm1
shufps xmm4, xmm2, 0x24
psrlq xmm3, 0x33
paddq xmm0, xmm4
pshufd xmm2, xmm0, 0xee
movd eax, xmm2
pshufd xmm2, xmm0, 0xff
movd edi, xmm2
movdqa xmm2, xmm1
psrlq xmm2, 0x30
movsd xmm3, xmm2
movdqa xmm2, xmm1
psllq xmm1, 0xd
psllq xmm2, 0x10
movsd xmm1, xmm2
orpd xmm1, xmm3
xorpd xmm1, xmm0
pshufd xmm2, xmm1, 0x55
movdqa xmm3, xmm1
movd ecx, xmm1
movd edx, xmm2
pshufd xmm2, xmm1, 0xee
psrlq xmm3, 0x2f
add ecx, edi
paddq xmm2, xmm0
movdqa xmm0, xmm1
adc edx, eax
movd xmm4, ecx
psrlq xmm0, 0x2b
movsd xmm3, xmm0
movdqa xmm0, xmm1
psllq xmm1, 0x11
psllq xmm0, 0x15
movsd xmm1, xmm0
movdqa xmm0, xmm4
orpd xmm1, xmm3
movd xmm3, edx
punpckldq xmm0, xmm3
punpcklqdq xmm3, xmm4
punpcklqdq xmm0, xmm2
shufps xmm2, xmm3, 0x21
pxor xmm0, xmm1
xorps xmm2, xmmword [0x7260b0]
movdqa xmm1, xmm0
movdqa xmm3, xmm0
psrlq xmm1, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm1
movdqa xmm1, xmm0
paddq xmm2, xmm0
psllq xmm1, 0x10
psllq xmm0, 0xd
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0x4b
orpd xmm0, xmm3
xorpd xmm0, xmm2
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
movapd xmm2, xmm0
movapd xmm3, xmm0
movapd xmm4, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
psllq xmm4, 0x11
movsd xmm3, xmm2
movapd xmm2, xmm0
psllq xmm2, 0x15
movsd xmm4, xmm2
orpd xmm4, xmm3
movapd xmm2, xmm4
shufpd xmm2, xmm1, 1
xorpd xmm4, xmm2
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm4
movd eax, xmm0
pshufd xmm0, xmm2, 0xff
movd ecx, xmm0
xor edx, ecx
mov ecx, dword [esi + 0x500]
xor edx, eax
mov eax, edx
shr eax, 0x19
movd xmm0, eax
lea eax, [ecx - 0xc]
mov dword [esi + 0xa0], ecx
punpcklbw xmm0, xmm0
mov dword [esi + 0x10], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x90], xmm0
and edx, ebx
movdqu xmm1, xmmword [ecx + edx]
mov ecx, dword [esi + 0x10]
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x70], xmm1
pmovmskb edi, xmm0
test di, di
je 0x4d9c5d
mov eax, edi
lea edi, [eax - 1]
and edi, eax
tzcnt eax, eax
add eax, edx
and eax, ebx
neg eax
lea eax, [eax + eax*2]
cmp dword [ecx + eax*4 + 8], 0xc
jne 0x4d9c16
lea eax, [ecx + eax*4]
push 0xc
push dword [eax]
push 0x8a6a10
mov ebx, edx
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebx
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x30]
add esp, 0xc
test eax, eax
jne 0x4d9c16
jmp 0x4d9d5c
movdqa xmm1, xmmword [esi + 0x70]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x4d9c92
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0xa0]
movdqa xmm0, xmmword [esi + 0x90]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x50], eax
jmp 0x4d9bff
cmp byte [esi + 0x4fc], 0
mov edx, dword [esi + 0x4f4]
je 0x4d9d46
xor eax, eax
mov ecx, 1
cmp edx, 3
je 0x4d9d52
jmp 0x4d9d92
mov eax, dword [esi + 0x4e4]
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x4e0]
mov dword [esi + 0x170], ebx
mov dword [esi + 0x4248], 0xe2
mov dword [esi + 0x100], eax
call fcn.005d2fd0
cmp dword [esi + 0x1ef0], 0
je 0x4da6d2
mov ecx, dword [esi + 0x1ef4]
mov edx, dword [esi + 0x4fc]
mov edi, dword [esi + 0x100]
mov eax, dword [esi + 0x1ef8]
mov ebx, dword [esi + 0x170]
add edi, edx
sub ecx, edx
mov dword [esi + 0x4fc], eax
test ecx, ecx
je 0x4d91f3
movzx eax, byte [edi]
cmp eax, 0x2d
je 0x4da960
cmp eax, 0x2b
jne 0x4da969
dec ecx
je 0x4d91f3
inc edi
jmp 0x4da969
xor eax, eax
mov ecx, 2
cmp edx, 4
jne 0x4d9d92
xor eax, eax
cmp dword [esi + 0x4f8], ecx
jbe 0x4d9d92
mov dword [esi + 0x1ef0], 0
mov eax, dword [esi + 0x8cc]
mov dword [esi + 0x4248], 0xe0
test eax, eax
je 0x4eb6ac
lea ebx, [esi + 0x113c]
mov dword [esi + 0xfdc], eax
push 0xb00
lea eax, [esi + 0x4e0]
push eax
lea eax, [esi + 0x1ef0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x120], 0
je 0x4d9dd3
push dword [esi + 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1120]
movsd xmm0, qword [esi + 0x1118]
movsd xmm1, qword [ebx + 8]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x1124]
movaps xmmword [esi + 0xc0], xmm0
movss dword [esi + 0x100], xmm0
movsd xmm0, qword [ebx]
movsd qword [esi + 0x368], xmm1
movq xmm1, qword [ebx + 0x20]
mov dword [esi + 0x70], eax
mov eax, dword [ebx + 0x28]
movsd qword [esi + 0x360], xmm0
movsd xmm0, qword [ebx + 0x10]
movq qword [esi + 0x380], xmm1
mov dword [esi + 0x388], eax
mov eax, dword [esi + 0x1128]
movsd qword [esi + 0x370], xmm0
movq xmm0, qword [ebx + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x1130]
movq qword [esi + 0x378], xmm0
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x112c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x1134]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x1138]
mov dword [esi + 0xd0], eax
push 0xe8
lea eax, [esi + 0x1168]
push eax
lea ebx, [esi + 0x4e0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x5c8]
push 0xb00
lea ecx, [esi + 0x1ef0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea edi, [esi + 0x2a48]
push 0xbe8
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x100], 2
jne 0x4d9eda
cmp byte [esi + 0x505], 0
mov ebx, dword [esi + 0x170]
jne 0x4d91f3
mov byte [esi + 0x505], 1
cmp byte [esi + 0x504], 0
mov edi, dword [esi + 0x4fc]
mov ecx, dword [esi + 0x500]
jne 0x4da709
cmp ecx, edi
je 0x4d91f3
sub ecx, edi
add edi, dword [esi + 0x4e4]
test ecx, ecx
jne 0x4d9d24
jmp 0x4d91f3
mov cl, 1
mov edi, eax
mov dword [esi + 0xd0], ecx
cmp byte [esi + 0x505], 0
jne 0x4d91d1
mov eax, dword [esi + 0x4e4]
lea ecx, [esi + 0x1ef0]
lea edx, [esi + 0x4e0]
mov dword [esi + 0x30], edi
mov dword [esi + 0x4248], 0xe2
mov dword [esi + 0x10], eax
call fcn.005d2fd0
cmp dword [esi + 0x1ef0], 0
je 0x4da7bc
mov eax, dword [esi + 0x1ef4]
mov edx, dword [esi + 0x4fc]
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x1ef8]
mov edi, dword [esi + 0x30]
add ebx, edx
sub eax, edx
mov dword [esi + 0x4fc], ecx
test eax, eax
je 0x4da7fc
cmp byte [ebx], 0x30
jne 0x4da7fc
mov ebx, 0x8c74ba
mov ecx, 1
movzx eax, byte [ebx]
cmp eax, 0x2d
je 0x4da888
cmp eax, 0x2b
jne 0x4da891
dec ecx
je 0x4d91d1
cmp byte [esi + 0x505], 0
mov edi, dword [esi + 0x30]
jne 0x4d91d1
mov byte [esi + 0x505], 1
cmp byte [esi + 0x504], 0
mov ebx, dword [esi + 0x4fc]
mov eax, dword [esi + 0x500]
jne 0x4da7f0
cmp eax, ebx
je 0x4d91d1
sub eax, ebx
add ebx, dword [esi + 0x4e4]
test eax, eax
jne 0x4da78b
mov dword [esi + 0x10], ebx
jmp 0x4da80c
test eax, eax
je 0x4d91d1
mov ecx, eax
add eax, ebx
movzx edx, byte [eax - 1]
test dl, dl
jns 0x4da801
cmp ecx, 1
je 0x4d91d1
cmp ecx, 9
jae 0x4da8bb
cmp ecx, 1
je 0x4d91f3
mov eax, edi
cmp ecx, 9
jae 0x4da9a4
mov edi, eax
mov dword [esi + 0x50], 0
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4daa97
mov edx, dword [esi + 0x50]
inc edi
dec ecx
mov dword [esi + 0x10], 1
lea edx, [edx + edx*4]
lea eax, [eax + edx*2]
mov dword [esi + 0x50], eax
jne 0x4da979
jmp 0x4d91f3
mov dword [esi + 0x50], 0
test ecx, ecx
mov dword [esi + 0x100], eax
je 0x4dac02
mov eax, dword [esi + 0x100]
mov edx, 0xa
mov dword [esi + 0x10], 0
movzx ebx, byte [eax]
mov eax, dword [esi + 0x50]
mul edx
seto dl
add ebx, 0xffffffd0
cmp ebx, 0xa
cmovb edi, ebx
jae 0x4daaa3
test dl, dl
mov dword [esi + 0x50], eax
jne 0x4daaa3
mov dword [esi + 0x10], 0
jmp 0x4d91f3
mov ebx, dword [esi + 0x170]
jmp 0x4d91f3
mov ebx, dword [esi + 0x170]
mov dword [esi + 0x10], 1
jmp 0x4d91f3
mov edx, dword [esi + 0x12b8]
inc edx
inc ecx
mov dword [esi + 0x12b8], edx
dec eax
lea edx, [esi + 0x12a8]
mov dword [esi + 0x12a8], ecx
mov ecx, dword [esi + 0x171c]
mov dword [esi + 0x12ac], eax
mov dword [esi + 0xa0], ecx
lea ecx, [esi + 0x1ef0]
call fcn.0068dc50
mov eax, dword [esi + 0x1ef0]
cmp eax, 0x2c
mov dword [esi + 0x10], eax
jne 0x4dac70
cmp dword [esi + 0x12ac], 0
je 0x4daef9
mov dword [esi + 0x10], 0x22
jmp 0x4dacad
mov ecx, dword [esi + 0x1ef8]
mov eax, dword [esi + 0x1ef4]
mov edx, dword [esi + 0x1efc]
movdqu xmm0, xmmword [esi + 0x1f04]
mov dword [esi + 0x140], ecx
mov ecx, dword [esi + 0x1f00]
mov dword [esi + 0x170], eax
mov dword [esi + 0x30], edx
movdqa xmmword [esi + 0x90], xmm0
mov dword [esi + 0xfc], ecx
mov eax, dword [esi + 0x12b4]
mov ecx, dword [esi + 0x12b8]
cmp dword [esi + 0x70], 0
mov dword [esi + 0x120], eax
mov dword [esi + 0xc], ecx
je 0x4dada9
cmp dword [esi + 0xa0], 0
je 0x4dad76
mov edi, dword [esi + 0x100]
movdqa xmm0, xmmword [edi]
lea ebx, [edi + 0x10]
pmovmskb eax, xmm0
not eax
mov dword [esi + 0xc0], eax
cmp dword [esi + 0xa0], 0
mov eax, dword [esi + 0xc0]
je 0x4dad76
test ax, ax
jne 0x4dad1f
movdqa xmm0, xmmword [ebx]
add edi, 0xfffffe80
add ebx, 0x10
pmovmskb eax, xmm0
cmp ax, 0xffff
je 0x4dad06
not eax
lea ecx, [eax - 1]
and ecx, eax
tzcnt eax, eax
neg eax
mov dword [esi + 0xc0], ecx
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 - 0x14], 0
lea ecx, [edi + eax*8]
je 0x4dad54
push dword [ecx - 0x18]
push 0
push dword [0x919820]
mov dword [esi + 0x6c], ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x6c]
dec dword [esi + 0xa0]
cmp dword [ecx - 8], 0
je 0x4dacf2
push dword [ecx - 0xc]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4dacf2
mov edi, dword [esi + 0x70]
mov ecx, 0x18
lea eax, [edi + 1]
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add edi, eax
cmp edi, 0xffffffef
je 0x4dada9
mov ecx, dword [esi + 0x100]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x170]
mov eax, dword [esi + 0xfc]
jmp 0x4cf4ee
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x70]
mov dword [esi + 0x4248], 0xde
mov dword [esi + 0x1ac], eax
push 0x8c7a2c
call fcn.00709fa0
add esp, 4
jmp 0x4ec964
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x4248], 0xde
mov ecx, ebx
mov dword [esi + 0x1ac], eax
push 0x8c7a3c
call fcn.00709fa0
add esp, 4
jmp 0x4ec964
mov dword [esi + 0xc0], 0
mov dword [esi + 0x30], edi
cmp dword [esi + 0x24c], 0
jne 0x4cf510
jmp 0x4cf524
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x4248], 0xde
add ecx, dword [esi + 0x170]
mov dword [esi + 0x1ac], eax
cmp edx, ecx
cmova ecx, edx
push 0x8c7a4c
call fcn.00709fa0
add esp, 4
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x70
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x6f
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0xd0]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x6e
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7f04
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0xec]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x6d
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0x13c]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x6c
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0xf8]
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4248], 0x6b
mov edx, 0x2b
shl ecx, 8
mov dword [esi + 0x4e0], ecx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x8f7f04
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x73ed3c
call fcn.0070a0f0
add esp, 4
ud2
mov ecx, 1
mov edx, 0xc
mov byte [esi + 0x192], 1
mov dword [esi + 0x4248], 0x60
call fcn.00709d20
jmp 0x4ec964
mov ecx, 0x8f6daf
mov edx, 0x35
push 0x743e50
call fcn.0070a0f0
add esp, 4
jmp 0x4ec964
mov dword [esi + 0x4248], 0x31
mov ecx, str.assertion_failed:_self.name.ends_with_0_
mov edx, 0x2e
push 0x8f7d3c
call fcn.0070a0f0
add esp, 4
jmp 0x4ec964
movzx ecx, byte [esi + 0x90]
mov edx, dword [esi + 0x70]
mov dword [esi + 0x4248], 0x73
call fcn.00709d20
jmp 0x4ec964
ud2
mov dword [esi + 0x4248], 0x73
call fcn.00425040
jmp 0x4ec964
mov dword [esi + 0x4248], 0xe3
lea eax, [esi + 0x208]
mov ecx, str.failed_to_fit_multisamples_option_of_native_options_into_u8
mov edx, 0x3b
push 0x73e748
push 0x73e414
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
movsd xmm0, qword [esi + 0x1ef4]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movsd qword [esi + 0x1710], xmm0
push 0x8a6a1c
push 0x8a6974
lea eax, [esi + 0x1710]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
mov ecx, str.glGetStringiglGetStringi
mov edx, 0xc
call fcn.00717460
jmp 0x4ec964
mov ecx, 8
mov edx, 0x28
mov dword [esi + 0x4248], 0xf0
call fcn.00709d20
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov byte [esi + 0x1870], 0
mov dword [esi + 0x1874], eax
lea eax, [esi + 0x1870]
mov dword [esi + 0x2a48], 0x91957c
mov dword [esi + 0x2a4c], 0x5cbf90
mov dword [esi + 0x4e0], 0x8f7cec
mov dword [esi + 0x4e4], 2
mov dword [esi + 0x4248], 0x32
lea edx, [esi + 0x12a0]
mov ecx, 1
mov dword [esi + 0x2a50], eax
lea eax, [esi + 0x2a48]
mov dword [esi + 0x2a54], 0x6a7970
mov dword [esi + 0x4e8], eax
mov dword [esi + 0x4ec], 2
mov dword [esi + 0x4f0], 0
lea eax, [esi + 0x4e0]
push 0x8f7cfc
push eax
push 0x8f85d0
call fcn.007241f0
add esp, 0xc
jmp 0x4ec964
mov eax, dword [esi + 0x18c]
mov byte [esi + 0xba], 1
mov dword [esi + 0x4248], 0x5f
mov dword [esi + 0x1bc], eax
call fcn.00425040
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4248], 0x63
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8f7f04
push 0x73ed4c
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
mov ecx, 8
mov edx, 0x40
mov dword [esi + 0x4248], 0x5e
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 0x14
mov dword [esi + 0x4248], 0x101
call fcn.00709d20
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
mov dword [esi + 0x4248], 0x4d
call fcn.00425040
jmp 0x4ec964
mov ecx, 1
mov edx, 0x2000
mov dword [esi + 0x10], edi
mov dword [esi + 0x4248], 0x59
call fcn.00709d20
jmp 0x4ec964
mov ecx, 8
mov edx, 0x28
mov dword [esi + 0x4248], 0xfe
call fcn.00709d20
jmp 0x4ec964
mov dword [esi + 0x4248], 0xeb
mov ecx, str.assertion_failed:_self.name.ends_with_0_
mov edx, 0x2e
push 0x8f7d3c
call fcn.0070a0f0
add esp, 4
jmp 0x4ec964
mov ecx, str.failed_to_find_a_matching_configuration_for_creating_glutin_config
mov edx, 0x42
push 0x73f188
call fcn.0070a3e0
add esp, 4
jmp 0x4ec964
lea eax, [esi + 0x208]
mov ecx, 0x8f7944
mov edx, 0x46
push 0x8f79dc
push 0x73976c
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
mov ecx, 4
mov edx, 0x80
call fcn.00709d20
jmp 0x4ec964
lea ecx, [esi + 0x4e0]
mov edx, 0x8a8460
mov dword [esi + 0x4e0], 0x8a83e8
mov dword [esi + 0x4e4], 1
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4e8], 0x8f83c8
mov dword [esi + 0x4ec], 0
call fcn.00709f70
jmp 0x4ec964
mov ecx, 4
mov edx, 8
mov dword [esi + 0x4248], 0xf4
call fcn.00709d20
jmp 0x4ec964
mov byte [esi + 0x191], 4
mov dword [esi + 0x4248], 0x4e
call fcn.00425040
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4248], 0x69
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4248], 0x68
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8f7ef4
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4248], 0x67
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8f7f04
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov dword [esi + 0x4e4], eax
mov dword [esi + 0x4e0], 0
mov dword [esi + 0x4248], 0x66
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8f7f04
push 0x73fbb4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
lea eax, [esi + 0x428]
lea edx, [esi + 0x1118]
lea ecx, [esi + 0x1870]
mov dword [esi + 0x4e0], 0x7416ec
mov dword [esi + 0x4e4], 2
mov dword [esi + 0x4f0], 0
mov byte [esi + 0x8f], 0
mov dword [esi + 0x4e8], ecx
mov dword [esi + 0x1870], eax
mov dword [esi + 0x1874], 0x4323b0
mov dword [esi + 0x1878], edx
lea ecx, [esi + 0x4e0]
mov edx, 0x741748
mov dword [esi + 0x187c], 0x4323b0
mov dword [esi + 0x4ec], 2
call fcn.00709f70
jmp 0x4ec964
lea eax, [esi + 0x428]
lea edx, [esi + 0x1118]
lea ecx, [esi + 0x1870]
mov dword [esi + 0x4e0], 0x7416ec
mov dword [esi + 0x4e4], 2
mov dword [esi + 0x4f0], 0
mov byte [esi + 0x8f], 0
mov dword [esi + 0x4e8], ecx
mov dword [esi + 0x1870], eax
mov dword [esi + 0x1874], 0x4323b0
mov dword [esi + 0x1878], edx
lea ecx, [esi + 0x4e0]
mov edx, 0x741748
mov dword [esi + 0x187c], 0x4323b0
mov dword [esi + 0x4ec], 2
call fcn.00709f70
jmp 0x4ec964
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 0x4ec964
call sub.kernel32.dll_GetLastError
mov byte [esi + 0x248], 0
mov dword [esi + 0x24c], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x12a0], 0x91957c
mov dword [esi + 0x12a4], 0x5cbf90
mov dword [esi + 0x1870], 0x8f7cec
mov dword [esi + 0x1874], 2
mov dword [esi + 0x4248], 0xec
lea edx, [esi + 0x3e0]
mov ecx, 1
mov dword [esi + 0x12a8], eax
lea eax, [esi + 0x12a0]
mov dword [esi + 0x12ac], 0x6a7970
mov dword [esi + 0x1878], eax
mov dword [esi + 0x187c], 2
mov dword [esi + 0x1880], 0
push 0x8f7cfc
lea eax, [esi + 0x1870]
push eax
push 0x8f85d0
call fcn.007241f0
add esp, 0xc
jmp 0x4ec964
mov ecx, 4
mov edx, 0x28
mov dword [esi + 0x4248], 0xfd
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 8
mov dword [esi + 0x4248], 0xf5
call fcn.00709d20
jmp 0x4ec964
mov dword [esi + 0x4248], 0x3d
call fcn.00425040
jmp 0x4ec964
mov dword [esi + 0x4248], 0x3f
call fcn.00425040
jmp 0x4ec964
mov dword [esi + 0x4248], 0x41
call fcn.00425040
jmp 0x4ec964
mov dword [esi + 0x4248], 0x45
call fcn.00425040
jmp 0x4ec964
lea eax, [esi + 0x4e0]
mov dword [esi + 0x4e0], 0
lea ecx, [esi + 0x1870]
lea edx, [esi + 0x12a0]
push eax
call fcn.00724190
add esp, 4
jmp 0x4ec964
mov ecx, ebx
mov edx, edi
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 0xc
mov dword [esi + 0x2c], edi
mov dword [esi + 0x4248], 0x77
call fcn.00709d20
jmp 0x4ec964
mov ecx, 1
mov edx, 3
mov dword [esi + 0x4248], 0xe4
call fcn.00709d20
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
mov ecx, 1
mov edx, ebx
mov dword [esi + 0x4248], 0x75
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 0x400
mov dword [esi + 0x4248], 0xf6
call fcn.00709d20
jmp 0x4ec964
mov ecx, str.glGetStringglGetString
mov edx, 0xb
call fcn.00717460
jmp 0x4ec964
lea ecx, [esi + 0x4e0]
mov edx, 0x73fc78
mov dword [esi + 0x4e0], 0x73fc70
mov dword [esi + 0x4e4], 1
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4e8], 0x8f83c8
mov dword [esi + 0x4ec], 0
call fcn.00709f70
jmp 0x4ec964
movq xmm0, qword [esi + 0x4e4]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movq qword [esi + 0x1ef0], xmm0
push 0x73fc88
push 0x73fbc4
lea eax, [esi + 0x1ef0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
cmp dword [esi + 0x6c], 0
je 0x4eb5fc
push dword [esi + 0x140]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x4248], 0xde
mov eax, dword [esi + 0x90]
mov dword [esi + 0x4248], 0xde
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
mov dword [esi + 0x4e0], eax
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x4e4], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1ac], eax
push 0x73fc98
push 0x73fbd4
lea eax, [esi + 0x4e0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
mov byte [esi + 0x1ef], 1
lea eax, [esi + 0x208]
mov ecx, 0x8f7944
mov edx, 0x46
push 0x8f79dc
push 0x73f0d0
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
movzx ecx, byte [esi + 0x30]
mov edx, ebx
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 0x18
mov dword [esi + 0x4248], 0xf8
call fcn.00709d20
jmp 0x4ec964
mov dword [esi + 0x4248], 0x104
mov ecx, str.assertion_failed:_self.name.ends_with_0_
mov edx, 0x2e
push 0x8f7d3c
call fcn.0070a0f0
add esp, 4
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1ac], eax
call fcn.00425040
jmp 0x4ec964
mov edx, dword [esi + 0x12a8]
mov dword [esi + 0x4248], 0x51
call fcn.00709d20
jmp 0x4ec964
mov eax, dword [esi + 0xc]
movzx ecx, byte [esi + 0x10]
mov edx, dword [esi + 0x6c]
mov dword [esi + 0x1ac], eax
call fcn.00709d20
jmp 0x4ec964
mov ecx, str.glGetIntegervglGetIntegerv
mov edx, 0xd
mov dword [esi + 0x4248], 0xe0
call fcn.00717460
jmp 0x4ec964
mov ecx, 4
mov edx, 0x40
mov dword [esi + 0x4248], 0xfa
call fcn.00709d20
jmp 0x4ec964
mov ecx, 4
mov edx, 4
mov dword [esi + 0x4248], 0xf9
call fcn.00709d20
jmp 0x4ec964
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1ac], eax
push 0x8a6bb4
push edi
push 0
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
call sub.kernel32.dll_GetLastError
mov byte [esi + 0x1870], 0
mov dword [esi + 0x1874], eax
lea eax, [esi + 0x1870]
mov dword [esi + 0x1ef0], 0x91957c
mov dword [esi + 0x1ef4], 0x5cbf90
mov dword [esi + 0x4e0], 0x8f7cec
mov dword [esi + 0x4e4], 2
mov dword [esi + 0x4248], 0x105
lea edx, [esi + 0x12a0]
mov ecx, 1
mov dword [esi + 0x1ef8], eax
lea eax, [esi + 0x1ef0]
mov dword [esi + 0x1efc], 0x6a7970
mov dword [esi + 0x4e8], eax
mov dword [esi + 0x4ec], 2
mov dword [esi + 0x4f0], 0
push 0x8f7cfc
lea eax, [esi + 0x4e0]
push eax
push 0x8f85d0
call fcn.007241f0
add esp, 0xc
jmp 0x4ec964
lea eax, [esi + 0x208]
mov ecx, 0x8f7944
mov edx, 0x46
push 0x8f79dc
push 0x73975c
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x4ec964
movzx ecx, bl
mov edx, edi
call fcn.00709d20
jmp 0x4ec964
mov dword [esi + 0x1ac], edi
mov dword [esi + 0x4248], 0xde
push 0x8a6ba4
push edx
push dword [esi + 0x170]
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
mov edx, dword [esi + 0x10]
movzx ecx, bl
call fcn.00709d20
jmp 0x4ec964
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x1ac], eax
push 0x8c81e0
push edx
push dword [esi + 0x170]
call fcn.0070a510
add esp, 0xc
jmp 0x4ec964
call fcn.00425040
jmp 0x4ec964
ud2