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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov dword [esp + 0x18], ecx
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [esp + 0x190], eax
mov eax, 0x102b437c
lea esi, [esp + 0x118]
mov dword [esi - 0x50], eax
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov eax, 0x102b4410
mov dword [esi], eax
mov eax, dword [esi - 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x102b4378
mov dword [esp + eax + 0xc8], ecx
mov eax, dword [esi - 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0xc4], ecx
lea esi, [esp + 0xc8]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, 0x102b441c
mov dword [esp + eax + 0xc8], ecx
mov eax, dword [esi]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0xc4], ecx
mov eax, 4
mov edi, esi
or edi, eax
mov ebx, 4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
xor eax, eax
push eax
push edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, 0x102b4378
mov dword [esp + eax + 0xc8], ecx
mov eax, dword [esi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0xc4], ecx
mov dword [esp + 0x24], edi
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea edi, [esp + 0x80]
mov eax, 0x102b437c
mov dword [edi - 0x50], eax
mov eax, 0x102b4390
mov dword [esi + 4], eax
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ebx
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov eax, 0x102b4410
mov dword [edi], eax
mov eax, dword [edi - 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x102b4378
mov dword [esp + eax + 0x30], ecx
mov eax, dword [edi - 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0x2c], ecx
lea esi, [esp + 0x30]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, 0x102b441c
mov dword [esp + eax + 0x30], ecx
mov eax, dword [esi]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x2c], ecx
mov ebx, esi
mov edi, 4
or ebx, edi
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
xor eax, eax
push eax
push ebx
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, 0x102b4378
mov dword [esp + eax + 0x30], ecx
mov eax, dword [esi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0x2c], ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
xor ebx, ebx
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov eax, 0x102b4390
mov dword [esi + 4], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], edi
lea esi, [esp + 0xc8]
push str.struct_VS_INPUT_n
push esi
call fcn.10003890
add esp, 8
push 0x1035584a
push eax
call fcn.10003890
add esp, 8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0xf
jbe 0x100cdaef
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
push 0x12
push str.GL_USES_POINT_SIZE
push ebx
push eax
push ecx
call fcn.10228000
add esp, 0x14
cmp eax, 0xffffffff
je 0x100cdb33
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
call fcn.100eeaa0
cmp byte [eax + 0x78], 0
je 0x100cdb33
push str.____float3_spriteVertexPos_:_SPRITEPOSITION0__n
push esi
call fcn.10003890
add esp, 8
push str.____float2_spriteTexCoord_:_SPRITETEXCOORD0__n
push eax
call fcn.10003890
add esp, 8
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edx
je 0x100ce06a
mov dword [esp + 0x1c], 0
mov esi, 0x1c
xor edi, edi
xor ebx, ebx
cmp dword [edx + esi - 4], 0
jne 0x100cdb78
inc ebx
mov ecx, eax
sub ecx, edx
sar ecx, 2
imul ecx, ecx, 0xa4fa4fa5
add esi, 0xb4
cmp ebx, ecx
jb 0x100cdb54
jmp 0x100ce06a
mov eax, dword [ebp + 0x10]
mov ecx, eax
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 2
mov dword [esp + 0x10], 0
cmp edi, ecx
jae 0x100cdb9a
mov eax, dword [eax + edi*4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edi
lea edi, [edx + esi]
add edi, 0xffffffec
push dword [edi - 8]
mov dword [esp + 0x10], edx
call fcn.10228810
add esp, 4
cmp eax, 2
mov dword [esp + 4], edi
jl 0x100cdc0d
push 0x1034e41a
lea eax, [esp + 0xcc]
push eax
call fcn.10003890
add esp, 8
mov edi, eax
mov eax, dword [esp + 0xc]
push dword [eax + esi - 0x1c]
call fcn.10228be0
add esp, 4
lea edx, [eax - 0x8b5a]
mov ecx, str.not_matrix_type
cmp edx, 0x10
ja 0x100cdbfa
mov ecx, dword [eax*4 + 0x102a21e0]
push ecx
push edi
call fcn.10003890
add esp, 8
lea edi, [esp + 0xc8]
jmp 0x100cdc46
mov ecx, edi
push str.gl_InstanceID
call fcn.10239a50
test al, al
jne 0x100cdc31
mov ecx, edi
push str.gl_VertexID
call fcn.10239a50
test al, al
je 0x100cdf85
push 0x1031b7a9
lea edi, [esp + 0xcc]
push edi
call fcn.10003890
add esp, 8
push 0x1034e423
push edi
call fcn.10003890
add esp, 8
mov edi, eax
mov ecx, dword [esp + 4]
push 0x1032b98f
push 3
push 0
call fcn.10225550
test eax, eax
je 0x100cdc7a
push 0x1032bc01
push edi
call fcn.10003890
add esp, 8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + esi - 4]
cmp dword [edx + esi], 0xf
mov ecx, dword [esp + 4]
jbe 0x100cdc90
mov ecx, dword [edx + esi - 0x14]
push eax
push ecx
push edi
call fcn.10004880
add esp, 0xc
push 0x1034df27
push edi
call fcn.10003890
add esp, 8
mov edi, dword [esp + 4]
mov ecx, edi
push str.gl_InstanceID
call fcn.10239a50
test al, al
je 0x100cdccb
push str.SV_InstanceID
lea edi, [esp + 0xcc]
jmp 0x100cdce7
mov ecx, edi
push str.gl_VertexID
call fcn.10239a50
test al, al
lea edi, [esp + 0xc8]
je 0x100cdcf2
push str.SV_VertexID
push edi
call fcn.10003890
add esp, 8
jmp 0x100cdd20
push 0x1033823f
push edi
call fcn.10003890
add esp, 8
mov ecx, eax
push dword [esp + 0x1c]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov eax, dword [esp + 0xc]
push dword [eax + esi - 0x1c]
call fcn.10228c50
add esp, 4
add dword [esp + 0x1c], eax
push 0x10358b09
push edi
call fcn.10003890
add esp, 8
push 0x1034e41a
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
mov dword [esp + 8], eax
mov edi, dword [esp + 4]
mov ecx, edi
push 0x1032b98f
push 3
push 0
call fcn.10225550
test eax, eax
je 0x100cdd6d
push 0x1032bc01
push dword [esp + 0xc]
call fcn.10003890
add esp, 8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + esi - 4]
cmp dword [edx + esi], 0xf
jbe 0x100cdd7f
mov edi, dword [edx + esi - 0x14]
push eax
push edi
mov edi, dword [esp + 0x10]
push edi
call fcn.10004880
add esp, 0xc
push 0x1034d73c
push edi
call fcn.10003890
add esp, 8
mov eax, dword [esp + 0xc]
push dword [eax + esi - 0x1c]
call fcn.10228810
add esp, 4
cmp eax, 1
jle 0x100cde1d
push str.transpose_input.
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
mov edi, eax
mov ecx, dword [esp + 4]
push 0x1032b98f
push 3
push 0
call fcn.10225550
test eax, eax
je 0x100cdde9
push 0x1032bc01
push edi
call fcn.10003890
add esp, 8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + esi - 4]
cmp dword [edx + esi], 0xf
mov ecx, dword [esp + 4]
jbe 0x100cddff
mov ecx, dword [edx + esi - 0x14]
push eax
push ecx
push edi
call fcn.10004880
add esp, 0xc
push 0x1034be17
push edi
call fcn.10003890
add esp, 8
jmp 0x100cde9d
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
mov dword [esp + 8], ecx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 0x10]
call dword [esp + 0xc]
test al, 2
jne 0x100cdeff
push 0x10340a80
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
mov edi, eax
mov ecx, dword [esp + 4]
push 0x1032b98f
push 3
push 0
call fcn.10225550
test eax, eax
je 0x100cde7c
push 0x1032bc01
push edi
call fcn.10003890
add esp, 8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + esi - 4]
cmp dword [edx + esi], 0xf
mov ecx, dword [esp + 4]
jbe 0x100cde92
mov ecx, dword [edx + esi - 0x14]
push eax
push ecx
push edi
call fcn.10004880
add esp, 0xc
mov ecx, dword [esp + 4]
push str.gl_VertexID
call fcn.10239a50
test al, al
je 0x100cdec1
push str.__dx_VertexID
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
push 0x10358b09
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
mov eax, dword [esp + 0xc]
push dword [eax + esi - 0x1c]
call fcn.10228be0
add esp, 4
push eax
call fcn.10228810
add esp, 4
mov edi, dword [esp + 0x28]
add edi, eax
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x100cdb5b
mov eax, dword [esp + 0xc]
mov edi, dword [eax + esi - 0x1c]
push edi
call fcn.10228810
add esp, 4
cmp eax, 2
jge 0x100cddb1
mov dword [esp + 0x14], eax
push edi
call fcn.102289f0
add esp, 4
mov dword [esp + 8], eax
push edi
call fcn.102288e0
add esp, 4
mov edi, eax
push dword [esp + 0x10]
call fcn.100a9ec0
add esp, 4
cmp dword [esp + 8], 0x1406
jne 0x100cde44
cmp dword [eax], 0x1406
je 0x100cde44
imul edi, dword [esp + 0x14]
push 0x1031c658
lea eax, [esp + 0x34]
push eax
call fcn.10003890
add esp, 8
mov ecx, eax
push edi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push 0x10340a7f
jmp 0x100cddba
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
mov dword [esp + 8], ecx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 0x10]
call dword [esp + 0xc]
mov dword [esp + 0x14], eax
push 0x1034e41a
lea eax, [esp + 0xcc]
push eax
call fcn.10003890
add esp, 8
mov eax, dword [esp + 0xc]
mov edi, dword [eax + esi - 0x1c]
push edi
call fcn.10228810
add esp, 4
mov dword [esp + 8], eax
push edi
call fcn.102288e0
mov ecx, dword [esp + 0x18]
add esp, 4
imul eax, dword [esp + 8]
cmp ecx, 0x1405
mov dword [esp + 8], eax
jle 0x100ce016
cmp ecx, 0x1406
lea edi, [esp + 0xc8]
je 0x100ce00f
cmp ecx, 0x8c17
je 0x100ce00f
cmp ecx, 0x8f9c
jne 0x100ce032
mov eax, 0x1031c658
jmp 0x100ce045
cmp ecx, 0x1404
je 0x100ce039
mov eax, 0x1031b7aa
cmp ecx, 0x1405
lea edi, [esp + 0xc8]
je 0x100ce045
mov eax, str.not_component_type
jmp 0x100ce045
mov eax, 0x1031b807
lea edi, [esp + 0xc8]
push eax
push edi
call fcn.10003890
add esp, 8
mov eax, dword [esp + 8]
cmp eax, 2
jl 0x100cdc46
mov ecx, edi
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
jmp 0x100cdc46
push str.__n_nvoid_initAttributes_VS_INPUT_input__n_n
lea eax, [esp + 0xcc]
push eax
call fcn.10003890
add esp, 8
mov esi, eax
lea edi, [esp + 0x178]
mov ecx, dword [esp + 0x20]
push edi
call fcn.100033e0
mov eax, dword [edi + 0x10]
cmp dword [edi + 0x14], 0xf
jbe 0x100ce0a2
mov edi, dword [esp + 0x178]
push eax
push edi
push esi
call fcn.10004880
add esp, 0xc
push 0x10355767
push eax
call fcn.10003890
add esp, 8
mov ecx, dword [esp + 0x18c]
cmp ecx, 0x10
mov esi, dword [ebp + 0xc]
jb 0x100ce0e8
mov eax, dword [esp + 0x178]
inc ecx
cmp ecx, 0x1000
jae 0x100ce412
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov edi, dword [esi + 0x10]
cmp dword [esi + 0x14], 0xf
jbe 0x100ce0fe
mov esi, dword [esi]
cmp edi, 0xf
ja 0x100ce359
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
mov ebx, 0xf
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], ebx
lea ebx, [esp + 0x178]
mov esi, ecx
mov ecx, dword [esp + 0x24]
push ebx
call fcn.100033e0
lea edi, [esp + 0x160]
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
sub esp, 0xc
mov al, byte [esp + 0x38]
mov byte [esp + 4], al
mov dword [esp + 8], str.___VERTEX_ATTRIBUTES___
mov dword [esp], 0x17
mov ecx, edi
call fcn.10001080
push ebx
push edi
push esi
call fcn.10227f90
add esp, 0xc
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
lea ebx, [esp + 0x118]
jb 0x100ce19c
mov eax, dword [esp + 0x160]
inc ecx
cmp ecx, 0x1000
jae 0x100ce429
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ecx, dword [esp + 0x18c]
cmp ecx, 0x10
jb 0x100ce1c6
mov eax, dword [esp + 0x178]
inc ecx
cmp ecx, 0x1000
jae 0x100ce444
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x30], 0x102b4378
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0x2c], ecx
mov dword [esp + 0x34], 0x102b4390
test byte [esp + 0x70], 1
je 0x100ce22b
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
test eax, eax
je 0x100ce3b2
lea ecx, [esp + 0x80]
add ecx, 0xffffffe4
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x100ce3c7
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea esi, [esp + 0x80]
lea ecx, [esi - 0x4c]
mov eax, dword [esp + 0x40]
xor edi, edi
mov dword [eax], edi
mov eax, dword [esp + 0x50]
mov dword [eax], edi
mov eax, dword [esp + 0x60]
mov dword [eax], edi
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov eax, dword [esp + 0x54]
mov dword [eax], edi
mov eax, dword [esp + 0x64]
mov dword [eax], edi
mov dword [esp + 0x6c], edi
and byte [esp + 0x70], 0xfe
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xc8], 0x102b4378
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esp + eax + 0xc4], ecx
mov dword [esp + 0xcc], 0x102b4390
test byte [esp + 0x108], 1
je 0x100ce2e8
mov eax, dword [esp + 0xec]
mov eax, dword [eax]
test eax, eax
je 0x100ce3e6
lea ecx, [ebx - 0x1c]
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0xd8]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x100ce3f7
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [ebx - 0x4c]
mov eax, dword [esp + 0xd8]
mov dword [eax], edi
mov eax, dword [esp + 0xe8]
mov dword [eax], edi
mov eax, dword [esp + 0xf8]
mov dword [eax], edi
mov eax, dword [esp + 0xdc]
mov dword [eax], edi
mov eax, dword [esp + 0xec]
mov dword [eax], edi
mov eax, dword [esp + 0xfc]
mov dword [eax], edi
mov dword [esp + 0x104], edi
and byte [esp + 0x108], 0xfe
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, ebx
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
mov ecx, dword [esp + 0x190]
xor ecx, ebp
call fcn.1021e470
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov ebx, edi
or ebx, 0xf
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jae 0x100ce398
lea eax, [ebx + 1]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
lea ecx, [edi + 1]
push ecx
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp + 8]
add esp, 0xc
jmp 0x100ce112
lea eax, [ebx + 0x24]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x100ce37d
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
lea ecx, [esp + 0x80]
add ecx, 0xffffffe0
jmp 0x100ce20a
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x100ce45f
mov ecx, eax
lea ebx, [esp + 0x118]
jmp 0x100ce221
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
lea ecx, [ebx - 0x20]
jmp 0x100ce2c4
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x100ce45f
mov ecx, eax
lea ebx, [esp + 0x118]
jmp 0x100ce2de
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x100ce45f
mov eax, ecx
mov esi, dword [ebp + 0xc]
jmp 0x100ce0de
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x100ce45f
mov eax, ecx
lea ebx, [esp + 0x118]
jmp 0x100ce192
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x100ce45f
mov eax, ecx
lea ebx, [esp + 0x118]
jmp 0x100ce1bc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3