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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x584
mov eax, dword [0x10129014]
xor eax, esp
mov dword [esp + 0x580], eax
cmp dword [0x1012e360], 0
push ebx
push esi
push edi
mov esi, ecx
jne 0x100553ec
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, 6
test esi, esi
je 0x1005636d
cmp esi, 1
jl 0x1005535d
cmp esi, 4
jle 0x10055406
cmp esi, 5
je 0x100554db
cmp esi, ebx
je 0x1005636d
cmp esi, 7
jne 0x1005636d
push str.d3d9.dll
xor esi, esi
call edi
test eax, eax
je 0x1005538b
mov esi, 1
jmp 0x100553df
push str.d3d10.dll
call edi
test eax, eax
je 0x1005539d
mov esi, 2
jmp 0x100553df
push str.d3d11.dll
call edi
test eax, eax
je 0x100553af
mov esi, 3
jmp 0x100553df
push str.d3d12.dll
call edi
test eax, eax
je 0x100553c1
mov esi, 4
jmp 0x100553df
push str.opengl32.dll
call edi
test eax, eax
je 0x100553d3
mov esi, 5
jmp 0x100553df
push str.vulcan_1.dll
call edi
test eax, eax
cmovne esi, ebx
cmp dword [0x1012e360], 0
je 0x10055347
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.1005db50
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], 0x100e8324
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.1005db50
mov esp, ebp
pop ebp
ret
push str.opengl32.dll
call edi
mov edi, eax
test edi, edi
jne 0x10055500
lea eax, [edi - 3]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.1005db50
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], 0x100e8398
mov dword [esp + 0x28], str.glBitmap
mov dword [esp + 0x2c], 0x100e83b4
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], 0x100e85d8
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], 0x100e86ac
mov dword [esp + 0x110], 0x100e86b8
mov dword [esp + 0x114], str.glDrawArrays
mov dword [esp + 0x118], str.glDrawBuffer
mov dword [esp + 0x11c], 0x100e86f0
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], 0x100e873c
mov dword [esp + 0x134], 0x100e8748
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], 0x100e8894
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], 0x100e88ec
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], 0x100e89d8
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], 0x100e8c00
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], 0x100e8cd0
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], 0x100e8d94
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], 0x100e8dec
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], 0x100e8e3c
mov dword [esp + 0x334], str.glPolygonOffset
mov dword [esp + 0x338], str.glPolygonStipple
mov dword [esp + 0x33c], 0x100e8e70
mov dword [esp + 0x340], str.glPopClientAttrib
mov dword [esp + 0x344], 0x100e8e90
mov dword [esp + 0x348], str.glPopName
mov dword [esp + 0x34c], str.glPrioritizeTextures
mov dword [esp + 0x350], 0x100e8ec0
mov dword [esp + 0x354], str.glPushClientAttrib
mov dword [esp + 0x358], 0x100e8ee4
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], 0x100e9100
mov dword [esp + 0x3f0], 0x100e910c
mov dword [esp + 0x3f4], 0x100e9118
mov dword [esp + 0x3f8], 0x100e9124
mov dword [esp + 0x3fc], 0x100e9130
mov dword [esp + 0x400], 0x100e913c
mov dword [esp + 0x404], 0x100e914c
mov dword [esp + 0x408], 0x100e915c
mov dword [esp + 0x40c], 0x100e916c
mov dword [esp + 0x410], 0x100e917c
mov dword [esp + 0x414], 0x100e9188
mov dword [esp + 0x418], 0x100e9198
mov dword [esp + 0x41c], 0x100e91a8
mov dword [esp + 0x420], 0x100e91b8
mov dword [esp + 0x424], 0x100e91c8
mov dword [esp + 0x428], 0x100e91d8
mov dword [esp + 0x42c], 0x100e91e8
mov dword [esp + 0x430], 0x100e91f8
mov dword [esp + 0x434], 0x100e9208
mov dword [esp + 0x438], 0x100e9218
mov dword [esp + 0x43c], 0x100e9228
mov dword [esp + 0x440], 0x100e9238
mov dword [esp + 0x444], 0x100e9248
mov dword [esp + 0x448], 0x100e9258
mov dword [esp + 0x44c], 0x100e9268
mov dword [esp + 0x450], 0x100e9278
mov dword [esp + 0x454], 0x100e9288
mov dword [esp + 0x458], 0x100e9298
mov dword [esp + 0x45c], 0x100e92a8
mov dword [esp + 0x460], 0x100e92b8
mov dword [esp + 0x464], 0x100e92c8
mov dword [esp + 0x468], 0x100e92d8
mov dword [esp + 0x46c], 0x100e92e8
mov dword [esp + 0x470], 0x100e92f8
mov dword [esp + 0x474], 0x100e9308
mov dword [esp + 0x478], 0x100e9318
mov dword [esp + 0x47c], 0x100e9328
mov dword [esp + 0x480], 0x100e9338
mov dword [esp + 0x484], 0x100e9348
mov dword [esp + 0x488], 0x100e9358
mov dword [esp + 0x48c], 0x100e9368
mov dword [esp + 0x490], 0x100e9378
mov dword [esp + 0x494], 0x100e9388
mov dword [esp + 0x498], 0x100e939c
mov dword [esp + 0x49c], 0x100e93a8
mov dword [esp + 0x4a0], 0x100e93b4
mov dword [esp + 0x4a4], 0x100e93c0
mov dword [esp + 0x4a8], 0x100e93cc
mov dword [esp + 0x4ac], 0x100e93d8
mov dword [esp + 0x4b0], 0x100e93e4
mov dword [esp + 0x4b4], 0x100e93f0
mov dword [esp + 0x4b8], 0x100e93fc
mov dword [esp + 0x4bc], 0x100e9408
mov dword [esp + 0x4c0], 0x100e9414
mov dword [esp + 0x4c4], 0x100e9424
mov dword [esp + 0x4c8], 0x100e9434
mov dword [esp + 0x4cc], 0x100e9444
mov dword [esp + 0x4d0], 0x100e9458
mov dword [esp + 0x4d4], 0x100e9468
mov dword [esp + 0x4d8], 0x100e947c
mov dword [esp + 0x4dc], 0x100e948c
mov dword [esp + 0x4e0], 0x100e949c
mov dword [esp + 0x4e4], 0x100e94ac
mov dword [esp + 0x4e8], 0x100e94bc
mov dword [esp + 0x4ec], 0x100e94c8
mov dword [esp + 0x4f0], 0x100e94d4
mov dword [esp + 0x4f4], 0x100e94e0
mov dword [esp + 0x4f8], 0x100e94ec
mov dword [esp + 0x4fc], 0x100e94f8
mov dword [esp + 0x500], 0x100e9504
mov dword [esp + 0x504], 0x100e9510
mov dword [esp + 0x508], 0x100e951c
mov dword [esp + 0x50c], 0x100e9528
mov dword [esp + 0x510], 0x100e9534
mov dword [esp + 0x514], 0x100e9540
mov dword [esp + 0x518], 0x100e954c
mov dword [esp + 0x51c], 0x100e9558
push 4
push 0x151
mov dword [esp + 0x528], 0x100e9564
mov dword [esp + 0x52c], 0x100e9570
mov dword [esp + 0x530], 0x100e957c
mov dword [esp + 0x534], 0x100e9588
mov dword [esp + 0x538], 0x100e9594
mov dword [esp + 0x53c], 0x100e95a0
mov dword [esp + 0x540], 0x100e95ac
mov dword [esp + 0x544], 0x100e95b8
mov dword [esp + 0x548], 0x100e95c4
mov dword [esp + 0x54c], 0x100e95d0
mov dword [esp + 0x550], 0x100e95dc
mov dword [esp + 0x554], 0x100e95ec
mov dword [esp + 0x558], 0x100e95f8
call fcn.1008b7e0
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 8
mov dword [0x1012e34c], eax
xor esi, esi
push dword [esp + esi + 0x10]
push edi
call ebx
mov ecx, dword [0x1012e34c]
mov dword [esi + ecx], eax
add esi, 4
cmp esi, 0x544
jb 0x10056343
call fcn.10056fc0
mov dword [0x1012e360], 5
mov ecx, dword [esp + 0x58c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005db50
mov esp, ebp
pop ebp
ret