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

Disassembly:
sub esp, 0x11c
mov eax, dword [0x103b33c0]
xor eax, esp
mov dword [esp + 0x118], eax
mov eax, dword [0x103b6348]
push esi
push edi
mov edi, dword [esp + 0x128]
xor esi, esi
mov dword [esp + 0x1c], eax
push 4
mov dword [esp + 0x40], edi
mov eax, dword [edi + 0x174]
mov dword [esp + 0x60], eax
mov al, byte [edi + 0x1c6]
mov byte [esp + 0x6f], al
mov al, byte [edi + 0x1c8]
lea edi, [esp + 0x84]
mov dword [esp + 0x44], esi
mov byte [esp + 0x67], al
pop esi
mov ecx, edi
call fcn.1006edc3
add edi, 0x28
sub esi, 1
jne 0x10073741
mov edi, dword [esp + 0x3c]
mov eax, esi
mov dword [esp + 0x48], eax
cmp dword [edi + 0x54], esi
jle 0x10073d31
mov dword [esp + 0x44], esi
xor edx, edx
add eax, esi
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [edi + 0x38]
and ecx, dword [edi + 0x3c]
or edx, ecx
je 0x10073968
mov edx, dword [edi + 0x10]
xor eax, eax
add edx, dword [esp + 0x44]
cmp byte [esp + 0x6b], al
mov dword [esp + 0x58], edx
setg al
mov dword [esp + 0x64], esi
inc eax
mov dword [esp + 0x34], eax
mov eax, esi
test eax, eax
jne 0x100737b4
mov al, byte [edx + 0x58]
jmp 0x100737b7
mov al, byte [edx + 0x59]
movzx eax, al
imul ecx, eax, 0x18
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
add ecx, dword [eax + 0x10]
mov dword [esp + 0x50], ecx
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jle 0x1007381d
imul ecx, eax, 0x28
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x38], ecx
mov ecx, eax
mov edx, dword [esp + 0x38]
cmp dword [edi + edx - 0xc], esi
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x3c]
jne 0x1007381d
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
cmp dword [edi + edx - 8], esi
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x3c]
jne 0x1007381d
lea ecx, [eax - 1]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
cmp ecx, 1
jne 0x10073951
test dword [edx], 0x100
mov ecx, dword [esp + 0x64]
jne 0x1007385f
cmp byte [esp + 0x6b], 0
jg 0x10073840
movss xmm0, dword [edx + 0x44]
jmp 0x10073849
test ecx, ecx
jne 0x10073850
movss xmm0, dword [edx + 0x40]
maxss xmm0, dword [edx + 0x48]
jmp 0x10073855
movss xmm0, dword [edx + 0x44]
comiss xmm0, dword [edx + 0x28]
ja 0x10073951
cmp byte [esp + 0x63], 0
jle 0x10073877
movsx eax, byte [edi + 0x1c8]
cmp dword [esp + 0x48], eax
jge 0x10073877
mov edi, esi
jmp 0x1007387a
xor edi, edi
inc edi
cmp byte [esp + 0x6b], 0
jle 0x10073889
test ecx, ecx
jne 0x10073889
mov eax, esi
jmp 0x1007388c
push 2
pop eax
add eax, edi
lea edi, [esp + 0x80]
mov dword [esp + 0x30], eax
imul eax, eax, 0x28
add edi, eax
lea eax, [edi + 4]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x10], esi
jne 0x100738c6
mov dword [edi], 0x7f7fffff
mov dword [eax], 0x7f7fffff
mov dword [edi + 8], 0xff7fffff
mov dword [edi + 0xc], 0xff7fffff
jmp 0x100738ca
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x4c]
mov ecx, eax
and eax, 0x1f
shr ecx, 5
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + ecx*4 + 0x14]
bts eax, edx
mov edx, dword [esp + 0x58]
mov dword [edi + ecx*4 + 0x14], eax
inc dword [edi + 0x10]
mov eax, dword [esp + 0x50]
movss xmm0, dword [edi]
mov eax, dword [eax + 8]
movss xmm4, dword [eax]
comiss xmm0, xmm4
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
movss xmm3, dword [eax + 0xc]
jbe 0x10073917
movss dword [edi], xmm4
mov eax, dword [esp + 0x54]
movss xmm0, dword [eax]
comiss xmm0, xmm1
jbe 0x10073928
movss dword [eax], xmm1
comiss xmm2, dword [edi + 8]
jbe 0x10073933
movss dword [edi + 8], xmm2
comiss xmm3, dword [edi + 0xc]
jbe 0x1007393e
movss dword [edi + 0xc], xmm3
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
bts eax, ecx
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x34]
jl 0x100737ab
mov byte [edx + 0x57], 0xff
mov eax, dword [esp + 0x48]
add dword [esp + 0x44], 0x68
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [edi + 0x54]
jl 0x10073767
cmp dword [esp + 0x40], esi
je 0x10073d31
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
sub eax, 2
lea ecx, [ecx + 0x4a30]
push eax
call fcn.10068f65
mov ecx, dword [esp + 0x1c]
push 0x14
push esi
mov eax, dword [ecx + 0x4a38]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x74]
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x68]
mov esi, dword [eax + 4]
lea eax, [esp + 0x78]
push esi
push 2
push eax
call fcn.10071001
movzx edx, byte [edi + 0x1cc]
add esp, 0x18
mov ecx, edx
and edx, 0x1f
shr ecx, 5
mov eax, dword [esp + ecx*4 + 0x6c]
btr eax, edx
mov dword [esp + ecx*4 + 0x6c], eax
xor eax, eax
cmp byte [esp + 0x6b], al
setg al
add eax, 2
sub esi, eax
mov dword [esp + 0x58], esi
lea esi, [edi + 0x140]
lea edi, [esp + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movss xmm4, dword [esp + 0x2c]
xor esi, esi
movss xmm1, dword [esp + 0x28]
mov ecx, esi
movss xmm2, dword [esp + 0x24]
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x54], xmm2
movss dword [esp + 0x48], xmm0
mov dword [esp + 0x4c], ecx
imul eax, ecx, 0x28
mov dword [esp + 0x50], eax
mov edx, dword [esp + eax + 0x90]
mov dword [esp + 0x40], edx
test edx, edx
je 0x10073c4d
lea edx, [esp + 0x80]
add edx, eax
lea edi, [esp + 0x20]
mov esi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
and esi, 1
je 0x10073a8a
cmp byte [esp + 0x63], 0
jle 0x10073a8a
movss xmm3, dword [esp + 0x20]
jmp 0x10073a99
movaps xmm3, xmm0
minss xmm3, dword [esp + 0x20]
movss dword [esp + 0x20], xmm3
mov eax, ecx
movss dword [esp + 0x34], xmm3
and eax, 2
je 0x10073ab5
cmp byte [esp + 0x6b], 0
jle 0x10073ab5
movss xmm2, dword [esp + 0x24]
jmp 0x10073ac1
minss xmm2, dword [esp + 0x24]
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x10], xmm2
test esi, esi
je 0x10073ad9
maxss xmm1, dword [esp + 0x28]
movss dword [esp + 0x28], xmm1
jmp 0x10073adf
movss xmm1, dword [esp + 0x28]
movss dword [esp + 0x14], xmm1
test eax, eax
je 0x10073b07
mov eax, dword [esp + 0x3c]
test dword [eax + 4], 0x20000
jne 0x10073b07
movaps xmm0, xmm4
maxss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x2c], xmm0
jmp 0x10073b0d
movss xmm0, dword [esp + 0x2c]
mov edi, dword [esp + 0x50]
xor esi, esi
mov eax, dword [esp + 0x58]
sub eax, dword [edx + 0x10]
mov edx, esi
movss dword [esp + 0x18], xmm0
lea edi, [esp + edi + 0x80]
mov dword [esp + 0x58], eax
add edi, 0x14
mov eax, dword [edi]
lea edi, [edi + 4]
not eax
and dword [esp + edx*4 + 0x6c], eax
inc edx
cmp edx, 5
jl 0x10073b30
mov edx, dword [esp + 0x5c]
mov edi, esi
cmp dword [edx + 4], esi
jle 0x10073c39
mov dword [esp + 0x44], esi
cmp dword [esp + 0x40], 0
je 0x10073c19
mov eax, edi
lea edx, [esp + 0x80]
add edx, dword [esp + 0x50]
mov ecx, edi
sar eax, 5
and ecx, 0x1f
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 8], ecx
shl eax, cl
mov ecx, dword [esp + 0xc]
test dword [edx + ecx*4 + 0x14], eax
mov edx, dword [esp + 0x5c]
je 0x10073bf2
mov esi, dword [esp + 8]
lea eax, [esp + 0x80]
add eax, dword [esp + 0x50]
push 0x18
mov eax, dword [eax + ecx*4 + 0x14]
btr eax, esi
lea esi, [esp + 0x84]
add esi, dword [esp + 0x54]
dec dword [esp + 0x44]
mov dword [esi + ecx*4 + 0x14], eax
mov ecx, dword [edx + 0x10]
add ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x68]
push ecx
mov eax, dword [ecx + 8]
movss dword [eax], xmm3
movss dword [eax + 4], xmm2
movss dword [eax + 8], xmm1
movss dword [eax + 0xc], xmm0
mov eax, esi
add esi, 0x18
push eax
mov dword [esp + 0x70], esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x68]
add esp, 0xc
add dword [esp + 0x44], 0x18
inc edi
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x10]
movss xmm3, dword [esp + 0x34]
cmp edi, dword [edx + 4]
jl 0x10073b54
movss xmm0, dword [esp + 0x48]
xor esi, esi
movss xmm4, dword [esp + 0x30]
movss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
jmp 0x10073c51
movss xmm0, dword [esp + 0x48]
movss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x54]
jmp 0x10073c51
mov edx, dword [esp + 0x5c]
cmp ecx, 1
jne 0x10073ca9
cmp byte [esp + 0x6b], 0
jle 0x10073ca9
mov eax, dword [esp + 0x64]
mov ecx, eax
add eax, 0x18
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
push 0x18
movzx eax, byte [eax + 0x1cc]
imul eax, eax, 0x18
add eax, dword [edx + 0x10]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x58]
add esp, 0xc
movss xmm0, dword [esp + 0x48]
inc ecx
movss xmm4, dword [esp + 0x30]
movss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x54]
jmp 0x10073a43
inc ecx
mov dword [esp + 0x4c], ecx
cmp ecx, 4
jl 0x10073a47
mov eax, dword [edx + 4]
test eax, eax
jle 0x10073d11
mov edi, esi
cmp dword [esp + 0x58], 0
je 0x10073d11
xor edx, edx
mov eax, esi
mov ecx, esi
sar eax, 5
and ecx, 0x1f
inc edx
shl edx, cl
test dword [esp + eax*4 + 0x6c], edx
je 0x10073d02
mov eax, dword [esp + 0x64]
mov ecx, eax
add eax, 0x18
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
push 0x18
mov eax, dword [eax + 0x10]
add eax, edi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
dec dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
inc esi
add edi, 0x18
mov eax, dword [edx + 4]
cmp esi, eax
jl 0x10073cc0
imul eax, eax, 0x18
sub eax, 0x30
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x4a38]
mov eax, dword [edx + 0x10]
add eax, 0x30
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x120]
pop edi
pop esi
xor ecx, esp
call fcn.100b7398
add esp, 0x11c
ret