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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0
push 0
push str.format
push esi
call fcn.1009c230
push 0
push 0
push str.access
push esi
mov ebx, eax
call fcn.1009c230
push 0
push 0
push str.width
push esi
mov dword [ebp - 0xc], eax
call fcn.1009c230
push 0
push 0
push str.height
push esi
mov dword [ebp - 4], eax
call fcn.1009c230
mov edi, dword [ebp + 8]
add esp, 0x40
mov edx, eax
mov dword [ebp - 8], edx
test edi, edi
je 0x100a45cd
cmp dword [edi], 0x10183d09
jne 0x100a45cd
test ebx, ebx
jne 0x100a416d
mov ebx, dword [edi + 0x84]
test ebx, ebx
je 0x100a417b
mov eax, ebx
and eax, 0xf0000000
cmp eax, 0x10000000
jne 0x100a4195
test bl, bl
jne 0x100a4195
push str.Invalid_texture_format
call fcn.10067d40
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x100a41b5
mov eax, ebx
and eax, 0xf0000000
cmp eax, 0x10000000
jne 0x100a41f8
mov eax, ebx
and eax, 0xf000000
cmp eax, 0x1000000
je 0x100a41d1
mov eax, ebx
and eax, 0xf000000
cmp eax, 0xc000000
je 0x100a41d1
cmp eax, 0x2000000
je 0x100a41d1
cmp eax, 0x3000000
jne 0x100a41f8
push ebx
push edi
call fcn.100a21a0
add esp, 8
test eax, eax
jne 0x100a41f5
push str.Palettized_textures_are_not_supported
call fcn.10067d40
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test eax, eax
jle 0x100a45b7
test edx, edx
jle 0x100a45b7
mov ecx, dword [edi + 0xc4]
test ecx, ecx
je 0x100a4219
cmp eax, ecx
jg 0x100a4227
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x100a4244
cmp edx, eax
jle 0x100a4244
push dword [edi + 0xc8]
push ecx
push str.Texture_dimensions_are_limited_to__dx_d
call fcn.10067d40
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.1009a090
push 0xa8
push 1
mov dword [ebp + 8], eax
call fcn.10096650
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100a45df
mov eax, dword [ebp + 8]
cdq
push edx
push eax
push str.colorspace
push dword [ebp + 0xc]
mov dword [esi], 0x10183d08
call fcn.1009c230
mov ecx, dword [ebp - 8]
add esp, 0x10
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x28], 0x3f800000
mov dword [esi + 0x2c], 0x3f800000
mov dword [esi + 0x30], 0x3f800000
mov dword [esi + 0x34], 0x3f800000
mov dword [esi + 0x24], 1
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x48], 0xffffffff
mov dword [esi + 0x4c], 0xffffffff
mov dword [esi + 0x64], 0x3f800000
mov dword [esi + 0x68], 0x3f800000
mov dword [esi + 0x6c], edi
mov eax, dword [edi + 0x178]
mov dword [esi + 0xa4], eax
mov eax, dword [edi + 0x178]
test eax, eax
je 0x100a42fe
mov dword [eax + 0xa0], esi
mov dword [edi + 0x178], esi
push dword [esi + 4]
call fcn.100cecd0
fstp dword [esp]
push str.SDR_white_point
push dword [ebp + 0xc]
call fcn.1009c010
push dword [esi + 4]
fstp dword [esi + 8]
call fcn.100cec80
add esp, 0xc
fstp dword [esp]
push str.HDR_headroom
push dword [ebp + 0xc]
call fcn.1009c010
add esp, 0xc
cmp dword [ebp - 0xc], 2
fstp dword [esi + 0xc]
jne 0x100a4368
test ebx, ebx
je 0x100a4368
mov eax, ebx
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x100a4368
call fcn.1009bc20
mov dword [ebp + 8], eax
mov eax, dword [edi + 0x84]
jmp 0x100a43b1
push ebx
push edi
call fcn.100a21a0
add esp, 8
test eax, eax
je 0x100a439f
push dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
push esi
push edi
call eax
add esp, 0xc
test eax, eax
jns 0x100a4556
push 0
push esi
call fcn.100a4800
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1009bc20
push ebx
push edi
mov dword [ebp + 8], eax
call fcn.100a1d80
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
cdq
push edx
push eax
push str.colorspace
push dword [ebp + 8]
call fcn.1009c9f0
mov eax, dword [ebp - 0x10]
cdq
push edx
push eax
push str.format
push dword [ebp + 8]
call fcn.1009c9f0
mov eax, dword [esi + 0x14]
cdq
push edx
push eax
push str.access
push dword [ebp + 8]
call fcn.1009c9f0
mov eax, dword [esi + 0x18]
cdq
push edx
push eax
push str.width
push dword [ebp + 8]
call fcn.1009c9f0
mov eax, dword [esi + 0x1c]
add esp, 0x40
cdq
push edx
push eax
push str.height
push dword [ebp + 8]
call fcn.1009c9f0
push dword [ebp + 8]
push edi
call fcn.100a40f0
push dword [ebp + 8]
mov dword [esi + 0x70], eax
call fcn.1009bd20
mov eax, dword [esi + 0x70]
add esp, 0x1c
test eax, eax
je 0x100a438b
push esi
push str.SDL.internal.texture.parent
push eax
call fcn.100a5610
add esp, 4
push eax
call fcn.1009caa0
mov ecx, dword [esi + 0x70]
add esp, 0xc
mov eax, dword [esi + 0xa4]
mov dword [ecx + 0xa4], eax
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
je 0x100a4475
mov dword [ecx + 0xa0], eax
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0xa0]
mov dword [esi + 0xa0], ecx
test ecx, ecx
je 0x100a448e
mov dword [ecx + 0xa4], esi
mov eax, dword [esi + 0x70]
mov dword [eax + 0xa0], esi
mov eax, dword [esi + 0x70]
mov dword [esi + 0xa4], eax
mov dword [edi + 0x178], esi
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100a44e4
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x100a44e4
push dword [ebp - 8]
mov ecx, dword [ebp - 4]
push ecx
push ebx
call fcn.100fb040
add esp, 0xc
mov dword [esi + 0x74], eax
test eax, eax
jne 0x100a4556
push eax
push esi
call fcn.100a4800
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc], 1
jne 0x100a4556
test ebx, ebx
je 0x100a452a
mov eax, ebx
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x100a452a
cmp ebx, 0x32595559
je 0x100a4523
cmp ebx, 0x59565955
je 0x100a4523
cmp ebx, 0x55595659
je 0x100a4523
cmp ebx, 0x30313050
je 0x100a4523
mov eax, 1
jmp 0x100a452d
mov eax, 2
jmp 0x100a452d
movzx eax, bl
mov ecx, dword [ebp - 4]
imul eax, ecx
add eax, 3
and eax, 0xfffffffc
mov dword [esi + 0x7c], eax
imul eax, dword [ebp - 8]
push eax
push 1
call fcn.10096650
add esp, 8
mov dword [esi + 0x78], eax
test eax, eax
je 0x100a438b
push esi
call fcn.100a5610
mov edi, eax
mov eax, dword [esi + 4]
cdq
push edx
push eax
push str.SDL.texture.colorspace
push edi
call fcn.1009c9f0
fld dword [esi + 8]
add esp, 0x10
fstp dword [esp]
push str.SDL.texture.SDR_white_point
push edi
call fcn.1009c9b0
movss xmm0, dword [esi + 0xc]
add esp, 0xc
comiss xmm0, dword [0x101291cc]
movss dword [ebp + 8], xmm0
jbe 0x100a45ae
fld dword [ebp + 8]
push ecx
fstp dword [esp]
push str.SDL.texture.HDR_headroom
push edi
call fcn.1009c9b0
add esp, 0xc
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Texture_dimensions_cant_be_0
call fcn.10067d40
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.renderer
push str.Parameter__s_is_invalid
call fcn.10067d40
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret