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

Disassembly:
push 0x80
mov eax, 0x59adb8
call fcn.0054636d
mov edi, dword [ebp + 8]
xor eax, eax
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x74], eax
cmp edi, ebx
jne 0x528195
push 0x37
push str.d:package_cacheprotobuf_blz2.6.0.19_srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [ebp - 0x38]
call fcn.00512492
and dword [ebp - 4], 0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x74], ecx
mov ecx, eax
push str.CHECK_failed:__from_____to_:
call fcn.00512615
push eax
lea ecx, [ebp - 0x69]
call fcn.00512577
mov eax, dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
test al, 1
je 0x5281ab
and eax, 0xfffffffe
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x60], eax
call fcn.00512519
mov eax, dword [edi]
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, edi
call dword [eax + 0x48]
lea ecx, [ebp - 0x78]
push ecx
mov ecx, ebx
mov esi, dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x70], esi
call dword [eax + 0x48]
cmp dword [eax], esi
je 0x528260
push 0x3a
push str.d:package_cacheprotobuf_blz2.6.0.19_srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [ebp - 0x38]
call fcn.00512492
mov esi, eax
mov eax, dword [ebp - 0x60]
mov ecx, ebx
mov edx, dword [ebx]
or eax, 2
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 4], 1
call dword [edx + 0x48]
push 0x5a248c
mov ecx, esi
mov eax, dword [eax]
push dword [eax + 4]
mov eax, dword [ebp - 0x70]
push str._to
push dword [eax + 4]
push str._merge
push str.Tried_to_merge_messages_of_different_types
push str.CHECK_failed:__to__GetDescriptor______descriptor_:
call fcn.00512615
mov ecx, eax
call fcn.00512615
mov ecx, eax
call fcn.00512615
mov ecx, eax
call fcn.00512586
mov ecx, eax
call fcn.00512615
mov ecx, eax
call fcn.00512586
mov ecx, eax
call fcn.00512615
push eax
lea ecx, [ebp - 0x69]
call fcn.00512577
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x60]
test cl, 2
je 0x528274
lea ecx, [ebp - 0x38]
call fcn.00512519
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
mov ebx, eax
mov eax, dword [ebp - 0x5c]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x44]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov edx, dword [ebx]
lea eax, [ebp - 0x84]
push eax
push edi
mov ecx, ebx
mov dword [ebp - 4], 2
call dword [edx + 0x3c]
xor ecx, ecx
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x80], ecx
jbe 0x528640
mov eax, dword [ebp - 0x84]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x70], edi
cmp dword [edi + 0x1c], 3
jne 0x5284b9
mov eax, dword [ebx]
mov ecx, ebx
push edi
push dword [ebp - 0x58]
call dword [eax + 0x14]
xor edx, edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x60], edx
test eax, eax
jle case.default.0x5284cd
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx*4 + 0x6054b8]
dec eax
cmp eax, 9
ja case.default.0x528306
jmp dword [eax*4 + 0x528674]
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0x9c]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0xf0]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xa0]
mov ecx, dword [ebp - 0x64]
push edx
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0xf4]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xa4]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0xf8]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xa8]
mov ecx, dword [ebp - 0x64]
push edx
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0xfc]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xac]
push ecx
mov ecx, dword [ebp - 0x64]
fstp dword [esp]
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x100]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xb0]
push ecx
push ecx
mov ecx, dword [ebp - 0x64]
fstp qword [esp]
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x104]
jmp 0x52849e
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xb4]
mov ecx, dword [ebp - 0x64]
movzx eax, al
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x108]
jmp 0x52849e
mov eax, dword [ebx]
lea ecx, [ebp - 0x2c]
push edx
push edi
push dword [ebp - 0x58]
push ecx
mov ecx, ebx
call dword [eax + 0xb8]
mov edx, dword [esi]
mov ecx, esi
push eax
push edi
push dword [ebp - 0x5c]
mov byte [ebp - 4], 3
call dword [edx + 0x10c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00435b6b
mov byte [ebp - 4], 2
jmp 0x5284a1
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edx
push edi
push dword [ebp - 0x58]
call dword [eax + 0xbc]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x110]
jmp 0x52849e
mov eax, dword [esi]
mov ecx, esi
push 0
push edi
push dword [ebp - 0x5c]
call dword [eax + 0x114]
push dword [ebp - 0x60]
mov edx, dword [ebx]
mov esi, eax
push dword [ebp - 0x70]
mov ecx, ebx
push dword [ebp - 0x58]
mov edi, dword [esi]
call dword [edx + 0xc0]
push eax
mov ecx, esi
call dword [edi + 0x34]
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
inc edx
mov dword [ebp - 0x60], edx
cmp edx, dword [ebp - 0x88]
jl 0x5282f2
jmp case.default.0x5284cd
mov eax, dword [edi + 0x18]
mov eax, dword [eax*4 + 0x6054b8]
dec eax
cmp eax, 9
ja case.default.0x5284cd
jmp dword [eax*4 + 0x52869c]
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x6c]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x44]
mov ecx, dword [ebp - 0x64]
push edx
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x70]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x74]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0x64]
push edx
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x78]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x50]
push ecx
mov ecx, dword [ebp - 0x64]
fstp dword [esp]
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x7c]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x54]
push ecx
push ecx
mov ecx, dword [ebp - 0x64]
fstp qword [esp]
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x80]
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x58]
mov ecx, dword [ebp - 0x64]
movzx eax, al
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x84]
jmp case.default.0x5284cd
mov eax, dword [ebx]
lea ecx, [ebp - 0x54]
push edi
push dword [ebp - 0x58]
push ecx
mov ecx, ebx
call dword [eax + 0x5c]
mov edx, dword [esi]
mov ecx, esi
push eax
push edi
push dword [ebp - 0x5c]
mov byte [ebp - 4], 5
call dword [edx + 0x88]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 6
call fcn.00435b6b
mov byte [ebp - 4], 2
jmp case.default.0x5284cd
mov eax, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
push edi
push dword [ebp - 0x58]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x64]
push eax
push edi
push dword [ebp - 0x5c]
call dword [esi + 0x8c]
jmp case.default.0x5284cd
mov eax, dword [esi]
mov ecx, esi
push 0
push edi
push dword [ebp - 0x5c]
call dword [eax + 0x90]
mov edx, dword [ebx]
mov esi, eax
push 0
push dword [ebp - 0x70]
mov ecx, ebx
push dword [ebp - 0x58]
mov edi, dword [esi]
call dword [edx + 0x64]
push eax
mov ecx, esi
call dword [edi + 0x34]
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x64]
inc eax
mov ecx, eax
mov dword [ebp - 0x74], eax
cmp eax, dword [ebp - 0x80]
jb 0x5282be
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 4]
push eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x5c]
call dword [eax + 8]
mov ecx, eax
call fcn.00521542
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 7
call fcn.00512ab8
call fcn.00546317
ret