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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x584
mov eax, dword [0x10128014]
xor eax, esp
mov dword [esp + 0x580], eax
cmp dword [0x1012d350], 0
push ebx
push esi
push edi
mov esi, ecx
jne 0x10054fec
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, 6
test esi, esi
je 0x10055f6d
cmp esi, 1
jl 0x10054f5d
cmp esi, 4
jle 0x10055006
cmp esi, 5
je 0x100550db
cmp esi, ebx
je 0x10055f6d
cmp esi, 7
jne 0x10055f6d
push str.d3d9.dll
xor esi, esi
call edi
test eax, eax
je 0x10054f8b
mov esi, 1
jmp 0x10054fdf
push str.d3d10.dll
call edi
test eax, eax
je 0x10054f9d
mov esi, 2
jmp 0x10054fdf
push str.d3d11.dll
call edi
test eax, eax
je 0x10054faf
mov esi, 3
jmp 0x10054fdf
push str.d3d12.dll
call edi
test eax, eax
je 0x10054fc1
mov esi, 4
jmp 0x10054fdf
push str.opengl32.dll
call edi
test eax, eax
je 0x10054fd3
mov esi, 5
jmp 0x10054fdf
push str.vulcan_1.dll
call edi
test eax, eax
cmovne esi, ebx
cmp dword [0x1012d350], 0
je 0x10054f47
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.1005d6c0
mov esp, ebp
pop ebp
ret
mov eax, dword [sym.imp.USER32.dll_DefWindowProcA]
push 0
mov dword [esp + 0x560], 0x30
mov dword [esp + 0x564], 3
mov dword [esp + 0x568], eax
mov dword [esp + 0x56c], 0
mov dword [esp + 0x570], 0
call edi
mov dword [esp + 0x570], eax
xorps xmm0, xmm0
lea eax, [esp + 0x55c]
mov dword [esp + 0x584], 0x100e731c
push eax
movups xmmword [esp + 0x578], xmm0
mov dword [esp + 0x58c], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [esp + 0x574]
push 0
push 0
push 0x64
push 0x64
push 0
push 0
push 0xcf0000
push str.Kiero_DirectX_Window
push dword [esp + 0x5ac]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x570]
push dword [esp + 0x588]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.1005d6c0
mov esp, ebp
pop ebp
ret
push str.opengl32.dll
call edi
mov edi, eax
test edi, edi
jne 0x10055100
lea eax, [edi - 3]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.1005d6c0
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x10], str.glAccum
mov dword [esp + 0x14], str.glAlphaFunc
mov dword [esp + 0x18], str.glAreTexturesResident
mov dword [esp + 0x1c], str.glArrayElement
mov dword [esp + 0x20], str.glBegin
mov dword [esp + 0x24], 0x100e7390
mov dword [esp + 0x28], str.glBitmap
mov dword [esp + 0x2c], 0x100e73ac
mov dword [esp + 0x30], str.glCallList
mov dword [esp + 0x34], str.glCallLists
mov dword [esp + 0x38], str.glClear
mov dword [esp + 0x3c], str.glClearAccum
mov dword [esp + 0x40], str.glClearColor
mov dword [esp + 0x44], str.glClearDepth
mov dword [esp + 0x48], str.glClearIndex
mov dword [esp + 0x4c], str.glClearStencil
mov dword [esp + 0x50], str.glClipPlane
mov dword [esp + 0x54], str.glColor3b
mov dword [esp + 0x58], str.glColor3bv
mov dword [esp + 0x5c], str.glColor3d
mov dword [esp + 0x60], str.glColor3dv
mov dword [esp + 0x64], str.glColor3f
mov dword [esp + 0x68], str.glColor3fv
mov dword [esp + 0x6c], str.glColor3i
mov dword [esp + 0x70], str.glColor3iv
mov dword [esp + 0x74], str.glColor3s
mov dword [esp + 0x78], str.glColor3sv
mov dword [esp + 0x7c], str.glColor3ub
mov dword [esp + 0x80], str.glColor3ubv
mov dword [esp + 0x84], str.glColor3ui
mov dword [esp + 0x88], str.glColor3uiv
mov dword [esp + 0x8c], str.glColor3us
mov dword [esp + 0x90], str.glColor3usv
mov dword [esp + 0x94], str.glColor4b
mov dword [esp + 0x98], str.glColor4bv
mov dword [esp + 0x9c], str.glColor4d
mov dword [esp + 0xa0], str.glColor4dv
mov dword [esp + 0xa4], str.glColor4f
mov dword [esp + 0xa8], str.glColor4fv
mov dword [esp + 0xac], str.glColor4i
mov dword [esp + 0xb0], str.glColor4iv
mov dword [esp + 0xb4], str.glColor4s
mov dword [esp + 0xb8], str.glColor4sv
mov dword [esp + 0xbc], str.glColor4ub
mov dword [esp + 0xc0], str.glColor4ubv
mov dword [esp + 0xc4], str.glColor4ui
mov dword [esp + 0xc8], str.glColor4uiv
mov dword [esp + 0xcc], str.glColor4us
mov dword [esp + 0xd0], str.glColor4usv
mov dword [esp + 0xd4], str.glColorMask
mov dword [esp + 0xd8], str.glColorMaterial
mov dword [esp + 0xdc], 0x100e75d0
mov dword [esp + 0xe0], str.glCopyPixels
mov dword [esp + 0xe4], str.glCopyTexImage1D
mov dword [esp + 0xe8], str.glCopyTexImage2D
mov dword [esp + 0xec], str.glCopyTexSubImage1D
mov dword [esp + 0xf0], str.glCopyTexSubImage2D
mov dword [esp + 0xf4], str.glCullFaceglCullFace
mov dword [esp + 0xf8], str.glDeleteLists
mov dword [esp + 0xfc], str.glDeleteTextures
mov dword [esp + 0x100], str.glDepthFunc
mov dword [esp + 0x104], str.glDepthMask
mov dword [esp + 0x108], str.glDepthRange
mov dword [esp + 0x10c], 0x100e76a4
mov dword [esp + 0x110], 0x100e76b0
mov dword [esp + 0x114], str.glDrawArrays
mov dword [esp + 0x118], str.glDrawBuffer
mov dword [esp + 0x11c], 0x100e76e8
mov dword [esp + 0x120], str.glDrawPixels
mov dword [esp + 0x124], str.glEdgeFlag
mov dword [esp + 0x128], str.glEdgeFlagPointer
mov dword [esp + 0x12c], str.glEdgeFlagv
mov dword [esp + 0x130], 0x100e7734
mov dword [esp + 0x134], 0x100e7740
mov dword [esp + 0x138], str.glEnd
mov dword [esp + 0x13c], str.glEndList
mov dword [esp + 0x140], str.glEvalCoord1d
mov dword [esp + 0x144], str.glEvalCoord1dv
mov dword [esp + 0x148], str.glEvalCoord1f
mov dword [esp + 0x14c], str.glEvalCoord1fv
mov dword [esp + 0x150], str.glEvalCoord2d
mov dword [esp + 0x154], str.glEvalCoord2dv
mov dword [esp + 0x158], str.glEvalCoord2f
mov dword [esp + 0x15c], str.glEvalCoord2fv
mov dword [esp + 0x160], str.glEvalMesh1
mov dword [esp + 0x164], str.glEvalMesh2
mov dword [esp + 0x168], str.glEvalPoint1
mov dword [esp + 0x16c], str.glEvalPoint2
mov dword [esp + 0x170], str.glFeedbackBuffer
mov dword [esp + 0x174], str.glFinish
mov dword [esp + 0x178], str.glFlush
mov dword [esp + 0x17c], str.glFogf
mov dword [esp + 0x180], str.glFogfv
mov dword [esp + 0x184], str.glFogi
mov dword [esp + 0x188], str.glFogiv
mov dword [esp + 0x18c], str.glFrontFace
mov dword [esp + 0x190], str.glFrustum
mov dword [esp + 0x194], str.glGenLists
mov dword [esp + 0x198], 0x100e788c
mov dword [esp + 0x19c], str.glGetBooleanv
mov dword [esp + 0x1a0], str.glGetClipPlane
mov dword [esp + 0x1a4], str.glGetDoublev
mov dword [esp + 0x1a8], str.glGetError
mov dword [esp + 0x1ac], str.glGetFloatv
mov dword [esp + 0x1b0], 0x100e78e4
mov dword [esp + 0x1b4], str.glGetLightfv
mov dword [esp + 0x1b8], str.glGetLightiv
mov dword [esp + 0x1bc], str.glGetMapdv
mov dword [esp + 0x1c0], str.glGetMapfv
mov dword [esp + 0x1c4], str.glGetMapiv
mov dword [esp + 0x1c8], str.glGetMaterialfv
mov dword [esp + 0x1cc], str.glGetMaterialiv
mov dword [esp + 0x1d0], str.glGetPixelMapfv
mov dword [esp + 0x1d4], str.glGetPixelMapuiv
mov dword [esp + 0x1d8], str.glGetPixelMapusv
mov dword [esp + 0x1dc], str.glGetPointerv
mov dword [esp + 0x1e0], str.glGetPolygonStipple
mov dword [esp + 0x1e4], str.glGetString
mov dword [esp + 0x1e8], str.glGetTexEnvfv
mov dword [esp + 0x1ec], 0x100e79d0
mov dword [esp + 0x1f0], str.glGetTexGendv
mov dword [esp + 0x1f4], str.glGetTexGenfv
mov dword [esp + 0x1f8], str.glGetTexGeniv
mov dword [esp + 0x1fc], str.glGetTexImage
mov dword [esp + 0x200], str.glGetTexLevelParameterfv
mov dword [esp + 0x204], str.glGetTexLevelParameteriv
mov dword [esp + 0x208], str.glGetTexParameterfv
mov dword [esp + 0x20c], str.glGetTexParameteriv
mov dword [esp + 0x210], str.glHint
mov dword [esp + 0x214], str.glIndexMask
mov dword [esp + 0x218], str.glIndexPointer
mov dword [esp + 0x21c], str.glIndexd
mov dword [esp + 0x220], str.glIndexdv
mov dword [esp + 0x224], str.glIndexf
mov dword [esp + 0x228], str.glIndexfv
mov dword [esp + 0x22c], str.glIndexi
mov dword [esp + 0x230], str.glIndexiv
mov dword [esp + 0x234], str.glIndexs
mov dword [esp + 0x238], str.glIndexsv
mov dword [esp + 0x23c], str.glIndexub
mov dword [esp + 0x240], str.glIndexubv
mov dword [esp + 0x244], str.glInitNames
mov dword [esp + 0x248], str.glInterleavedArrays
mov dword [esp + 0x24c], str.glIsEnabled
mov dword [esp + 0x250], str.glIsList
mov dword [esp + 0x254], str.glIsTexture
mov dword [esp + 0x258], str.glLightModelf
mov dword [esp + 0x25c], str.glLightModelfv
mov dword [esp + 0x260], str.glLightModeli
mov dword [esp + 0x264], str.glLightModeliv
mov dword [esp + 0x268], str.glLightf
mov dword [esp + 0x26c], str.glLightfv
mov dword [esp + 0x270], str.glLighti
mov dword [esp + 0x274], str.glLightiv
mov dword [esp + 0x278], str.glLineStipple
mov dword [esp + 0x27c], str.glLineWidth
mov dword [esp + 0x280], str.glListBase
mov dword [esp + 0x284], 0x100e7bf8
mov dword [esp + 0x288], str.glLoadMatrixd
mov dword [esp + 0x28c], str.glLoadMatrixf
mov dword [esp + 0x290], str.glLoadName
mov dword [esp + 0x294], str.glLogicOp
mov dword [esp + 0x298], str.glMap1d
mov dword [esp + 0x29c], str.glMap1f
mov dword [esp + 0x2a0], str.glMap2d
mov dword [esp + 0x2a4], str.glMap2f
mov dword [esp + 0x2a8], str.glMapGrid1d
mov dword [esp + 0x2ac], str.glMapGrid1f
mov dword [esp + 0x2b0], str.glMapGrid2d
mov dword [esp + 0x2b4], str.glMapGrid2f
mov dword [esp + 0x2b8], str.glMaterialf
mov dword [esp + 0x2bc], str.glMaterialfv
mov dword [esp + 0x2c0], str.glMateriali
mov dword [esp + 0x2c4], str.glMaterialiv
mov dword [esp + 0x2c8], 0x100e7cc8
mov dword [esp + 0x2cc], str.glMultMatrixd
mov dword [esp + 0x2d0], str.glMultMatrixf
mov dword [esp + 0x2d4], str.glNewList
mov dword [esp + 0x2d8], str.glNormal3b
mov dword [esp + 0x2dc], str.glNormal3bv
mov dword [esp + 0x2e0], str.glNormal3d
mov dword [esp + 0x2e4], str.glNormal3dv
mov dword [esp + 0x2e8], str.glNormal3f
mov dword [esp + 0x2ec], str.glNormal3fv
mov dword [esp + 0x2f0], str.glNormal3i
mov dword [esp + 0x2f4], str.glNormal3iv
mov dword [esp + 0x2f8], str.glNormal3s
mov dword [esp + 0x2fc], str.glNormal3sv
mov dword [esp + 0x300], str.glNormalPointer
mov dword [esp + 0x304], 0x100e7d8c
mov dword [esp + 0x308], str.glPassThrough
mov dword [esp + 0x30c], str.glPixelMapfv
mov dword [esp + 0x310], str.glPixelMapuiv
mov dword [esp + 0x314], str.glPixelMapusv
mov dword [esp + 0x318], str.glPixelStoref
mov dword [esp + 0x31c], 0x100e7de4
mov dword [esp + 0x320], str.glPixelTransferf
mov dword [esp + 0x324], str.glPixelTransferi
mov dword [esp + 0x328], str.glPixelZoom
mov dword [esp + 0x32c], str.glPointSize
mov dword [esp + 0x330], 0x100e7e34
mov dword [esp + 0x334], str.glPolygonOffset
mov dword [esp + 0x338], str.glPolygonStipple
mov dword [esp + 0x33c], 0x100e7e68
mov dword [esp + 0x340], str.glPopClientAttrib
mov dword [esp + 0x344], 0x100e7e88
mov dword [esp + 0x348], str.glPopName
mov dword [esp + 0x34c], str.glPrioritizeTextures
mov dword [esp + 0x350], 0x100e7eb8
mov dword [esp + 0x354], str.glPushClientAttrib
mov dword [esp + 0x358], 0x100e7edc
mov dword [esp + 0x35c], str.glPushName
mov dword [esp + 0x360], str.glRasterPos2d
mov dword [esp + 0x364], str.glRasterPos2dv
mov dword [esp + 0x368], str.glRasterPos2f
mov dword [esp + 0x36c], str.glRasterPos2fv
mov dword [esp + 0x370], str.glRasterPos2i
mov dword [esp + 0x374], str.glRasterPos2iv
mov dword [esp + 0x378], str.glRasterPos2s
mov dword [esp + 0x37c], str.glRasterPos2sv
mov dword [esp + 0x380], str.glRasterPos3d
mov dword [esp + 0x384], str.glRasterPos3dv
mov dword [esp + 0x388], str.glRasterPos3f
mov dword [esp + 0x38c], str.glRasterPos3fv
mov dword [esp + 0x390], str.glRasterPos3i
mov dword [esp + 0x394], str.glRasterPos3iv
mov dword [esp + 0x398], str.glRasterPos3s
mov dword [esp + 0x39c], str.glRasterPos3sv
mov dword [esp + 0x3a0], str.glRasterPos4d
mov dword [esp + 0x3a4], str.glRasterPos4dv
mov dword [esp + 0x3a8], str.glRasterPos4f
mov dword [esp + 0x3ac], str.glRasterPos4fv
mov dword [esp + 0x3b0], str.glRasterPos4i
mov dword [esp + 0x3b4], str.glRasterPos4iv
mov dword [esp + 0x3b8], str.glRasterPos4s
mov dword [esp + 0x3bc], str.glRasterPos4sv
mov dword [esp + 0x3c0], str.glReadBuffer
mov dword [esp + 0x3c4], str.glReadPixels
mov dword [esp + 0x3c8], str.glRectd
mov dword [esp + 0x3cc], str.glRectdv
mov dword [esp + 0x3d0], str.glRectf
mov dword [esp + 0x3d4], str.glRectfv
mov dword [esp + 0x3d8], str.glRecti
mov dword [esp + 0x3dc], str.glRectiv
mov dword [esp + 0x3e0], str.glRects
mov dword [esp + 0x3e4], str.glRectsv
mov dword [esp + 0x3e8], str.glRenderMode
mov dword [esp + 0x3ec], 0x100e80f8
mov dword [esp + 0x3f0], 0x100e8104
mov dword [esp + 0x3f4], 0x100e8110
mov dword [esp + 0x3f8], 0x100e811c
mov dword [esp + 0x3fc], 0x100e8128
mov dword [esp + 0x400], 0x100e8134
mov dword [esp + 0x404], 0x100e8144
mov dword [esp + 0x408], 0x100e8154
mov dword [esp + 0x40c], 0x100e8164
mov dword [esp + 0x410], 0x100e8174
mov dword [esp + 0x414], 0x100e8180
mov dword [esp + 0x418], 0x100e8190
mov dword [esp + 0x41c], 0x100e81a0
mov dword [esp + 0x420], 0x100e81b0
mov dword [esp + 0x424], 0x100e81c0
mov dword [esp + 0x428], 0x100e81d0
mov dword [esp + 0x42c], 0x100e81e0
mov dword [esp + 0x430], 0x100e81f0
mov dword [esp + 0x434], 0x100e8200
mov dword [esp + 0x438], 0x100e8210
mov dword [esp + 0x43c], 0x100e8220
mov dword [esp + 0x440], 0x100e8230
mov dword [esp + 0x444], 0x100e8240
mov dword [esp + 0x448], 0x100e8250
mov dword [esp + 0x44c], 0x100e8260
mov dword [esp + 0x450], 0x100e8270
mov dword [esp + 0x454], 0x100e8280
mov dword [esp + 0x458], 0x100e8290
mov dword [esp + 0x45c], 0x100e82a0
mov dword [esp + 0x460], 0x100e82b0
mov dword [esp + 0x464], 0x100e82c0
mov dword [esp + 0x468], 0x100e82d0
mov dword [esp + 0x46c], 0x100e82e0
mov dword [esp + 0x470], 0x100e82f0
mov dword [esp + 0x474], 0x100e8300
mov dword [esp + 0x478], 0x100e8310
mov dword [esp + 0x47c], 0x100e8320
mov dword [esp + 0x480], 0x100e8330
mov dword [esp + 0x484], 0x100e8340
mov dword [esp + 0x488], 0x100e8350
mov dword [esp + 0x48c], 0x100e8360
mov dword [esp + 0x490], 0x100e8370
mov dword [esp + 0x494], 0x100e8380
mov dword [esp + 0x498], 0x100e8394
mov dword [esp + 0x49c], 0x100e83a0
mov dword [esp + 0x4a0], 0x100e83ac
mov dword [esp + 0x4a4], 0x100e83b8
mov dword [esp + 0x4a8], 0x100e83c4
mov dword [esp + 0x4ac], 0x100e83d0
mov dword [esp + 0x4b0], 0x100e83dc
mov dword [esp + 0x4b4], 0x100e83e8
mov dword [esp + 0x4b8], 0x100e83f4
mov dword [esp + 0x4bc], 0x100e8400
mov dword [esp + 0x4c0], 0x100e840c
mov dword [esp + 0x4c4], 0x100e841c
mov dword [esp + 0x4c8], 0x100e842c
mov dword [esp + 0x4cc], 0x100e843c
mov dword [esp + 0x4d0], 0x100e8450
mov dword [esp + 0x4d4], 0x100e8460
mov dword [esp + 0x4d8], 0x100e8474
mov dword [esp + 0x4dc], 0x100e8484
mov dword [esp + 0x4e0], 0x100e8494
mov dword [esp + 0x4e4], 0x100e84a4
mov dword [esp + 0x4e8], 0x100e84b4
mov dword [esp + 0x4ec], 0x100e84c0
mov dword [esp + 0x4f0], 0x100e84cc
mov dword [esp + 0x4f4], 0x100e84d8
mov dword [esp + 0x4f8], 0x100e84e4
mov dword [esp + 0x4fc], 0x100e84f0
mov dword [esp + 0x500], 0x100e84fc
mov dword [esp + 0x504], 0x100e8508
mov dword [esp + 0x508], 0x100e8514
mov dword [esp + 0x50c], 0x100e8520
mov dword [esp + 0x510], 0x100e852c
mov dword [esp + 0x514], 0x100e8538
mov dword [esp + 0x518], 0x100e8544
mov dword [esp + 0x51c], 0x100e8550
push 4
push 0x151
mov dword [esp + 0x528], 0x100e855c
mov dword [esp + 0x52c], 0x100e8568
mov dword [esp + 0x530], 0x100e8574
mov dword [esp + 0x534], 0x100e8580
mov dword [esp + 0x538], 0x100e858c
mov dword [esp + 0x53c], 0x100e8598
mov dword [esp + 0x540], 0x100e85a4
mov dword [esp + 0x544], 0x100e85b0
mov dword [esp + 0x548], 0x100e85bc
mov dword [esp + 0x54c], 0x100e85c8
mov dword [esp + 0x550], 0x100e85d4
mov dword [esp + 0x554], 0x100e85e4
mov dword [esp + 0x558], 0x100e85f0
call fcn.1008b370
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 8
mov dword [0x1012d33c], eax
xor esi, esi
push dword [esp + esi + 0x10]
push edi
call ebx
mov ecx, dword [0x1012d33c]
mov dword [esi + ecx], eax
add esi, 4
cmp esi, 0x544
jb 0x10055f43
call fcn.10056bc0
mov dword [0x1012d350], 5
mov ecx, dword [esp + 0x58c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005d6c0
mov esp, ebp
pop ebp
ret