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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x181c7008]
xor eax, ebp
mov dword [ebp - 8], eax
and dword [ebp - 0x10], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [ebp - 0x28], edx
push edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc], 0xf
mov byte [ebp - 0x20], 0
cmp dword [esi + 8], ecx
je 0x1810fbca
mov dword [ecx], edx
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x20]
push eax
add ecx, 8
call fcn.1800e211
add dword [esi + 4], 0x20
jmp 0x1810fbd6
lea eax, [ebp - 0x28]
push eax
push ecx
mov ecx, esi
call fcn.18111058
lea ecx, [ebp - 0x20]
call fcn.1800e379
mov eax, dword [ebx + 0x7c]
push ecx
push ecx
mov ecx, esp
push 0xfffffffffffffffc
pop edi
and eax, edi
push eax
call fcn.1808d8f5
call fcn.1810ebdd
pop ecx
pop ecx
test al, al
jne 0x1810fc53
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
push 0x16
push str.Invalid_package_name:
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], str.T:_srcpipergoogle3_third_partyprotobuf_legacy_opensource_srcgoogleprotobufdescriptor_database.cc
mov dword [ebp - 0x24], 0x278
mov dword [ebp - 0xc], 0xf
mov byte [ebp - 0x20], al
call fcn.1804cdff
mov eax, dword [ebx + 0x7c]
and eax, edi
push eax
lea ecx, [ebp - 0x20]
call fcn.1804cde3
lea eax, [ebp - 0x2c]
push eax
call fcn.180c82e2
lea ecx, [ebp - 0x20]
call fcn.1800e379
xor al, al
jmp 0x1810fea6
mov eax, dword [ebx + 0x7c]
lea ecx, [ebp - 0x3c]
and eax, edi
push eax
call fcn.1808d8f5
lea eax, [ebp - 0x20]
push eax
call fcn.180c80f1
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x20]
push eax
sub ecx, 0x18
call fcn.1804ffe0
lea ecx, [ebp - 0x20]
call fcn.1800e379
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x3c]
sub eax, dword [esi]
sar eax, 5
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x78]
and eax, edi
push eax
call fcn.1808d8f5
lea eax, [ebp - 0x20]
push eax
call fcn.180c80f1
push dword [ebp - 0x38]
lea eax, [ebp - 0x24]
push eax
push ecx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 0xc]
call fcn.18111308
cmp byte [ebp - 0x38], 0
je 0x1810fcdd
push dword [esi + 0xc]
mov ecx, dword [ebx + 0x78]
push dword [esi + 0x1c]
and ecx, 0xfffffffc
push dword [esi + 0x18]
call fcn.181106fc
add esp, 0xc
mov byte [ebp - 0x2d], 0
test al, al
je 0x1810fce1
mov byte [ebp - 0x2d], 1
lea ecx, [ebp - 0x20]
call fcn.1800e379
cmp byte [ebp - 0x2d], 0
je 0x1810fd2d
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
push 0x21
push str.File_already_exists_in_database:
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], str.T:_srcpipergoogle3_third_partyprotobuf_legacy_opensource_srcgoogleprotobufdescriptor_database.cc
mov dword [ebp - 0x24], 0x282
mov dword [ebp - 0xc], 0xf
mov byte [ebp - 0x20], 0
call fcn.1804cdff
mov eax, dword [ebx + 0x78]
and eax, 0xfffffffc
jmp 0x1810fc32
mov ecx, dword [ebx + 0x2c]
mov esi, ecx
neg esi
mov edx, ecx
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x24]
lea edi, [ecx + eax*4]
jmp 0x1810fd9c
mov eax, dword [esi]
push ecx
mov dword [ebp - 0x38], eax
push ecx
mov eax, dword [eax + 0x90]
mov ecx, esp
and eax, 0xfffffffc
push eax
call fcn.1808d8f5
mov ecx, dword [ebp - 0x34]
call fcn.1810f0eb
test al, al
je 0x1810fc4c
mov eax, dword [ebx + 0x78]
push ecx
push ecx
and eax, 0xfffffffc
mov ecx, esp
push eax
call fcn.1808d8f5
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
call fcn.181107ae
test al, al
je 0x1810fc4c
add esi, 4
cmp esi, edi
jne 0x1810fd4e
mov ecx, dword [ebx + 0x3c]
mov esi, ecx
neg esi
mov edx, ecx
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x34]
lea edi, [ecx + eax*4]
jmp 0x1810fde6
mov eax, dword [esi]
push ecx
push ecx
mov ecx, esp
mov eax, dword [eax + 0x40]
and eax, 0xfffffffc
push eax
call fcn.1808d8f5
mov ecx, dword [ebp - 0x34]
call fcn.1810f0eb
test al, al
je 0x1810fc4c
add esi, 4
cmp esi, edi
jne 0x1810fdc1
mov ecx, dword [ebx + 0x5c]
mov esi, ecx
neg esi
mov edx, ecx
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x54]
lea edi, [ecx + eax*4]
jmp 0x1810fe56
mov eax, dword [esi]
push ecx
mov dword [ebp - 0x38], eax
push ecx
mov eax, dword [eax + 0x10]
mov ecx, esp
and eax, 0xfffffffc
push eax
call fcn.1808d8f5
mov ecx, dword [ebp - 0x34]
call fcn.1810f0eb
test al, al
je 0x1810fc4c
mov eax, dword [ebx + 0x78]
push ecx
push ecx
and eax, 0xfffffffc
mov ecx, esp
push eax
call fcn.1808d8f5
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
call fcn.18110841
test al, al
je 0x1810fc4c
add esi, 4
cmp esi, edi
jne 0x1810fe0b
mov ecx, dword [ebx + 0x4c]
mov esi, ecx
neg esi
mov edx, ecx
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x44]
lea edi, [ecx + eax*4]
jmp 0x1810fea0
mov eax, dword [esi]
push ecx
push ecx
mov ecx, esp
mov eax, dword [eax + 0x20]
and eax, 0xfffffffc
push eax
call fcn.1808d8f5
mov ecx, dword [ebp - 0x34]
call fcn.1810f0eb
test al, al
je 0x1810fc4c
add esi, 4
cmp esi, edi
jne 0x1810fe7b
mov al, 1
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.18141824
leave
ret 0xc