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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x101cc284]
xor eax, esp
mov dword [esp + 0x80], eax
or dword [esp + 0x54], 0xffffffff
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x34], esi
call fcn.101a0abe
mov edx, dword [esi + 8]
xor ecx, ecx
mov dword [esp + 0x44], ecx
test edx, edx
je 0x10198348
mov ebx, dword [esi + 0x88]
mov eax, dword [esi + 0x14]
push 4
pop esi
mov edi, dword [eax]
cmp ebx, dword [edi + 4]
jne 0x10198339
mov edi, dword [edi + 0xc]
cmp ecx, edi
ja 0x10198339
lea ecx, [edi + 1]
add eax, esi
sub edx, 1
jne 0x10198328
mov esi, dword [esp + 0x34]
mov dword [esp + 0x44], ecx
mov eax, dword [esi + 0xc]
push 4
pop edx
lea edi, [ecx + eax*8]
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
call fcn.1010328d
mov ebx, eax
mov dword [esp + 0x68], ebx
test ebx, ebx
jne 0x10198377
mov eax, 0x8007000e
jmp 0x10198a33
mov eax, edi
shl eax, 2
push eax
push 0
push ebx
call sub.msvcrt.dll_memset
xor ecx, ecx
add esp, 0xc
cmp dword [esi + 8], ecx
jbe 0x101983b5
mov eax, dword [esi + 0x14]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi + 0x88]
cmp eax, dword [edx + 4]
jne 0x101983af
mov edi, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
cmp dword [ebx + edi*4], eax
ja 0x101983af
inc eax
mov dword [ebx + edi*4], eax
inc ecx
cmp ecx, dword [esi + 8]
jb 0x1019838f
mov ebx, dword [esi + 0xc]
xor ecx, ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x50], ecx
test ebx, ebx
je 0x101989e3
mov eax, dword [esi + 0x18]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x5c], ebx
test dword [ebx], 0xfff00000
je 0x101989c4
and dword [esp + 0x18], 0
lea eax, [esp + 0x58]
push eax
xor edi, edi
mov ecx, ebx
push 0
inc edi
call fcn.1003b8a2
test eax, eax
je 0x10198954
push 0xffffffffffffffff
push dword [esp + 0x68]
lea ecx, [esp + 0x4c]
push ebx
push ecx
push dword [esp + 0x78]
mov ecx, esi
push eax
push dword [esp + 0x70]
call fcn.1019d9f1
neg eax
lea ecx, [esp + 0x58]
push ecx
sbb eax, eax
mov ecx, ebx
and edi, eax
mov eax, dword [esp + 0x1c]
inc eax
push eax
mov dword [esp + 0x20], eax
call fcn.1018beb3
test eax, eax
jne 0x101983fe
test edi, edi
jne 0x10198954
mov ecx, ebx
call fcn.1018bf43
test eax, eax
jne 0x10198954
push eax
push eax
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.1018beb3
mov ecx, eax
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x10198475
mov eax, dword [ebx + 4]
xor edx, edx
div ecx
mov dword [esp + 0x24], eax
jmp 0x1019847a
and dword [esp + 0x24], 0
xor eax, eax
lea edi, [esp + 0x6c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
test edi, edi
je 0x101989c4
push 4
lea esi, [esp + 0x70]
xor edx, edx
pop ecx
sub ecx, esi
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x48], ecx
jmp 0x101984b3
mov eax, dword [esp + 0x40]
lea edx, [esp + edx + 0x6c]
cmp dword [edx], 0
mov dword [esp + 0x10], edx
jne 0x10198766
inc eax
mov dword [esp + 0x2c], 1
cmp eax, edi
jae 0x10198594
sub ecx, dword [esp + 0x30]
add ecx, edx
mov edx, edi
sub edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edx
cmp dword [eax + ecx], 0
jne 0x10198584
xor eax, eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jae 0x1019857a
mov eax, dword [esi + 0x14]
mov edx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov eax, edi
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x3c]
shl eax, 2
add edx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + edx]
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [edx]
mov esi, dword [esp + 0x3c]
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 4]
cmp eax, dword [esi + 4]
jne 0x1019855e
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
cmp eax, dword [esi + 8]
jne 0x1019855e
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
cmp eax, dword [esi + 0xc]
jne 0x1019855e
add edx, dword [esp + 0x1c]
inc edi
cmp edi, dword [esp + 0x24]
jb 0x1019851c
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
cmp eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
jne 0x10198584
inc dword [esp + 0x2c]
add ecx, 4
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x101984e7
mov eax, dword [ebx]
mov ecx, esi
xor eax, dword [esp + 0x2c]
push 0xffffffffffffffff
and eax, 0xfffff
xor eax, dword [ebx]
push 0xffffffffffffffff
push eax
call fcn.101a1913
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, 0xffffffff
je 0x101989dc
mov eax, dword [esi + 0x18]
push ebx
mov edx, dword [eax + ecx*4]
mov ecx, edx
mov dword [esp + 0x18], edx
call fcn.1018be94
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x40]
jbe 0x10198732
mov eax, dword [esp + 0x2c]
lea ecx, [eax*4 - 4]
mov eax, edi
shl eax, 2
mov dword [esp + 0x3c], eax
sub eax, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
dec edi
sub eax, 4
mov dword [esp + 0x10], edi
shl edi, 2
mov dword [esp + 0x38], eax
cmp dword [esp + edi + 0x6c], 0
jne 0x10198720
and dword [esp + 0x1c], 0
cmp dword [esp + 0x24], 0
jbe 0x101986da
mov ecx, dword [ebx + 8]
mov eax, dword [esi + 0x14]
mov esi, eax
add ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + ecx]
mov eax, dword [esi + eax*4]
mov dword [esp + 0x54], eax
mov eax, dword [ecx]
mov edx, dword [esp + 0x54]
mov eax, dword [esi + eax*4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 4]
cmp eax, dword [edx + 4]
jne 0x1019867c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
cmp eax, dword [edx + 8]
jne 0x1019867c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x1019867c
add ecx, dword [esp + 0x3c]
inc edi
cmp edi, dword [esp + 0x24]
jb 0x1019863a
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x14]
cmp edi, ecx
jb 0x10198718
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
shl esi, 2
mov dword [esp + 0x1c], ecx
mov eax, dword [ebx + 8]
mov ecx, dword [edx + 8]
mov eax, dword [esi + eax]
add esi, dword [esp + 0x3c]
mov dword [edi + ecx], eax
mov eax, dword [esp + 0x2c]
shl eax, 2
add edi, eax
sub dword [esp + 0x1c], 1
jne 0x101986a3
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
shl edi, 2
mov dword [esp + edi + 0x6c], 1
mov eax, dword [ebx]
and eax, 0xfff00000
cmp eax, 0x50000000
je 0x1019870d
mov eax, dword [ebx + 0x10]
mov ecx, dword [edx + 0x10]
mov eax, dword [edi + eax]
mov edi, dword [esp + 0x28]
mov dword [edi + ecx], eax
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + edi]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x48], ecx
mov ecx, edi
push 4
pop eax
sub ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x1019871c
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
cmp edi, dword [esp + 0x40]
ja 0x101985f8
mov edi, dword [esp + 0x4c]
mov eax, dword [ebx]
and eax, 0xfff00000
cmp eax, 0x50000000
jne 0x10198766
cmp dword [esp + 0x2c], edi
jne 0x101987fa
mov eax, dword [ebx + 0x10]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [edx + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
inc ecx
add edx, 4
mov dword [esp + 0x40], ecx
cmp ecx, edi
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x48]
jb 0x101984af
test eax, eax
je 0x101989c4
mov ecx, esi
push 0xffffffffffffffff
push 0xffffffffffffffff
cmp eax, 2
jne 0x101988a1
push 0x20400001
call fcn.101a1913
mov edi, eax
xor edx, edx
mov ecx, dword [esp + edx*4 + 0x7c]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x48]
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
and eax, 0xfff00000
cmp eax, 0x10000000
jne 0x101987ef
and dword [ecx], 0
mov ecx, dword [esp + edx*4 + 0x7c]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x48]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + edx*4 + 0x7c], eax
inc edx
cmp edx, 2
jb 0x101987af
jmp 0x101988b3
fldz
push ecx
push ecx
fstp qword [esp]
push dword [esp + 0x28]
mov ecx, esi
push dword [esp + 0x50]
push dword [esi + 0x88]
call fcn.101a18b9
mov edx, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x7c], ecx
mov eax, dword [edx + 0x10]
mov dword [eax], ecx
mov eax, dword [edx + 0x10]
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x101989dc
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 0x14]
push 0
push dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, esi
call fcn.101962b2
test eax, eax
js 0x10198a33
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x1019876a
and eax, 0xfffff
or eax, 0x50000000
push eax
call fcn.101a1913
mov edi, eax
cmp edi, 0xffffffff
je 0x1019836d
mov eax, dword [esi + 0x18]
push ebx
mov edx, dword [eax + edi*4]
mov ecx, edx
mov dword [esp + 0x4c], edx
call fcn.1018be94
mov eax, dword [ebx + 0x10]
mov ecx, dword [edx + 0x10]
mov ebx, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [edx + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x48], edi
mov edi, ebx
shl edi, 2
lea eax, [esp + 0x7c]
push edi
push eax
push dword [edx + 8]
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp ebx, 2
je 0x1019894e
mov edx, dword [esp + 0x60]
cmp edx, 0xffffffff
jne 0x10198932
fld1
push ecx
push ecx
fstp qword [esp]
push 0
push 0
push dword [esi + 0x78]
mov ecx, esi
call fcn.101a18b9
mov edx, eax
mov dword [esp + 0x60], edx
cmp edx, 0xffffffff
je 0x101989dc
test ebx, ebx
je 0x1019894e
mov ecx, dword [esp + 0x48]
push 4
pop esi
mov eax, dword [ecx + 8]
mov dword [edi + eax], edx
add edi, esi
sub ebx, 1
jne 0x1019893d
mov esi, dword [esp + 0x34]
inc dword [esp + 0x44]
jmp 0x101989c4
push dword [ebx + 0xc]
mov ecx, esi
push dword [ebx + 4]
push dword [ebx]
call fcn.101a1913
mov dword [esp + 0x48], eax
cmp eax, 0xffffffff
je 0x101989dc
mov ecx, dword [esi + 0x18]
push ebx
mov edi, dword [ecx + eax*4]
mov ecx, edi
call fcn.1018be94
mov ecx, dword [ebx + 4]
shl ecx, 2
push ecx
push dword [ebx + 8]
push dword [edi + 8]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 0xc]
add esp, 0xc
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edi + 0x10]
call sub.msvcrt.dll_memcpy
xor edx, edx
add esp, 0xc
cmp dword [ebx + 0xc], edx
jbe 0x101989c4
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + edx*4]
inc edx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x48], ecx
cmp edx, dword [ebx + 0xc]
jb 0x101989ab
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x64]
inc eax
mov dword [esp + 0x50], eax
cmp eax, ebx
jae 0x101989e3
mov ecx, eax
jmp 0x101983ca
mov edi, 0x8007000e
jmp 0x10198a26
xor ecx, ecx
test ebx, ebx
je 0x101989f7
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
and dword [eax], 0
inc ecx
cmp ecx, ebx
jb 0x101989e9
mov ecx, esi
call fcn.1018f2ca
mov edi, eax
test edi, edi
je 0x10198a06
js 0x10198a26
mov ecx, esi
call fcn.101938f6
mov edi, eax
test edi, edi
je 0x10198a15
js 0x10198a26
mov ecx, esi
call fcn.1018f811
mov edi, eax
test edi, edi
je 0x10198a24
js 0x10198a26
xor edi, edi
push dword [esp + 0x68]
call dword [sym.imp.PhotoBase.dll_void___cdecl_BasePrivate::Delete_void__]
pop ecx
mov eax, edi
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b6170
mov esp, ebp
pop ebp
ret