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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xc0
mov eax, dword [0x103c2010]
xor eax, ebp
mov dword [esp + 0xb8], eax
mov eax, dword [ecx]
mov dword [esp + 8], ecx
cmp eax, dword [ecx + 4]
je 0x102e722e
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edi, ebx
je 0x102e6a51
lea esi, [esp + 0x90]
movq xmm0, qword [edi + 8]
movq qword [esp + 0x60], xmm0
mov ecx, esi
lea eax, [esp + 0x60]
push eax
call fcn.10091928
add edi, 0x270
cmp edi, ebx
jne 0x102e6a30
lea edi, [esp + 0x90]
push dword [esp + 8]
push edi
call fcn.102e7276
add esp, 8
mov ebx, eax
mov eax, dword [edi]
test eax, eax
je 0x102e6a7d
mov dword [esp + 0x94], eax
push eax
call fcn.102f3c66
add esp, 4
test bl, bl
je 0x102e722e
lea eax, [esp + 0x40]
xor ebx, ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax - 4], eax
lea eax, [esp + 0x34]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax - 4], eax
mov eax, dword [esp + 8]
add eax, 0x10
lea esi, [esp + 0x3c]
mov ecx, esi
push eax
push eax
push edi
call fcn.10095b88
cmp dword [esi + 8], ebx
je 0x102e6b3e
lea esi, [esp + 0x3c]
mov eax, dword [esp + 0x3c]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x60], xmm0
mov ecx, esi
lea eax, [esp + 0x60]
push eax
call fcn.102eb594
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, ebx
je 0x102e6b37
mov eax, dword [edi + 0xc]
xor eax, dword [esp + 0x64]
mov ecx, dword [edi + 8]
xor ecx, dword [esp + 0x60]
or ecx, eax
jne 0x102e6b32
push dword [ebp + 0x10]
push dword [ebp + 8]
push edi
call fcn.102e76ae
add esp, 0xc
test al, al
je 0x102e6b21
lea ecx, [esp + 0x30]
push edi
push edi
lea eax, [esp + 0x98]
push eax
call fcn.10095b88
mov ecx, esi
push edi
push edi
lea eax, [esp + 0x98]
push eax
call fcn.10095b88
add edi, 0x20
jmp 0x102e6ae5
cmp dword [esp + 0x44], 0
jne 0x102e6ac1
mov eax, dword [esp + 8]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x88], xmm0
lea ecx, [esp + 0x80]
xor edx, edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [ecx - 4], ecx
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, ebx
lea esi, [esp + 0x90]
je 0x102e6ba3
movsd xmm0, qword [edi]
movsd qword [esp + 0x90], xmm0
movq xmm0, qword [edi + 8]
movq qword [esp + 0x98], xmm0
lea ecx, [esp + 0x7c]
push esi
push esi
lea eax, [esp + 0x68]
push eax
call fcn.102e7b4e
add edi, 0x20
cmp edi, ebx
jne 0x102e6b71
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, 0
mov edx, 0
cmp ebx, edi
je 0x102e6bf1
lea esi, [esp + 0x90]
mov dword [esp + 0x90], ebx
lea ecx, [esp + 0x70]
push esi
call fcn.1015bb06
add ebx, 0x270
cmp ebx, edi
jne 0x102e6bce
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, edx
sub eax, ecx
sar eax, 2
bsr eax, eax
xor eax, 0x1f
add eax, eax
xor eax, 0x3e
cmp edx, ecx
lea esi, [esp + 0x88]
mov dword [esp + 0x90], esi
lea esi, [esp + 0x7c]
mov dword [esp + 0x94], esi
mov esi, 0
cmove eax, esi
push 1
push eax
lea eax, [esp + 0x98]
push eax
call fcn.102e7c5d
add esp, 0xc
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
sub ecx, eax
cmp ecx, 5
jb 0x102e70d4
xor edx, edx
inc edx
mov eax, dword [eax + edx*4]
mov dword [esp + 0xc], eax
add eax, 0x10
mov dword [esp + 0x18], eax
xor edi, edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
xor esi, esi
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jbe 0x102e7246
mov dword [esp + 0x10], esi
mov dword [esp], edi
mov eax, dword [eax + edi*4]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x18]
movdqu xmm0, xmmword [eax]
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x50]
lea eax, [esp + 0x60]
push eax
call fcn.10250310
cmp dword [esp + 0x58], 0
je 0x102e6cf0
cmp dword [esp + 0x5c], 0
je 0x102e6cf0
mov eax, dword [esp + 0x60]
test eax, eax
js 0x102e6cf9
add ebx, edi
sub ebx, eax
jmp 0x102e6d01
mov esi, dword [esp + 0x10]
jmp 0x102e6e3e
add eax, dword [esp + 0x68]
sub edi, eax
mov ebx, edi
mov eax, dword [esp + 0x64]
test eax, eax
js 0x102e6d13
mov ecx, dword [esp + 4]
add ecx, esi
mov esi, ecx
jmp 0x102e6d17
add eax, dword [esp + 0x6c]
sub esi, eax
mov eax, esi
or eax, ebx
mov edi, esi
mov esi, dword [esp + 0x10]
je 0x102e6e3e
mov eax, ebx
neg eax
cmovs eax, ebx
mov ecx, edi
neg ecx
cmovs ecx, edi
mov edx, 0
cmp eax, ecx
mov ecx, edi
ja 0x102e6d46
mov edx, ebx
xor ecx, ecx
mov ebx, dword [esp + 0xc]
mov edi, dword [ebx + 0x14]
lea eax, [ecx + edi]
sar eax, 0x1f
mov esi, SysReAllocStringLen
xor eax, esi
mov dword [esp + 4], ecx
add edi, ecx
cmovo edi, eax
mov esi, dword [ebx + 0x10]
lea eax, [edx + esi]
sar eax, 0x1f
mov ecx, SysReAllocStringLen
xor eax, ecx
mov dword [esp + 0x28], edx
add esi, edx
cmovo esi, eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov ecx, ebx
lea ebx, [esp + 0x90]
push ebx
call fcn.102e0664
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x18]
lea ecx, [esi + eax]
sar ecx, 0x1f
mov edx, SysReAllocStringLen
xor ecx, edx
add eax, esi
cmovo eax, ecx
xor edx, edx
cmp eax, esi
setns dl
mov ecx, SysReAllocString
add edx, ecx
sub eax, esi
mov ecx, dword [ebx + 0x1c]
cmovo eax, edx
lea edx, [edi + ecx]
sar edx, 0x1f
mov ebx, SysReAllocStringLen
xor edx, ebx
add ecx, edi
cmovo ecx, edx
xor edx, edx
cmp ecx, edi
setns dl
mov ebx, SysReAllocString
add edx, ebx
sub ecx, edi
cmovo ecx, edx
test eax, eax
jg 0x102e6df2
xor eax, eax
test ecx, ecx
jg 0x102e6df8
xor ecx, ecx
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov ecx, ebx
lea esi, [esp + 0x90]
push esi
call fcn.102e06f4
movq xmm0, qword [ebx + 8]
movq qword [esp + 0x48], xmm0
lea ecx, [esp + 0x30]
lea eax, [esp + 0x48]
push eax
push eax
push esi
call fcn.10095b88
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov edi, dword [esp]
inc edi
mov edx, dword [esp + 0x2c]
cmp edx, edi
jne 0x102e6c75
test esi, esi
je 0x102e6fbd
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
test eax, eax
je 0x102e6ed3
mov dword [esp + 4], edx
lea edx, [esp + 0x80]
mov esi, eax
mov ecx, edx
mov ebx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
cmp ebx, dword [esp]
mov eax, edi
sbb eax, dword [esp + 4]
lea eax, [esi + 4]
cmovge eax, esi
mov edx, esi
cmovl edx, ecx
mov eax, dword [eax]
test eax, eax
jne 0x102e6e7d
lea eax, [esp + 0x80]
cmp edx, eax
mov edx, dword [esp + 4]
je 0x102e6ed3
cmp ebx, dword [esp]
mov eax, edi
sbb eax, edx
mov eax, esi
cmovl eax, ecx
mov edx, dword [esp]
cmp edx, dword [eax + 0x10]
mov edx, dword [esp + 4]
sbb edx, dword [eax + 0x14]
mov edx, dword [esp + 4]
jge 0x102e6fdc
lea eax, [esp + 0x98]
xor ecx, ecx
dec ecx
mov dword [eax + 0x10], ecx
pcmpeqd xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x14], ecx
mov dword [esp + 0xa0], 1
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov esi, dword [esp + 8]
mov ecx, esi
lea eax, [esp + 0x90]
push eax
call fcn.102e9fd0
mov edi, dword [esi + 4]
cmp dword [esi], edi
je 0x102e7264
add edi, 0xffffffe0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
movsd xmm0, qword [eax + 8]
movsd qword [esp + 0x10], xmm0
mov eax, dword [esp + 0xc]
movsd xmm0, qword [eax + 8]
movsd qword [esp + 0x60], xmm0
lea eax, [esp + 0x60]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x54]
push edx
push 0x103b5eed
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.102ea0fa
mov eax, dword [esp + 0x90]
movq xmm0, qword [esp + 0x10]
movq qword [eax + 0x18], xmm0
xor eax, eax
cmp dword [esp + 0x24], 0
setg al
add eax, eax
xor ecx, ecx
cmp dword [esp + 0x28], 0
setle cl
lea ecx, [ecx + ecx + 1]
cmove ecx, eax
mov dword [edi + 0x10], ecx
mov edx, dword [esp + 0x2c]
inc edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
sub ecx, eax
sar ecx, 2
cmp edx, ecx
jb 0x102e6c4f
jmp 0x102e70d4
cmp ebx, dword [esp]
sbb edi, edx
cmovl esi, ecx
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x1c]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, ebx
xor eax, esi
mov ecx, edi
xor ecx, edx
or ecx, eax
je 0x102e6fbd
mov dword [esp + 0x1c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, eax
cmp ecx, eax
mov dword [esp + 0x18], esi
je 0x102e7034
mov edx, dword [ecx + 8]
xor edx, edi
mov esi, dword [ecx + 0xc]
xor esi, ebx
or esi, edx
je 0x102e7032
add ecx, 0x270
cmp ecx, eax
jne 0x102e7016
mov edx, eax
jmp 0x102e7034
mov edx, ecx
cmp edx, eax
mov eax, 0
cmove edx, eax
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
cmp eax, edi
je 0x102e7072
mov dword [esp + 0x20], edx
mov esi, dword [esp]
mov ebx, dword [esp + 4]
mov ecx, dword [eax]
xor ecx, esi
mov edx, dword [eax + 4]
xor edx, ebx
or edx, ecx
je 0x102e706c
add eax, 0x20
cmp eax, edi
jne 0x102e7056
jmp 0x102e706e
mov edi, eax
mov edx, dword [esp + 0x20]
test dword [edi + 0x10], 0xfffffffd
je 0x102e709d
mov eax, dword [edx + 0x10]
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x10]
cmp ecx, eax
mov ebx, edx
mov edx, eax
cmovg edx, ecx
add eax, dword [ebx + 0x18]
add ecx, dword [esi + 0x18]
cmp eax, ecx
cmovl ecx, eax
cmp ecx, edx
jmp 0x102e70bd
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x1c]
add ecx, eax
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x14]
mov esi, dword [esi + 0x1c]
add esi, edx
cmp ecx, esi
cmovl esi, ecx
cmp edx, eax
cmovg eax, edx
cmp esi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jne 0x102e6f42
jmp 0x102e6fbd
mov esi, dword [esp + 8]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
sar edx, 5
bsr edx, edx
xor edx, 0x1f
add edx, edx
xor edx, 0x3e
xor edi, edi
cmp ecx, eax
mov dword [esp + 0x90], 0x102e7b30
cmove edx, edi
push 1
push edx
lea edx, [esp + 0x98]
push edx
push ecx
push eax
call fcn.102ea35b
add esp, 0x14
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
cmp ecx, eax
je 0x102e71d4
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
cmp edx, ebx
je 0x102e71c7
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
mov dword [esp], ecx
mov ecx, dword [ecx + 4]
mov edi, edx
mov eax, dword [edi + 8]
xor eax, dword [esp + 0x10]
mov esi, dword [edi + 0xc]
xor esi, ecx
or esi, eax
je 0x102e7161
add edi, 0x270
cmp edi, ebx
jne 0x102e7145
mov edi, ebx
mov ecx, dword [esp]
cmp edi, ebx
mov eax, 0
cmove edi, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 0xc]
mov eax, dword [edx + 8]
xor eax, dword [esp + 0x10]
mov esi, dword [edx + 0xc]
xor esi, ecx
or esi, eax
je 0x102e7194
add edx, 0x270
cmp edx, ebx
jne 0x102e7178
mov edx, ebx
mov ecx, dword [esp]
cmp edx, ebx
mov eax, 0
cmove edx, eax
test edi, edi
je 0x102e71c7
test edx, edx
je 0x102e71c7
test dword [ecx + 0x10], 0xfffffffd
jne 0x102e71ba
add edx, 0x10
add edi, 0x10
jmp 0x102e71c0
add edi, 0x14
add edx, 0x14
mov eax, dword [edi]
sub eax, dword [edx]
mov dword [ecx + 0x14], eax
add ecx, 0x20
cmp ecx, dword [esp + 4]
jne 0x102e7127
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x102e71ec
mov dword [esp + 0x74], eax
push eax
call fcn.102f3c66
add esp, 4
lea ecx, [esp + 0x7c]
push dword [ecx + 4]
call fcn.1008af30
test esi, esi
lea eax, [esp + 0x90]
je 0x102e7216
mov ecx, esi
lea edx, [esp + 0x34]
push edx
push dword [esp + 0x34]
push dword [esi]
push eax
call fcn.102e7906
lea ecx, [esp + 0x30]
push dword [ecx + 4]
call fcn.1008af30
lea ecx, [esp + 0x3c]
push dword [ecx + 4]
call fcn.1008af30
mov ecx, dword [esp + 0xb8]
xor ecx, ebp
call fcn.102f4c53
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x5b3
push str....._buildtools_third_partylibc_trunkinclude_vector
push str._s:_d:_assertion__s_failed:__s
call fcn.10090eb0
push str.back___called_on_an_empty_vector
push str._empty__
push 0x23e
jmp 0x102e7255