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

Disassembly:
sub esp, 0xc4
mov eax, dword [ecx + 8]
fld dword [esp + 0xd4]
push ebx
fstp dword [esp + 0x14]
mov ebx, dword [ecx]
push ebp
mov ebp, dword [esp + 0xd4]
push esi
mov esi, dword [edx + 0xc]
shl esi, 8
or esi, dword [edx]
push edi
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
shl esi, 8
or esi, dword [edx + 4]
add eax, ebx
shl esi, 8
or esi, dword [edx + 8]
add ecx, edi
cmp ebx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], edi
jge 0x504b08
cmp edi, ecx
jge 0x504b08
jmp 0x5048fd
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
fld dword [esp + 0xe0]
sub ecx, dword [esp + 0x18]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
mov dword [esp + 0x44], ecx
fsub qword [0x686830]
fstp dword [esp + 0x3c]
jmp 0x504928
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
sub eax, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0xec]
lea edx, [esp + 0x38]
push edx
push ebx
call fcn.00504720
fld dword [esp + 0x1c]
fsub qword [0x686830]
xor ecx, ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ecx
fstp dword [esp + 0x10]
mov dword [esp + 0x80], esi
fld dword [esp + 0x10]
mov dword [esp + 0x84], ecx
fst dword [esp + 0x50]
mov dword [esp + 0xa0], esi
fld dword [esp + 0x3c]
mov dword [esp + 0xa4], ecx
fst dword [esp + 0x54]
fldz
fst dword [esp + 0x58]
fld1
fst dword [esp + 0x5c]
fld dword [esp + 0x4c]
fst dword [esp + 0x68]
fld dword [esp + 0x34]
fst dword [esp + 0x6c]
fxch st(5)
fst dword [esp + 0x70]
fild dword [esp + 0x14]
fadd st(5)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x74]
fxch st(4)
fst dword [esp + 0x78]
fxch st(3)
fst dword [esp + 0x7c]
fxch st(2)
fstp dword [esp + 0x88]
fld dword [esp + 0x38]
fst dword [esp + 0x8c]
fild dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x90]
fxch st(5)
fstp dword [esp + 0x94]
fxch st(2)
fst dword [esp + 0x98]
fxch st(1)
fst dword [esp + 0x9c]
fld dword [esp + 0x48]
fst dword [esp + 0xa8]
fxch st(6)
fstp dword [esp + 0xac]
fxch st(4)
fstp dword [esp + 0xb0]
fxch st(2)
fstp dword [esp + 0xb4]
fxch st(1)
fstp dword [esp + 0xb8]
fxch st(1)
mov edx, dword [ebp]
fstp dword [esp + 0xbc]
push eax
fxch st(1)
mov eax, dword [edx + 0x8c]
fstp dword [esp + 0xcc]
push ecx
push ebp
fstp dword [esp + 0xd8]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], ecx
call eax
push eax
mov edi, str.SetTexture_gTexture
call fcn.00502b30
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x64]
add esp, 4
push 0
push 4
lea edx, [esp + 0x58]
push edx
push 0x1c4
push 5
push ebp
call eax
push eax
mov edi, str.DrawPrimitive__Tri__1
call fcn.00502b30
fld dword [esp + 0x14]
add ebx, dword [esp + 0x28]
fadd dword [esp + 0x20]
add esp, 4
cmp ebx, dword [esp + 0x28]
fstp dword [esp + 0x1c]
jl 0x504920
fild dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x2c]
fadd dword [esp + 0x20]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x20]
jl 0x5048f1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret 0x10