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

Disassembly:
sub esp, 0x118
push ebx
push ebp
push esi
mov esi, dword [esp + 0x12c]
push edi
mov eax, dword [esi]
mov edi, dword [esi + 4]
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100fe471
mov eax, dword [eax]
push 0
push 0x10177368
push ecx
push eax
call fcn.1001c310
push dword [esp + 0x148]
mov ebx, dword [esp + 0x148]
push ebx
mov byte [esp + 0x2b], al
lea eax, [esp + 0xa0]
push esi
push eax
call fcn.10107e70
add esp, 0x20
cmp byte [esp + 0x13], 0
je 0x100fe4d9
mov eax, dword [0x10180c54]
mov dword [esp + 0x3c], eax
mov ax, word [0x10180c58]
mov word [esp + 0x40], ax
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x42], 0
jmp 0x100fe52f
mov ecx, dword [esp + 0x98]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 7
jb 0x100fe9ef
cmp dword [esp + 0x9c], 0x10
lea eax, [esp + 0x88]
push ecx
cmovae eax, dword [esp + 0x8c]
lea ecx, [esp + 0xe4]
push eax
push 7
push str.struct
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x28]
call fcn.100dd350
lea eax, [esp + 0xe0]
movups xmm0, xmmword [eax]
mov ebp, dword [esp + 0x12c]
movups xmmword [esp + 0x1c], xmm0
movq xmm0, qword [eax + 0x10]
mov eax, 0x7fffffff
movq qword [esp + 0x2c], xmm0
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov dword [ebp], 0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0xf
cmp eax, 3
jb 0x100fe9ef
cmp dword [esp + 0x30], 0x10
lea eax, [esp + 0x1c]
push 3
cmovae eax, dword [esp + 0x20]
push 0x101a425c
push ecx
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x28]
lea ecx, [esp + 0x6c]
call fcn.100dd350
cmp dword [esp + 0x68], 0x10
lea eax, [esp + 0x54]
push dword [esp + 0x64]
cmovae eax, dword [esp + 0x58]
mov ecx, ebp
push eax
call fcn.100e47b0
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov dword [esp + 0x6c], edi
cmp esi, edi
je 0x100fe9b8
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov eax, dword [ecx]
add eax, 0xfffffff1
cmp eax, 0x10
jbe 0x100fe9ad
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x100fe5ff
push dword [esp + 0x138]
push ebx
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.10107e70
add esp, 0x10
jmp 0x100fe60d
push ecx
lea eax, [esp + 0x58]
push eax
call fcn.10108ad0
add esp, 8
mov ebx, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], 0
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x38], eax
jb 0x100fe62e
mov ebx, dword [ebx]
cmp eax, 0x7fffffff
ja 0x100fe9ef
cmp eax, 0x10
jae 0x100fe655
movups xmm0, xmmword [ebx]
mov ebp, 0xf
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebp
movups xmmword [esp + 0x1c], xmm0
jmp 0x100fe6a0
mov ebp, eax
or ebp, 0xf
cmp ebp, 0x7fffffff
jbe 0x100fe669
mov ebp, 0x7fffffff
jmp 0x100fe674
cmp ebp, 0x16
mov eax, 0x16
cmovb ebp, eax
call fcn.100deea0
lea ecx, [ebp + 1]
push ecx
mov ecx, eax
call fcn.100e4650
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
inc ecx
push ecx
push ebx
push eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x100fe82b
push dword [esp + 0x34]
mov ecx, eax
call fcn.10100720
xor ecx, ecx
mov dword [esp + 0x18], eax
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], edx
mov ebx, 0xf
mov dword [esp + 0x50], ebx
test eax, eax
jle 0x100fe813
mov ebx, dword [esp + 0x13c]
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ecx]
push edx
push 0x101a5c48
push 0xd
lea eax, [edx + 1]
mov dword [ecx], eax
lea eax, [esp + 0xac]
push eax
call fcn.100f69c0
lea eax, [esp + 0xb0]
mov dword [esp + 0x80], 0
add esp, 0x10
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100fe730
sub eax, edx
lea ecx, [esp + 0x70]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.1001cf10
push 0xe
push str.____float_pad_
push 0
lea ecx, [esp + 0x7c]
call fcn.1003c870
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
movups xmm0, xmmword [eax]
push 2
push 0x101a0f08
movups xmmword [esp + 0x5c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x6c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100e47b0
lea ecx, [esp + 0xb0]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xc0], xmm0
cmp dword [esp + 0xc4], 0x10
push dword [esp + 0xc0]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
movd eax, xmm1
movups xmmword [esp + 0xb4], xmm1
cmovae ecx, eax
push ecx
lea ecx, [esp + 0x44]
call fcn.100e47b0
sub edi, 1
jne 0x100fe6e4
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
cmp ebx, 0x10
lea eax, [esp + 0x3c]
push edx
cmovae eax, ecx
mov ecx, dword [esp + 0x130]
push eax
call fcn.100e47b0
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x110]
push ebx
push eax
call fcn.10114e20
push dword [esp + 0x138]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
push dword [eax + 4]
lea eax, [esp + 0x108]
push eax
call fcn.10106f10
mov dword [esp + 0x28], eax
mov ecx, 0x7fffffff
mov eax, dword [esp + 0x4c]
add esp, 0x14
sub ecx, eax
cmp ecx, 4
jb 0x100fe9ef
push eax
cmp ebp, 0x10
lea ecx, [esp + 0x20]
lea eax, [esp + 0x20]
cmovae ecx, dword [esp + 0x20]
push ecx
push 4
push 0x1019f7b0
push eax
push dword [esp + 0x28]
lea ecx, [esp + 0x88]
call fcn.100dd350
push 1
push 0x10180de0
lea ecx, [esp + 0x78]
call fcn.100e47b0
push dword [esp + 0x14]
lea ecx, [esp + 0x58]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0xe4], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0xe4]
push eax
push dword [esp + 0x1c]
movq qword [esp + 0xfc], xmm0
call fcn.100dd1a0
push dword [esp + 0x18]
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x1c]
lea ecx, [esp + 0x48]
call fcn.100dd1a0
push 2
push 0x101a0f08
lea ecx, [esp + 0x44]
call fcn.100e47b0
mov ebp, dword [esp + 0x12c]
lea ecx, [esp + 0xc8]
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xd8], xmm0
cmp dword [esp + 0xdc], 0x10
push dword [esp + 0xd8]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
movd eax, xmm1
movups xmmword [esp + 0xcc], xmm1
cmovae ecx, eax
push ecx
mov ecx, ebp
call fcn.100e47b0
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x100fe9a6
push dword [esp + 0x134]
lea ecx, [esp + 0xfc]
push ebx
push ecx
mov ecx, eax
call fcn.101004c0
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100fe99d
mov eax, dword [eax]
push ecx
push eax
mov ecx, ebp
call fcn.100e47b0
mov ebx, dword [esp + 0x134]
add esi, 4
cmp esi, edi
jne 0x100fe5c6
cmp byte [esp + 0x13], 0
mov edx, 0x101a4260
mov eax, 0x101a1344
cmove edx, eax
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fe9d0
sub ecx, esi
push ecx
push edx
mov ecx, ebp
call fcn.100e47b0
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x118
ret
call fcn.1001b2e0
int3