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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x80], ebp
call 0x5db15c
pop eax
mov dword [esi + 0x84], esp
mov dword [esi + 0x90], 0xffffffff
mov dword [esi + 0x8c], 0x7054b0
mov ebx, dword [ebp + 8]
mov edi, edx
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x60], ecx
mov dword [esi + 0x50], eax
mov eax, dword fs:[0]
mov dword [esi + 0x88], eax
lea eax, [esi + 0x88]
mov dword fs:[0], eax
cmp dword [edi], 0
mov eax, dword [ebx]
je 0x5db36c
test eax, eax
je 0x5dc54a
xor ebx, ebx
cmp dword [edx + 8], 0xd
lea eax, [edx + 8]
cmovne ebx, eax
je 0x5db236
cmp dword [ebx], 8
jne 0x5db236
push dword [ebx + 4]
call sub.user32.dll_GetDC
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
lea edx, [ecx + 0xc]
test eax, eax
cmove edx, eax
push edx
push dword [ecx + 0x3c]
push dword [esi]
call dword [sym.imp.gdi32.dll_SetPixelFormat]
test eax, eax
jne 0x5db22c
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x20]
lea edx, [esi + 4]
mov byte [esi + 4], 0
mov dword [esi + 8], eax
call fcn.005dea40
mov eax, dword [esi + 0x20]
xor eax, 2
or eax, dword [esi + 0x24]
je 0x5db22c
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x5db22c
cmp dword [esi + 0x40], 0
je 0x5db22c
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [ebx + 4]
call sub.user32.dll_GetDC
jmp 0x5db23f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x1c], eax
xor eax, eax
cmp dword [ebx], 1
jne 0x5db24f
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 4]
mov dword [esi + 0x4c], eax
cmp dword [ecx + 0x14], 0
mov dword [esi + 0x18], ecx
je 0x5db45c
mov edi, dword [esi + 0x18]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
push 0x16
push 0x8a7137
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.005d71b0
add esp, 0x10
mov ecx, eax
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 8]
movdqa xmm2, xmmword [0x7270e0]
movdqa xmm3, xmmword [0x7270d0]
pcmpeqd xmm1, xmm1
mov dword [esi + 0x14], 0
mov edi, ecx
shr edi, 0x19
movd xmm0, edi
punpcklbw xmm0, xmm0
mov dword [esi + 0x10], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
and ecx, eax
movdqa xmm5, xmm0
mov eax, edx
movdqu xmm4, xmmword [edx + ecx]
mov dword [esi], ecx
pcmpeqb xmm5, xmm4
pmovmskb ebx, xmm5
nop word cs:[eax + eax]
nop
test bx, bx
je 0x5db340
mov edi, ebx
mov ecx, eax
lea ebx, [edi - 1]
and ebx, edi
tzcnt edi, edi
add edi, dword [esi]
and edi, dword [esi + 0x10]
lea edx, [edi*8]
sub ecx, edx
cmp dword [ecx - 4], 0x16
jne 0x5db2e0
neg edi
mov ecx, dword [eax + edi*8 - 8]
movdqu xmm5, xmmword [ecx]
movdqu xmm6, xmmword [ecx + 6]
pcmpeqb xmm5, xmm3
pcmpeqb xmm6, xmm2
pand xmm6, xmm5
pmovmskb ecx, xmm6
cmp ecx, 0xffff
jne 0x5db2e0
jmp 0x5db3bf
mov ebx, dword [ebp + 0xc]
pcmpeqb xmm4, xmm1
pmovmskb edi, xmm4
test edi, edi
jne 0x5db45c
mov ecx, dword [esi]
mov edx, dword [esi + 0x14]
lea ecx, [ecx + edx + 0x10]
add edx, 0x10
mov dword [esi + 0x14], edx
mov edx, eax
mov eax, dword [esi + 0x10]
jmp 0x5db2bd
test eax, eax
jne 0x5dc54a
mov eax, dword [edi + 4]
mov dword [esi + 0x20], 4
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x14], eax
movzx eax, byte [eax + 0x44]
test eax, eax
je 0x5db500
cmp eax, 1
jne 0x5db504
mov ecx, dword [esi + 0x14]
xor eax, eax
cmp byte [ecx + 0x45], 3
mov ecx, 0xff
setne al
cmovae ecx, eax
mov dword [esi], ecx
jmp 0x5db508
mov eax, dword [esi + 0x18]
mov edi, dword [ebp + 0xc]
cmp dword [eax + 0x2c], 0
je 0x5dc57a
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5db3f2
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5dc55f
mov dword [0x919820], eax
push 0x40
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5dc55f
movzx ecx, byte [edi + 0x18]
mov dword [esi + 4], eax
mov dword [esi + 8], 0x10
mov dword [esi + 0xc], 0
test ecx, ecx
je 0x5db5d8
cmp ecx, 2
jne 0x5db619
xor edx, edx
mov dword [esi], ecx
movzx ecx, byte [edi + 0x1e]
cmp cl, 2
jne 0x5db5f7
test dl, dl
je 0x5db85a
mov ecx, dword [esi]
mov edi, 2
cmp cl, 3
jae 0x5db891
mov dword [esi + 0x10], ecx
jmp 0x5dbb7e
mov dword [esi + 0x90], 0xffffffff
push dword [esi + 0x1c]
call sub.OPENGL32.dll_wglCreateContext
test eax, eax
je 0x5db48e
mov edi, eax
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x5dbfb6
push edi
push eax
call sub.OPENGL32.dll_wglShareLists
test eax, eax
jne 0x5dbfb6
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x20]
lea edx, [esi + 4]
mov byte [esi + 4], 0
mov dword [esi + 8], eax
call fcn.005dea40
movzx eax, byte [esi + 0x37]
movzx ebx, word [esi + 0x35]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x30]
shl eax, 0x10
mov dword [esi + 0x50], ecx
mov ecx, ecx
mov dword [esi + 0x14], edx
or ebx, eax
mov eax, dword [esi + 0x44]
xor ecx, 2
or ecx, edx
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x18]
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x34]
mov dword [esi], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x4c], eax
jne 0x5dc0d8
jmp 0x5dbfe0
mov al, 0xff
jmp 0x5db506
mov al, 1
mov dword [esi], eax
mov ecx, dword [ebx + 4]
mov dword [esi + 4], 0
lea edi, [esi + 4]
mov eax, dword [ecx + 8]
mov dword [esi + 0x58], ecx
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0xc4]
mov dword [esi + 0x90], 0
push edi
push 0x3040
push ecx
push edx
call eax
mov edi, dword [ebp + 0xc]
movzx eax, byte [esi + 4]
movzx edx, byte [edi + 0x18]
mov ecx, eax
shr cl, 3
test edx, edx
je 0x5db571
cmp edx, 2
jne 0x5db5b3
cmp byte [esi], 1
jne 0x5db5c0
and cl, 1
je 0x5db5c0
xor ecx, ecx
mov dword [esi + 0x5c], 0x30a2
mov dl, 1
jmp 0x5db664
xor edx, edx
cmp byte [esi], 1
mov edi, 0x12
mov ebx, 0x2a
mov dword [esi], str.the_requested_context_Api_isnt_supported.EGL_KHR_create_contextcontext_robustness_is_not_supportedpassed_incompatible_raw_context
jne 0x5db8b6
and cl, 1
mov ecx, 0
je 0x5dc4e2
mov edi, dword [ebp + 0xc]
mov dl, 1
mov dword [esi + 0x5c], 0x30a2
movzx eax, byte [edi + 0x1b]
movzx ecx, word [edi + 0x19]
jmp 0x5db664
movzx ecx, word [edi + 0x19]
test cl, 1
jne 0x5db655
mov cl, 1
test al, 0x40
mov dword [esi + 0x5c], 0x30a0
jne 0x5db63d
and al, 4
mov ch, 2
cmp al, 1
sbb ch, 0
jmp 0x5db63f
movzx ecx, byte [edi + 0x1b]
movzx edx, word [edi + 0x19]
shl ecx, 0x10
or ecx, edx
shr ecx, 8
mov dword [esi], ecx
movzx ecx, byte [edi + 0x1e]
cmp cl, 2
je 0x5db43c
and cl, 1
test dl, dl
je 0x5db86d
mov edx, dword [esi]
mov edi, 2
test cl, cl
mov dword [esi + 0x10], edx
jne 0x5dbb7e
jmp 0x5dbb79
mov ecx, dword [esi + 0x18]
test byte [ecx + 0x30], 0x20
jne 0x5db804
mov ebx, 0x8a7160
mov dword [esi], 0x8a7160
mov dword [esi + 0x1c], 0x36
jmp 0x5dc091
mov ch, 3
mov dword [esi + 0x54], 0
xor edx, edx
mov eax, dword [esi + 0x14]
movzx eax, byte [eax + 0x44]
test al, al
jne 0x5db672
jmp 0x5db68b
movzx eax, byte [edi + 0x1b]
mov dword [esi + 0x5c], 0x30a0
mov cl, 1
xor edx, edx
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x14]
movzx eax, byte [eax + 0x44]
test al, al
je 0x5db68b
cmp al, 1
mov al, 1
mov dword [esi], eax
jne 0x5db7b6
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x45], 4
ja 0x5db7b6
mov eax, dword [esi + 0x14]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x1c], ecx
cmp dword [eax + 0x1c], 0
je 0x5dc215
mov edi, dword [esi + 0x14]
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
push 0x16
push 0x8a6cfa
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.005d71b0
add esp, 0x10
mov ebx, eax
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
movdqa xmm2, xmmword [0x7270f0]
movdqa xmm3, xmmword [0x727000]
pcmpeqd xmm1, xmm1
mov dword [esi + 0x4c], 0
shr ebx, 0x19
movd xmm0, ebx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esi], ecx
mov dword [esi + 0x18], edx
pshufd xmm0, xmm0, 0
and eax, edx
movdqa xmm5, xmm0
movdqu xmm4, xmmword [ecx + eax]
mov dword [esi + 0x10], eax
pcmpeqb xmm5, xmm4
pmovmskb ebx, xmm5
jmp 0x5db72d
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
lea ecx, [ebx - 1]
and ecx, ebx
mov ebx, ecx
test bx, bx
je 0x5db780
tzcnt edi, ebx
add edi, eax
mov eax, dword [esi]
and edi, edx
lea edx, [edi*8]
mov ecx, eax
sub ecx, edx
cmp dword [ecx - 4], 0x16
jne 0x5db720
neg edi
mov ecx, dword [eax + edi*8 - 8]
movdqu xmm5, xmmword [ecx]
movdqu xmm6, xmmword [ecx + 6]
pcmpeqb xmm5, xmm3
pcmpeqb xmm6, xmm2
pand xmm6, xmm5
pmovmskb ecx, xmm6
cmp ecx, 0xffff
jne 0x5db720
jmp 0x5db7a7
pcmpeqb xmm4, xmm1
pmovmskb edi, xmm4
test edi, edi
mov edi, dword [ebp + 0xc]
jne 0x5dc215
mov ecx, dword [esi + 0x4c]
lea eax, [eax + ecx + 0x10]
add ecx, 0x10
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi]
jmp 0x5db6f9
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x6c]
mov dword [esi], 0
test dl, dl
je 0x5db7e9
movzx eax, byte [edi + 0x1e]
cmp al, 2
jne 0x5db82a
test cl, cl
je 0x5db8bd
mov edi, 2
cmp ch, 3
jb 0x5db8dc
jne 0x5db8d7
cmp byte [esi + 0x54], 3
mov ch, 3
setb al
jmp 0x5db834
test cl, 1
jne 0x5db846
mov eax, dword [esi + 0x14]
mov ebx, dword [eax + 0x40]
movzx eax, byte [edi + 0x1f]
mov eax, dword [eax*4 + 0x5dc680]
add eax, dword [esi + 0x50]
jmp eax
mov dh, byte [edi + 0x19]
movzx ecx, byte [edi + 0x1a]
mov ebx, 2
and dh, 1
neg dh
cmovb ebx, ecx
and dh, byte [edi + 0x1b]
mov edi, 4
mov dword [esi + 0x10], ebx
mov dword [esi], edx
jmp 0x5dbb7e
and al, 1
test cl, cl
je 0x5db8c8
mov edi, 2
test al, al
jne 0x5db8dc
jmp 0x5db8d7
mov edx, dword [esi + 0x28]
mov dword [esi + 0x1c], ecx
cmp edx, dword [esi + 0x24]
je 0x5db942
jmp 0x5db957
mov ch, 3
mov edi, 1
mov dword [esi], ecx
mov cl, 3
mov dword [esi + 0x10], ecx
jmp 0x5dbb7e
test cl, cl
mov dh, 3
mov cl, 3
mov dword [esi], edx
mov dword [esi + 0x10], ecx
je 0x5dbb79
mov cl, 2
mov edi, 2
mov dword [esi + 0x10], ecx
mov ch, 1
mov dword [esi], ecx
jmp 0x5dbb7e
jne 0x5dbb76
mov ecx, dword [esi]
mov dl, 3
cmp ch, 3
setb cl
mov edi, 2
test cl, cl
mov dword [esi + 0x10], edx
jne 0x5dbb7e
jmp 0x5dbb79
xor ecx, ecx
jmp 0x5dc4e2
mov cl, 3
mov al, 3
mov dword [esi + 0x54], eax
mov ch, cl
jmp 0x5db8d7
mov cl, 3
test al, al
mov dword [esi + 0x54], ecx
mov ch, 3
jne 0x5dc3ba
mov edi, 1
mov edx, dword [esi + 0x28]
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x10], edi
cmp edx, dword [esi + 0x24]
jne 0x5db902
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax + edx*4], 0x30fd
mov edx, dword [esi + 0x28]
inc edx
mov dword [esi + 0x28], edx
cmp edx, dword [esi + 0x24]
jne 0x5db930
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax + edx*4], edi
mov edx, dword [esi + 0x28]
inc edx
mov dword [esi + 0x28], edx
cmp edx, dword [esi + 0x24]
jne 0x5db957
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
mov dword [eax + edx*4], 0x3098
mov edx, dword [esi + 0x28]
inc edx
mov dword [esi + 0x28], edx
cmp edx, dword [esi + 0x24]
jne 0x5db982
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
movzx eax, ah
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x28]
inc edx
mov dword [esi + 0x28], edx
cmp edx, dword [esi + 0x24]
jne 0x5db9af
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
mov dword [eax + edx*4], 0x30fb
mov edx, dword [esi + 0x28]
inc edx
mov dword [esi + 0x28], edx
cmp edx, dword [esi + 0x24]
jne 0x5db9da
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
movzx eax, byte [esi + 0x54]
mov ecx, dword [esi + 0x20]
mov edi, dword [ebp + 0xc]
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 0x14]
inc dword [esi + 0x28]
mov ebx, dword [eax + 0x40]
movzx eax, byte [edi + 0x1f]
mov eax, dword [eax*4 + 0x5dc680]
add eax, dword [esi + 0x50]
jmp eax
mov dword [esi + 0x10], ecx
mov edi, 1
mov dword [eax], 0x9126
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbbab
lea ecx, [esi + 4]
mov dword [esi + 0x14], edi
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], edi
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbbd2
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0x2091
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbbfd
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
movzx eax, byte [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbc28
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0x2092
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbc53
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [ebp + 0xc]
movzx eax, ah
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0xc]
movzx eax, byte [edi + 0x1e]
inc edx
cmp al, 2
mov dword [esi + 0xc], edx
je 0x5dbcda
cmp al, 1
mov ecx, 2
sbb ecx, 0
cmp edx, dword [esi + 8]
mov dword [esi], ecx
jne 0x5dbc98
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0x9126
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbcca
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi]
jmp 0x5dbccd
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x30]
movzx eax, byte [edi + 0x1f]
test cl, 1
jne 0x5dbd04
test al, al
je 0x5dbd33
mov ebx, 0x8a7196
mov dword [esi], 0x8a7196
mov dword [esi + 0x1c], 0x32
jmp 0x5dc091
mov ebx, dword [esi + 0x50]
movzx eax, al
add ebx, dword [eax*4 + 0x5dc670]
jmp ebx
xor eax, eax
movzx ecx, byte [edi + 0x1d]
or ecx, eax
je 0x5dbf18
cmp edx, dword [esi + 8]
mov dword [esi], ecx
jne 0x5dbd5f
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0x2094
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbd91
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi]
jmp 0x5dbd94
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], ecx
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x18]
test byte [eax + 0x30], 0x10
movzx eax, byte [edi + 0x1c]
je 0x5dbf29
test al, al
je 0x5dbe6f
mov ecx, dword [esi + 0x18]
jmp 0x5dbf34
cmp edx, dword [esi + 8]
jne 0x5dbe89
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x18]
mov dword [eax + edx*4], 0x2097
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
jne 0x5dbeba
lea ecx, [esi + 4]
mov dword [esi + 0x90], 2
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0xc], edx
cmp edx, dword [esi + 8]
mov dword [esi + 0x90], 2
je 0x5dbf43
jmp 0x5dbf51
mov eax, dword [esi + 0x18]
test byte [eax + 0x30], 0x10
movzx eax, byte [edi + 0x1c]
jne 0x5dbdb2
mov ecx, dword [esi + 0x18]
test al, al
je 0x5dc07f
cmp edx, dword [esi + 8]
mov dword [esi + 0x90], 2
jne 0x5dbf51
lea ecx, [esi + 4]
call fcn.005a6860
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov dword [eax + edx*4], 0
inc dword [esi + 0xc]
mov eax, dword [ecx + 0x2c]
push dword [esi + 4]
push dword [esi + 0x4c]
push dword [esi + 0x1c]
call dword [eax + 0x18]
mov edi, eax
test eax, eax
je 0x5dc013
mov dword [esi], eax
mov dword [esi + 0x14], 0
mov ecx, 2
cmp dword [esi + 8], 0
mov dword [esi + 0x50], ecx
mov dword [esi + 0x58], edx
je 0x5dbfa5
push dword [esi + 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x50]
mov eax, ecx
xor eax, 2
or eax, dword [esi + 0x14]
jne 0x5dc0c7
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
lock inc dword [eax]
jle 0x5dc55b
mov eax, dword [esi + 0x18]
movzx ecx, byte [ebx + 0x18]
lock inc dword [eax]
jle 0x5dc55b
mov edx, dword [esi + 0x18]
and cl, 1
mov dword [esi], ecx
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x10]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov ecx, dword [esi]
mov dword [eax + 0x14], edi
mov byte [eax + 0x18], cl
mov word [eax + 0x19], bx
shr ebx, 0x10
mov byte [eax + 0x1b], bl
mov ebx, eax
mov dword [eax + 8], 1
xor ecx, ecx
mov edx, 2
jmp 0x5dc531
call sub.kernel32.dll_GetLastError
lea ecx, [esi + 0x20]
lea edx, [esi + 0x78]
mov byte [esi + 0x78], 0
mov dword [esi + 0x7c], eax
call fcn.005dea40
mov eax, dword [esi + 0x24]
movzx ebx, word [esi + 0x35]
mov ecx, dword [esi + 0x20]
mov edi, dword [esi + 0x28]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x14], eax
movzx eax, byte [esi + 0x37]
shl eax, 0x10
or ebx, eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
movzx eax, byte [esi + 0x34]
mov dword [esi], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x4c], eax
cmp dword [esi + 8], 0
mov dword [esi + 0x50], ecx
mov dword [esi + 0x58], edx
jne 0x5dbf91
jmp 0x5dbfa5
mov ebx, 0x8a71f5
mov dword [esi], 0x8a71f5
mov dword [esi + 0x1c], 0x34
shr ebx, 8
cmp dword [esi + 8], 0
je 0x5dc0ab
push dword [esi + 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x58], 0x12
mov dword [esi + 0x50], 0
mov dword [esi + 0x14], 0
mov edx, edi
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov edi, dword [esi + 0x58]
mov dword [esi + 0x68], ecx
mov dword [esi + 0x64], eax
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x64]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
movq qword [ecx + 0x20], xmm0
mov dword [ecx + 8], edx
mov edx, dword [esi + 0x50]
mov dword [ecx + 0xc], eax
mov eax, dword [esi]
mov dword [ecx + 0x10], edi
mov byte [ecx + 0x14], al
mov eax, ebx
mov word [ecx + 0x15], bx
mov ebx, ecx
shr eax, 0x10
mov byte [ecx + 0x17], al
mov ecx, dword [esi + 0x14]
jmp 0x5dc531
mov edx, dword [esi + 0x28]
cmp edx, dword [esi + 0x24]
jne 0x5dc235
lea ecx, [esi + 0x20]
mov dword [esi + 0x90], 0
call fcn.005a6860
mov edx, dword [esi + 0x28]
mov edi, dword [ebp + 0xc]
mov eax, dword [esi + 0x20]
mov dword [eax + edx*4], 0x3038
inc dword [esi + 0x28]
xor eax, eax
cmp dword [edi], 2
cmove edi, eax
je 0x5dc277
cmp dword [edi], 0
je 0x5dc26a
xor edx, edx
mov edi, 0x12
mov dword [esi], 0x8a6d33
mov ebx, 0x1f
xor ecx, ecx
jmp 0x5dc4e2
mov eax, dword [edi + 4]
mov dword [esi + 0x90], 0
mov dword [esi], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 4]
mov dword [esi + 0x90], 0
push dword [esi + 0x5c]
call eax
test eax, eax
je 0x5dc31c
mov edx, dword [esi + 0x58]
lock inc dword [edx]
jle 0x5dc55b
mov ecx, dword [esi + 0x14]
mov dword [esi + 4], edx
mov edi, dword [esi + 0x20]
mov edx, dword [edx + 0xc]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x34]
mov dword [esi + 0x90], 1
push edi
push dword [esi]
push edx
push eax
call ecx
mov edi, eax
test eax, eax
je 0x5dc36e
mov eax, dword [esi + 0x14]
lock inc dword [eax]
jle 0x5dc55b
cmp dword [esi + 0x24], 0
mov ebx, dword [esi + 0x60]
je 0x5dc2fb
push dword [esi + 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x5c]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], ecx
mov dword [ebx + 8], 0
jmp 0x5dc007
mov eax, dword [0x919014]
cmp eax, 2
je 0x5dc32b
call fcn.00718330
cmp byte [0x9191f0], 2
je 0x5dc59d
call dword [0x91910c]
mov dword [esi + 0x10], eax
add eax, 0xffffd000
xor ecx, ecx
mov edx, 1
cmp eax, 0xe
ja 0x5dc464
mov ecx, dword [esi + 0x50]
add ecx, dword [eax*4 + 0x5dc6cc]
jmp ecx
mov eax, dword [0x919014]
cmp eax, 2
je 0x5dc37d
call fcn.00718330
cmp byte [0x9191f0], 2
je 0x5dc5b6
call dword [0x91910c]
mov dword [esi + 0x10], eax
add eax, 0xffffd000
cmp eax, 0xe
ja 0x5dc4c6
mov ecx, dword [esi + 0x50]
add ecx, dword [eax*4 + 0x5dc690]
mov eax, dword [esi + 0x58]
jmp ecx
mov al, 1
mov edi, 2
mov ch, 2
mov dword [esi + 0x54], eax
jmp 0x5db8dc
mov edi, 0x13
jmp 0x5dc4e2
mov eax, dword [esi + 0x58]
mov edi, 0x13
lock dec dword [eax]
jne 0x5dc4db
mov ecx, dword [esi + 4]
call fcn.004f3550
xor ecx, ecx
mov edx, 1
cmp dword [esi + 0x24], 0
je 0x5dc50d
push dword [esi + 0x20]
push 0
push dword [0x919820]
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], edi
mov ebx, edx
mov edi, ecx
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, edi
mov edx, ebx
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x60]
mov dword [eax + 0x18], ebx
mov ebx, eax
mov dword [eax + 0x1c], 0
mov eax, dword [esi + 0x10]
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], eax
mov dword [ebx + 0x10], edi
mov edi, dword [esi]
mov dword [ebx + 0x14], edi
mov eax, dword [esi + 0x88]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowswindow_state.rs
mov edx, 0x28
push 0x8a7a78
jmp 0x5dc593
ud2
mov ecx, 4
mov edx, 0x40
mov dword [esi + 0x90], 0xffffffff
call fcn.00709d20
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
mov dword [esi + 0x90], 0xffffffff
push 0x8a7150
call fcn.0070a0f0
add esp, 4
ud2
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 0x5dc5ff
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 0x5dc5ff
ud2