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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1ac
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0x28]
test eax, eax
je 0x45b47a
mov eax, dword [eax + 0x238]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c0]
mov eax, dword [eax + 0x2a4]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
test eax, eax
mov esi, dword [esp + 0x1c0]
mov dword [esi + 0x234], eax
je 0x45c040
mov edx, dword [0x4a5f70]
test edx, edx
je 0x45c2f6
lea edx, [esp + 0x34]
mov dword [esp + 0x100], 0x2000
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp + 0x14], edx
lea edx, [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 0x10], edx
call dword [0x4a5f4c]
sub esp, 0x18
test eax, eax
je 0x45bba3
mov ebp, dword [0x4a5f64]
mov dword [esp + 0x60], 0x2010
mov edi, 0x16
mov dword [esp + 0x64], 0x2001
mov dword [esp + 0x68], 0x2013
mov dword [esp + 0x6c], 0x2003
mov dword [esp + 0x70], 0x2015
test ebp, ebp
mov dword [esp + 0x74], 0x2016
mov dword [esp + 0x78], 0x2017
mov dword [esp + 0x7c], 0x2018
mov dword [esp + 0x80], 0x2019
mov dword [esp + 0x84], 0x201a
mov dword [esp + 0x88], 0x201b
mov dword [esp + 0x8c], 0x201c
mov dword [esp + 0x90], 0x2022
mov dword [esp + 0x94], 0x2023
mov dword [esp + 0x98], 0x201d
mov dword [esp + 0x9c], 0x201e
mov dword [esp + 0xa0], 0x201f
mov dword [esp + 0xa4], 0x2020
mov dword [esp + 0xa8], 0x2021
mov dword [esp + 0xac], 0x2024
mov dword [esp + 0xb0], 0x2012
mov dword [esp + 0xb4], 0x2011
je 0x45b5f9
mov dword [esp + 0xb8], 0x2042
mov edi, 0x17
mov eax, dword [esp + 0x1c4]
cmp dword [eax], 0x30001
je 0x45c102
mov ecx, dword [0x4a5f60]
test ecx, ecx
jne 0x45c092
mov eax, dword [esp + 0x34]
mov dword [esp + 4], 0x44
mov dword [esp], eax
lea ebx, [edi*4]
call sub.msvcrt.dll_calloc
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 0
lea esi, [esi]
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x34]
jge 0x45bc20
imul esi, dword [esp + 0x24], 0x44
mov ebp, dword [0x4a5f70]
mov eax, dword [esp + 0x1c0]
add dword [esp + 0x20], 1
add esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
test ebp, ebp
mov eax, dword [eax + 0x234]
je 0x45bf10
lea edx, [esp + 0x100]
lea ebp, [esp + 0x60]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebp
mov dword [esp], eax
call dword [0x4a5f4c]
sub esp, 0x18
test eax, eax
je 0x45c063
test edi, edi
je 0x45c012
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2010
je 0x45c024
mov eax, 4
jmp 0x45b6f4
lea edx, [eax + 4]
cmp dword [esp + edx + 0x5c], 0x2010
je 0x45bbd0
mov eax, edx
cmp ebx, eax
jne 0x45b6e1
call fcn.00453b50
test eax, eax
je 0x45b650
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2001
je 0x45bbeb
xor eax, eax
jmp 0x45b735
cmp dword [ebp + eax*4], 0x2001
lea edx, [eax*4]
je 0x45bc00
add eax, 1
cmp edi, eax
jg 0x45b720
call fcn.00453b50
test eax, eax
je 0x45b650
test edi, edi
mov ecx, dword [esp + 0x60]
je 0x45b77d
cmp ecx, 0x2013
je 0x45c0d1
xor eax, eax
jmp 0x45b776
cmp dword [ebp + eax*4], 0x2013
lea edx, [eax*4]
je 0x45bff0
add eax, 1
cmp edi, eax
jg 0x45b761
call fcn.00453b50
cmp eax, 0x202b
jne 0x45b650
test edi, edi
mov ecx, dword [esp + 0x60]
je 0x45b7c1
cmp ecx, 0x2003
je 0x45c339
xor eax, eax
jmp 0x45b7ba
cmp dword [ebp + eax*4], 0x2003
lea edx, [eax*4]
je 0x45c12a
add eax, 1
cmp edi, eax
jg 0x45b7a5
call fcn.00453b50
cmp eax, 0x2025
je 0x45b650
test edi, edi
mov ecx, dword [esp + 0x60]
je 0x45c494
cmp ecx, 0x2015
je 0x45c34f
xor eax, eax
jmp 0x45b805
cmp dword [ebp + eax*4], 0x2015
lea edx, [eax*4]
je 0x45c1f9
add eax, 1
cmp edi, eax
jg 0x45b7f0
call fcn.00453b50
test edi, edi
mov dword [esi], eax
je 0x45c72b
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2017
je 0x45c520
xor eax, eax
jmp 0x45b845
cmp dword [ebp + eax*4], 0x2017
lea edx, [eax*4]
je 0x45c20b
add eax, 1
cmp edi, eax
jg 0x45b830
call fcn.00453b50
test edi, edi
mov dword [esi + 4], eax
je 0x45c4a3
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2019
je 0x45c5a0
xor eax, eax
jmp 0x45b885
cmp dword [ebp + eax*4], 0x2019
lea edx, [eax*4]
je 0x45c21e
add eax, 1
cmp edi, eax
jg 0x45b870
call fcn.00453b50
test edi, edi
mov dword [esi + 8], eax
je 0x45c679
mov ecx, dword [esp + 0x60]
cmp ecx, 0x201b
je 0x45c5b8
xor eax, eax
jmp 0x45b8c5
cmp dword [ebp + eax*4], 0x201b
lea edx, [eax*4]
je 0x45c231
add eax, 1
cmp edi, eax
jg 0x45b8b0
call fcn.00453b50
test edi, edi
mov dword [esi + 0xc], eax
je 0x45c4b3
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2022
je 0x45c5ac
xor eax, eax
jmp 0x45b905
cmp dword [ebp + eax*4], 0x2022
lea edx, [eax*4]
je 0x45c244
add eax, 1
cmp edi, eax
jg 0x45b8f0
call fcn.00453b50
test edi, edi
mov dword [esi + 0x10], eax
je 0x45c689
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2023
je 0x45c52c
xor eax, eax
jmp 0x45b945
cmp dword [ebp + eax*4], 0x2023
lea edx, [eax*4]
je 0x45c1ad
add eax, 1
cmp edi, eax
jg 0x45b930
call fcn.00453b50
test edi, edi
mov dword [esi + 0x14], eax
je 0x45c4c3
mov ecx, dword [esp + 0x60]
cmp ecx, 0x201e
je 0x45c538
xor eax, eax
jmp 0x45b985
cmp dword [ebp + eax*4], 0x201e
lea edx, [eax*4]
je 0x45c1c0
add eax, 1
cmp edi, eax
jg 0x45b970
call fcn.00453b50
test edi, edi
mov dword [esi + 0x18], eax
je 0x45c699
mov ecx, dword [esp + 0x60]
cmp ecx, 0x201f
je 0x45c550
xor eax, eax
jmp 0x45b9c5
cmp dword [ebp + eax*4], 0x201f
lea edx, [eax*4]
je 0x45c1d3
add eax, 1
cmp edi, eax
jg 0x45b9b0
call fcn.00453b50
test edi, edi
mov dword [esi + 0x1c], eax
je 0x45c4d3
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2020
je 0x45c544
xor eax, eax
jmp 0x45ba05
cmp dword [ebp + eax*4], 0x2020
lea edx, [eax*4]
je 0x45c1e6
add eax, 1
cmp edi, eax
jg 0x45b9f0
call fcn.00453b50
test edi, edi
mov dword [esi + 0x20], eax
je 0x45c6a9
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2021
je 0x45c500
xor eax, eax
jmp 0x45ba45
cmp dword [ebp + eax*4], 0x2021
lea edx, [eax*4]
je 0x45c187
add eax, 1
cmp edi, eax
jg 0x45ba30
call fcn.00453b50
test edi, edi
mov dword [esi + 0x24], eax
je 0x45c4e3
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2024
je 0x45c55c
xor eax, eax
jmp 0x45ba85
cmp dword [ebp + eax*4], 0x2024
lea edx, [eax*4]
je 0x45c19a
add eax, 1
cmp edi, eax
jg 0x45ba70
call fcn.00453b50
test edi, edi
mov dword [esi + 0x28], eax
je 0x45c6b9
mov ecx, dword [esp + 0x60]
cmp ecx, 0x2012
je 0x45c50c
xor eax, eax
jmp 0x45bac5
cmp dword [ebp + eax*4], 0x2012
lea edx, [eax*4]
je 0x45c163
add eax, 1
cmp edi, eax
jg 0x45bab0
call fcn.00453b50
test eax, eax
je 0x45badc
mov dword [esi + 0x2c], 1
test edi, edi
mov ecx, dword [esp + 0x60]
je 0x45bb10
cmp ecx, 0x2011
je 0x45c35b
xor eax, eax
jmp 0x45bb09
cmp dword [ebp + eax*4], 0x2011
lea edx, [eax*4]
je 0x45c177
add eax, 1
cmp edi, eax
jg 0x45baf4
call fcn.00453b50
test eax, eax
je 0x45bb20
mov dword [esi + 0x38], 1
mov eax, dword [0x4a5f64]
test eax, eax
jne 0x45c2b9
mov eax, dword [esp + 0x1c4]
cmp dword [eax], 0x30001
je 0x45c257
mov eax, dword [0x4a5f60]
test eax, eax
je 0x45bfd7
test edi, edi
je 0x45bb87
cmp dword [esp + 0x60], 0x309d
je 0x45c612
mov eax, 4
jmp 0x45bb83
lea edx, [eax + 4]
cmp dword [esp + edx + 0x5c], 0x309d
je 0x45c484
mov eax, edx
cmp ebx, eax
jne 0x45bb70
call fcn.00453b50
cmp eax, 0x3089
jne 0x45bfd7
mov dword [esi + 0x34], 1
jmp 0x45bfd7
mov dword [esp + 4], str.WGL:_Failed_to_retrieve_pixel_format_attribute
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.004530f0
add esp, 0x1ac
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + eax + 0x100]
test edx, edx
je 0x45b650
cmp ecx, 0x2001
jne 0x45b715
mov eax, dword [esp + 0x100]
test eax, eax
jne 0x45b75d
jmp 0x45b650
mov eax, dword [esp + edx + 0x100]
test eax, eax
jne 0x45b751
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x34]
jl 0x45b65e
lea esi, [esi]
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x45c0a2
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp], eax
call fcn.0044c370
test eax, eax
je 0x45c325
mov ebx, dword [eax + 0x40]
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_free
test ebx, ebx
je 0x45c0c2
mov eax, dword [esp + 0x1c0]
lea esi, [esp + 0x60]
mov dword [esp + 8], 0x28
mov dword [esp + 4], ebx
mov dword [esp + 0xc], esi
mov eax, dword [eax + 0x234]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DescribePixelFormat]
sub esp, 0x10
test eax, eax
je 0x45c140
mov eax, dword [esp + 0x1c0]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [eax + 0x234]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_SetPixelFormat]
sub esp, 0xc
test eax, eax
je 0x45c380
mov eax, dword [esp + 0x1c4]
cmp dword [eax], 0x30001
je 0x45c3d0
mov edi, dword [0x4a5f74]
test edi, edi
je 0x45c0e7
mov esi, dword [0x4a5f78]
test esi, esi
je 0x45c0e7
mov ebx, dword [0x4a5f7c]
test ebx, ebx
je 0x45c0e7
mov eax, dword [esp + 0x1c0]
xor ecx, ecx
mov ebx, 4
mov esi, dword [eax + 0x234]
mov eax, dword [esp + 0x1c4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x45bd2a
or ecx, 1
mov eax, dword [esp + 0x1c4]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x45c5eb
mov eax, dword [0x4a5f80]
test eax, eax
je 0x45c5eb
cmp edx, 0x31001
je 0x45c7e9
xor eax, eax
cmp edx, 0x31002
jne 0x45bd7a
mov dword [esp + 0x100], 0x8256
mov dword [esp + 0x104], 0x8252
mov eax, 2
lea edx, [eax + 1]
or ecx, 4
mov edi, dword [esp + 0x1c4]
mov edi, dword [edi + 0x24]
test edi, edi
je 0x45bdc8
mov ebp, dword [0x4a5f88]
test ebp, ebp
je 0x45bdc8
cmp edi, 0x35002
je 0x45c7c8
cmp edi, 0x35001
jne 0x45bdc8
mov dword [esp + eax*4 + 0x100], 0x2097
mov dword [esp + edx*4 + 0x100], 0x2098
lea edx, [eax + 3]
add eax, 2
mov edi, dword [esp + 0x1c4]
mov ebp, dword [edi + 0x18]
test ebp, ebp
je 0x45bdfc
mov edi, dword [0x4a5f84]
test edi, edi
je 0x45bdfc
mov dword [esp + eax*4 + 0x100], 0x31b3
mov dword [esp + edx*4 + 0x100], 1
lea edx, [eax + 3]
add eax, 2
mov edi, dword [esp + 0x1c4]
mov ebp, dword [edi + 8]
mov edi, dword [edi + 0xc]
cmp ebp, 1
je 0x45c620
mov dword [esp + eax*4 + 0x100], 0x2091
mov dword [esp + edx*4 + 0x100], ebp
lea edx, [eax + 5]
mov dword [esp + eax*4 + 0x108], 0x2092
mov dword [esp + eax*4 + 0x10c], edi
add eax, 4
test ecx, ecx
je 0x45be58
mov dword [esp + eax*4 + 0x100], 0x2094
mov dword [esp + edx*4 + 0x100], ecx
lea edx, [eax + 3]
add eax, 2
test ebx, ebx
je 0x45be74
mov dword [esp + eax*4 + 0x100], 0x9126
mov dword [esp + edx*4 + 0x100], ebx
lea edx, [eax + 3]
add eax, 2
mov dword [esp + eax*4 + 0x100], 0
lea eax, [esp + 0x100]
mov dword [esp + edx*4 + 0x100], 0
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call dword [0x4a5f58]
sub esp, 0xc
test eax, eax
mov esi, dword [esp + 0x1c0]
mov dword [esi + 0x238], eax
je 0x45c6e2
mov eax, dword [esp + 0x1c0]
mov ebp, 1
mov dword [eax + 0x21c], 0x453ab0
mov dword [eax + 0x220], 0x44d5a0
mov dword [eax + 0x224], 0x44ec00
mov dword [eax + 0x228], fcn.0044c620
mov dword [eax + 0x22c], 0x44be10
mov dword [eax + 0x230], 0x44b720
jmp 0x45bbb9
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x38]
mov dword [esp + 8], 0x28
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
call dword [sym.imp.GDI32.dll_DescribePixelFormat]
sub esp, 0x10
test eax, eax
je 0x45c39b
mov eax, dword [esp + 0x3c]
mov edx, eax
and edx, 0x24
cmp edx, 0x24
jne 0x45b650
mov edx, eax
and edx, 0x1040
cmp edx, 0x40
je 0x45b650
cmp byte [esp + 0x40], 0
jne 0x45b650
movzx edx, byte [esp + 0x42]
test al, 2
mov dword [esi], edx
movzx edx, byte [esp + 0x44]
mov dword [esi + 4], edx
movzx edx, byte [esp + 0x46]
mov dword [esi + 8], edx
movzx edx, byte [esp + 0x48]
mov dword [esi + 0xc], edx
movzx edx, byte [esp + 0x4f]
mov dword [esi + 0x10], edx
movzx edx, byte [esp + 0x50]
mov dword [esi + 0x14], edx
movzx edx, byte [esp + 0x4b]
mov dword [esi + 0x18], edx
movzx edx, byte [esp + 0x4c]
mov dword [esi + 0x1c], edx
movzx edx, byte [esp + 0x4d]
mov dword [esi + 0x20], edx
movzx edx, byte [esp + 0x4e]
mov dword [esi + 0x24], edx
movzx edx, byte [esp + 0x51]
mov dword [esi + 0x28], edx
je 0x45bfcc
mov dword [esi + 0x2c], 1
test al, 1
je 0x45bfd7
mov dword [esi + 0x38], 1
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], 1
mov dword [esi + 0x40], eax
jmp 0x45b650
cmp dword [esp + edx + 0x100], 0x202b
jne 0x45b650
cmp ecx, 0x2003
jne 0x45b7a1
jmp 0x45c339
call fcn.00453b50
test eax, eax
jne 0x45b73c
jmp 0x45b650
mov eax, dword [esp + 0x100]
test eax, eax
jne 0x45b715
jmp 0x45b650
mov dword [esp + 4], str.WGL:_Failed_to_retrieve_DC_for_window
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.0044ee70
add esp, 0x1ac
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.WGL:_Failed_to_retrieve_pixel_format_attributes
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.004530f0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_free
add esp, 0x1ac
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + edi*4 + 0x60], 0x309d
add edi, 1
jmp 0x45b61a
mov dword [esp + 4], str.WGL:_The_driver_does_not_appear_to_support_OpenGL
mov dword [esp], 0x10006
call fcn.0044ee70
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_free
add esp, 0x1ac
xor ebp, ebp
pop ebx
mov eax, ebp
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x100], 0x202b
jne 0x45b650
jmp 0x45b7a1
mov dword [esp + 4], str.WGL:_OpenGL_ES_requested_but_WGL_ARB_create_context_es2_profile_is_unavailable
mov dword [esp], 0x10006
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
mov esi, dword [0x4a5f68]
test esi, esi
jne 0x45c11a
mov ebx, dword [0x4a5f6c]
test ebx, ebx
je 0x45b61a
mov dword [esp + edi*4 + 0x60], 0x20a9
add edi, 1
jmp 0x45b61a
cmp dword [esp + edx + 0x100], 0x2025
jne 0x45b7dd
jmp 0x45b650
mov dword [esp + 4], str.WGL:_Failed_to_retrieve_PFD_for_selected_pixel_format
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.004530f0
add esp, 0x1ac
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + edx + 0x100]
test eax, eax
je 0x45bae4
jmp 0x45bad5
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
jmp 0x45bb15
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x24], eax
jmp 0x45ba60
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x28], eax
jmp 0x45baa0
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x14], eax
jmp 0x45b960
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x18], eax
jmp 0x45b9a0
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x1c], eax
jmp 0x45b9e0
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x20], eax
jmp 0x45ba20
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi], eax
jmp 0x45b81f
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 4], eax
jmp 0x45b860
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 8], eax
jmp 0x45b8a0
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0xc], eax
jmp 0x45b8e0
lea eax, [esp + 0x100]
add edx, eax
mov eax, dword [edx]
mov dword [esi + 0x10], eax
jmp 0x45b920
mov eax, dword [0x4a5f68]
test eax, eax
jne 0x45c26d
mov eax, dword [0x4a5f6c]
test eax, eax
je 0x45bfd7
test edi, edi
je 0x45c2a7
cmp dword [esp + 0x60], 0x20a9
je 0x45c369
mov eax, 4
jmp 0x45c2a3
lea edx, [eax + 4]
cmp dword [esp + edx + 0x5c], 0x20a9
je 0x45c4f0
mov eax, edx
cmp ebx, eax
jne 0x45c290
call fcn.00453b50
test eax, eax
je 0x45bfd7
jmp 0x45bb97
test edi, edi
je 0x45c2e9
cmp dword [esp + 0x60], 0x2042
je 0x45c5dd
mov eax, 4
jmp 0x45c2e5
lea edx, [eax + 4]
cmp dword [esp + edx + 0x5c], 0x2042
je 0x45c3c0
mov eax, edx
cmp ebx, eax
jne 0x45c2d2
call fcn.00453b50
mov dword [esi + 0x30], eax
jmp 0x45bb2d
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x28
xor edi, edi
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DescribePixelFormat]
sub esp, 0x10
mov dword [esp + 0x34], eax
jmp 0x45b61e
mov dword [esp + 4], str.WGL:_Failed_to_find_a_suitable_pixel_format
mov dword [esp], 0x10009
jmp 0x45c0b1
cmp dword [esp + 0x100], 0x2025
jne 0x45b7e9
jmp 0x45b650
lea edx, [esp + 0x100]
jmp 0x45c202
lea edx, [esp + 0x100]
mov eax, dword [edx]
jmp 0x45bb15
lea eax, [esp + 0x100]
mov eax, dword [eax]
jmp 0x45c2ac
mov dword [esp + 4], str.WGL:_Failed_to_set_selected_pixel_format
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.004530f0
jmp 0x45bbb9
mov dword [esp + 4], str.WGL:_Failed_to_describe_pixel_format
mov dword [esp], 0x10008
call fcn.004530f0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x45bbb9
lea ecx, [esp + 0x100]
add eax, ecx
mov eax, dword [eax]
jmp 0x45c2ee
mov edx, dword [eax + 0x10]
test edx, edx
je 0x45c568
mov ebp, dword [0x4a5f74]
test ebp, ebp
je 0x45c5c4
mov eax, dword [esp + 0x1c4]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x45c6cb
mov ebp, dword [0x4a5f78]
test ebp, ebp
je 0x45c660
mov ecx, dword [0x4a5f74]
mov esi, dword [esp + 0x1c0]
test ecx, ecx
mov esi, dword [esi + 0x234]
jne 0x45c62d
mov dword [esp], esi
call dword [0x4a5f2c]
sub esp, 4
test eax, eax
mov esi, dword [esp + 0x1c0]
mov dword [esi + 0x238], eax
je 0x45c5f7
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x45bebe
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x4a5f44]
sub esp, 8
test eax, eax
jne 0x45bebe
mov dword [esp + 4], str.WGL:_Failed_to_enable_sharing_with_specified_OpenGL_context
mov dword [esp], 0x10008
xor ebp, ebp
call fcn.004530f0
jmp 0x45bbb9
lea ecx, [esp + 0x100]
add eax, ecx
mov eax, dword [eax]
jmp 0x45bb8c
call fcn.00453b50
mov dword [esi], eax
call fcn.00453b50
mov dword [esi + 4], eax
call fcn.00453b50
mov dword [esi + 8], eax
call fcn.00453b50
mov dword [esi + 0xc], eax
call fcn.00453b50
mov dword [esi + 0x10], eax
call fcn.00453b50
mov dword [esi + 0x14], eax
call fcn.00453b50
mov dword [esi + 0x18], eax
call fcn.00453b50
mov dword [esi + 0x1c], eax
call fcn.00453b50
mov dword [esi + 0x20], eax
call fcn.00453b50
mov dword [esi + 0x24], eax
call fcn.00453b50
mov dword [esi + 0x28], eax
jmp 0x45bacc
lea ecx, [esp + 0x100]
add eax, ecx
mov eax, dword [eax]
jmp 0x45c2ac
lea edx, [esp + 0x100]
jmp 0x45c190
mov edx, dword [esp + 0x100]
test edx, edx
je 0x45baf0
jmp 0x45bad5
lea edx, [esp + 0x100]
jmp 0x45c214
lea edx, [esp + 0x100]
jmp 0x45c1b6
lea edx, [esp + 0x100]
jmp 0x45c1c9
lea edx, [esp + 0x100]
jmp 0x45c1ef
lea edx, [esp + 0x100]
jmp 0x45c1dc
lea edx, [esp + 0x100]
jmp 0x45c1a3
mov eax, dword [esp + 0x1c4]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x45c3fb
mov eax, dword [esp + 0x1c0]
mov esi, dword [eax + 0x234]
mov eax, dword [0x4a5f74]
test eax, eax
je 0x45c424
xor ecx, ecx
xor ebx, ebx
jmp 0x45bd19
lea edx, [esp + 0x100]
jmp 0x45c227
lea edx, [esp + 0x100]
jmp 0x45c24d
lea edx, [esp + 0x100]
jmp 0x45c23a
mov dword [esp + 4], str.WGL:_A_forward_compatible_OpenGL_context_requested_but_WGL_ARB_create_context_is_unavailable
mov dword [esp], 0x10007
call fcn.0044ee70
jmp 0x45bbb9
lea eax, [esp + 0x100]
mov eax, dword [eax]
jmp 0x45c2ee
mov edx, 1
xor eax, eax
jmp 0x45bd80
mov dword [esp + 4], str.WGL:_Failed_to_create_OpenGL_context
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.004530f0
jmp 0x45bbb9
lea eax, [esp + 0x100]
mov eax, dword [eax]
jmp 0x45bb8c
test edi, edi
je 0x45be3c
jmp 0x45be12
cmp edx, 1
mov ebx, 1
sbb ecx, ecx
not ecx
and ecx, 2
cmp eax, 0x32001
je 0x45bd19
cmp eax, 0x32002
jne 0x45c596
mov ebx, 2
jmp 0x45bd19
mov dword [esp + 4], str.WGL:_OpenGL_profile_requested_but_WGL_ARB_create_context_profile_is_unavailable
mov dword [esp], 0x10007
call fcn.0044ee70
jmp 0x45bbb9
call fcn.00453b50
mov dword [esi + 0xc], eax
call fcn.00453b50
mov dword [esi + 0x10], eax
call fcn.00453b50
mov dword [esi + 0x14], eax
call fcn.00453b50
mov dword [esi + 0x18], eax
call fcn.00453b50
mov dword [esi + 0x1c], eax
call fcn.00453b50
mov dword [esi + 0x20], eax
call fcn.00453b50
mov dword [esi + 0x24], eax
call fcn.00453b50
mov dword [esi + 0x28], eax
call fcn.00453b50
test eax, eax
je 0x45bb10
jmp 0x45bad5
mov eax, dword [esp + 0x1c0]
mov ecx, 2
mov esi, dword [eax + 0x234]
jmp 0x45c596
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc0072095
je 0x45c789
cmp eax, 0xc0072096
je 0x45c76e
cmp eax, 0xc0072054
je 0x45c753
mov eax, dword [esp + 0x1c4]
cmp dword [eax], 0x30001
je 0x45c738
mov dword [esp + 4], str.WGL:_Failed_to_create_OpenGL_ES_context
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
call fcn.00453b50
mov dword [esi + 4], eax
jmp 0x45b88c
mov dword [esp + 4], str.WGL:_Failed_to_create_OpenGL_context
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
mov dword [esp + 4], str.WGL:_The_share_context_is_not_compatible_with_the_requested_context
mov dword [esp], 0x10004
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
mov dword [esp + 4], str.WGL:_Driver_does_not_support_the_requested_OpenGL_profile
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
mov esi, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c4]
cmp dword [esi], 0x30001
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
je 0x45c809
mov dword [esp + 4], str.WGL:_Driver_does_not_support_OpenGL_ES_version__i._i
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9
mov dword [esp + eax*4 + 0x100], 0x2097
mov dword [esp + edx*4 + 0x100], 0
lea edx, [eax + 3]
add eax, 2
jmp 0x45bdc8
mov dword [esp + 0x100], 0x8256
mov dword [esp + 0x104], 0x8261
mov eax, 2
jmp 0x45bd7a
mov dword [esp + 4], str.WGL:_Driver_does_not_support_OpenGL_version__i._i
mov dword [esp], 0x10007
xor ebp, ebp
call fcn.0044ee70
jmp 0x45bbb9