Function at 0x4bd3c0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x524018]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
push str.Creating_3D_Renderer_context
push 0
mov ebx, ecx
push 0x3b
push str.C:Users_soniaOneDriveDocumentosGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceModuleRenderer3D.cpp
mov dword [esp + 0x58], ebx
call fcn.004b4b40
mov eax, dword [ebx + 8]
mov byte [esp + 0x57], 1
mov eax, dword [eax]
push dword [eax + 0xc]
call dword [sym.imp.SDL2.dll_SDL_GL_CreateContext]
add esp, 0x14
mov dword [ebx + 0x1ac], eax
test eax, eax
jne 0x4bd432
call dword [sym.imp.SDL2.dll_SDL_GetError]
push eax
push str.OpenGL_context_could_not_be_created__SDL_Error:__s_n
push 0
push 0x42
push str.C:Users_soniaOneDriveDocumentosGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceModuleRenderer3D.cpp
call fcn.004b4b40
add esp, 0x14
mov byte [esp + 0x47], 0
call dword [sym.imp.glew32.dll__glewInit_0]
mov edi, dword [sym.imp.OPENGL32.dll_glMatrixMode]
push 0x1701
call edi
call dword [sym.imp.OPENGL32.dll_glLoadIdentity]
mov esi, dword [sym.imp.OPENGL32.dll_glGetError]
call esi
test eax, eax
je 0x4bd47f
push eax
call dword [sym.imp.GLU32.dll_gluErrorString]
push eax
push str.Error_initializing_OpenGL___s_n
push 2
push 0x50
push str.C:Users_soniaOneDriveDocumentosGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceModuleRenderer3D.cpp
call fcn.004b4b40
add esp, 0x14
mov byte [esp + 0x47], 0
jmp 0x4bd699
cmp byte [esp + 0x47], 1
jne 0x4bd699
push 0x1700
call edi
call dword [sym.imp.OPENGL32.dll_glLoadIdentity]
call esi
mov edi, dword [sym.imp.GLU32.dll_gluErrorString]
test eax, eax
je 0x4bd4c2
push eax
call edi
push eax
push str.Error_initializing_OpenGL___s_n
push 0
push 0x62
push str.C:Users_soniaOneDriveDocumentosGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceModuleRenderer3D.cpp
call fcn.004b4b40
add esp, 0x14
mov byte [esp + 0x47], 0
push 0x1102
push 0xc50
call dword [sym.imp.OPENGL32.dll_glHint]
movsd xmm0, qword [0x51b090]
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glClearDepth]
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glClearColor]
push 0x4000
call dword [sym.imp.OPENGL32.dll_glClear]
call esi
test eax, eax
je 0x4bd540
push eax
call edi
push eax
push str.Error_initializing_OpenGL___s_n
push 0
push 0x71
push str.C:Users_soniaOneDriveDocumentosGitHubEngine_BonesEngine_Bones_v.1Engine_BonesSourceModuleRenderer3D.cpp
call fcn.004b4b40
add esp, 0x14
mov byte [esp + 0x47], 0
mov esi, dword [sym.imp.OPENGL32.dll_glEnable]
push 0xbc0
call esi
push ecx
mov dword [esp], 0x3dcccccd
push 0x204
call dword [sym.imp.OPENGL32.dll_glAlphaFunc]
push 0xbe2
call esi
push 0x303
push 0x302
call dword [sym.imp.OPENGL32.dll_glBlendFunc]
movaps xmm0, xmmword [0x51b7f0]
lea eax, [esp + 0x4c]
push eax
push 0xb53
movups xmmword [esp + 0x54], xmm0
call dword [sym.imp.OPENGL32.dll_glLightModelfv]
mov esi, dword [sym.imp.OPENGL32.dll_glLightfv]
lea edi, [ebx + 0xc]
push edi
push 0x1200
mov dword [ebx + 0x38], 0x4000
mov dword [edi], 0x3e800000
mov dword [edi + 4], 0x3e800000
mov dword [edi + 8], 0x3e800000
mov dword [edi + 0xc], 0x3f800000
mov dword [ebx + 0x1c], 0x3f400000
mov dword [ebx + 0x20], 0x3f400000
mov dword [ebx + 0x24], 0x3f400000
mov dword [ebx + 0x28], 0x3f800000
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0x40200000
push dword [edi + 0x2c]
call esi
lea eax, [edi + 0x10]
push eax
push 0x1201
push dword [edi + 0x2c]
call esi
movaps xmm0, xmmword [0x51be40]
lea eax, [esp + 0x5c]
mov esi, dword [sym.imp.OPENGL32.dll_glMaterialfv]
push eax
push 0x1200
push 0x408
movups xmmword [esp + 0x68], xmm0
call esi
movaps xmm0, xmmword [0x51be40]
lea eax, [esp + 0x6c]
push eax
push 0x1201
push 0x408
movups xmmword [esp + 0x78], xmm0
call esi
mov cl, byte [ebx + 0x3c]
cmp cl, 1
je 0x4bd670
test cl, cl
sete al
mov byte [ebx + 0x3c], al
mov eax, dword [ebx + 0x38]
push eax
test cl, cl
jne 0x4bd66a
mov ebx, dword [sym.imp.OPENGL32.dll_glEnable]
call ebx
jmp 0x4bd676
call dword [sym.imp.OPENGL32.dll_glDisable]
mov ebx, dword [sym.imp.OPENGL32.dll_glEnable]
push 0xb71
call ebx
push 0xb44
call ebx
push 0xb50
call ebx
push 0xb57
call ebx
push 0xde1
call ebx
call dword [sym.imp.DevIL.dll_ilInit]
call dword [sym.imp.ILU.dll_iluInit]
call dword [sym.imp.ILUT.dll_ilutInit]
push 0
call dword [sym.imp.ILUT.dll_ilutRenderer]
push 0x4010
call fcn.004b2620
mov edi, eax
add esp, 4
test edi, edi
je 0x4bd6e3
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
jmp 0x4bd6e5
xor edi, edi
xor esi, esi
lea ecx, [edi + 0x11]
nop word [eax + eax]
mov ebx, esi
xor edx, edx
shr ebx, 3
mov eax, edx
mov byte [ecx + 2], 0xff
shr eax, 3
inc edx
xor al, bl
and al, 1
neg al
mov byte [ecx - 1], al
mov byte [ecx], al
mov byte [ecx + 1], al
add ecx, 4
cmp edx, 0x40
jl 0x4bd6f7
inc esi
cmp esi, 0x40
jl 0x4bd6f0
push 1
push 0xcf5
call dword [sym.imp.OPENGL32.dll_glPixelStorei]
lea esi, [edi + 0xc]
push esi
push 1
call dword [sym.imp.OPENGL32.dll_glGenTextures]
push dword [esi]
push 0xde1
call dword [sym.imp.OPENGL32.dll_glBindTexture]
mov esi, dword [sym.imp.OPENGL32.dll_glTexParameteri]
push 0x2901
push 0x2802
push 0xde1
call esi
push 0x2901
push 0x2803
push 0xde1
call esi
push 0x2600
push 0x2800
push 0xde1
call esi
push 0x2600
push 0x2801
push 0xde1
call esi
lea eax, [edi + 0x10]
push eax
push 0x1401
push 0x1908
push 0
push 0x40
push 0x40
push 0x1908
push 0
push 0xde1
call dword [sym.imp.OPENGL32.dll_glTexImage2D]
mov edx, str.Assets_Textures_Baker_house.dds
mov ecx, str.Assets_Obj_BakerHouse.fbx
call fcn.00401c80
mov esi, dword [esp + 0x48]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
sub eax, edx
sar eax, 2
lea edi, [eax - 1]
cmp eax, edi
jbe 0x4bd840
mov eax, dword [edx + edi*4]
mov dword [ecx + 0x1c], eax
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x14]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
sar eax, 2
lea edi, [eax - 1]
cmp eax, edi
jbe 0x4bd840
mov ecx, dword [ecx + 0x10]
mov eax, dword [edx + edi*4]
push 0x2d0
push 0x500
mov dword [ecx + 0x58], eax
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x58]
mov byte [ecx + 0x2d], 1
mov ecx, esi
call fcn.004bdd00
mov ecx, dword [esp + 0x7c]
mov al, byte [esp + 0x47]
pop edi
mov byte [esi + 0x204], 1
pop esi
pop ebx
xor ecx, esp
call fcn.004bee44
mov esp, ebp
pop ebp
ret
call fcn.004037b0
int3