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

Disassembly:
push 0x80
mov eax, 0x5945aa
call fcn.00540b26
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 0x522953
push 0x37
push str.d:package_cacheprotobuf_blz2.6.0.19_srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [ebp - 0x38]
call fcn.0050cc50
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.0050cdd3
push eax
lea ecx, [ebp - 0x69]
call fcn.0050cd35
mov eax, dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
test al, 1
je 0x522969
and eax, 0xfffffffe
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x60], eax
call fcn.0050ccd7
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 0x522a1e
push 0x3a
push str.d:package_cacheprotobuf_blz2.6.0.19_srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [ebp - 0x38]
call fcn.0050cc50
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 0x59b550
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.0050cdd3
mov ecx, eax
call fcn.0050cdd3
mov ecx, eax
call fcn.0050cdd3
mov ecx, eax
call fcn.0050cd44
mov ecx, eax
call fcn.0050cdd3
mov ecx, eax
call fcn.0050cd44
mov ecx, eax
call fcn.0050cdd3
push eax
lea ecx, [ebp - 0x69]
call fcn.0050cd35
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x60]
test cl, 2
je 0x522a32
lea ecx, [ebp - 0x38]
call fcn.0050ccd7
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 0x522dfe
mov eax, dword [ebp - 0x84]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x70], edi
cmp dword [edi + 0x1c], 3
jne 0x522c77
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.0x522c8b
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx*4 + 0x5fdb00]
dec eax
cmp eax, 9
ja case.default.0x522ac4
jmp dword [eax*4 + 0x522e32]
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 0x522c5c
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 0x522c5c
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 0x522c5c
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 0x522c5c
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 0x522c5c
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 0x522c5c
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 0x522c5c
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.00435cef
mov byte [ebp - 4], 2
jmp 0x522c5f
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 0x522c5c
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 0x522ab0
jmp case.default.0x522c8b
mov eax, dword [edi + 0x18]
mov eax, dword [eax*4 + 0x5fdb00]
dec eax
cmp eax, 9
ja case.default.0x522c8b
jmp dword [eax*4 + 0x522e5a]
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.0x522c8b
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.0x522c8b
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.0x522c8b
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.0x522c8b
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.0x522c8b
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.0x522c8b
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.0x522c8b
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.00435cef
mov byte [ebp - 4], 2
jmp case.default.0x522c8b
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.0x522c8b
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 0x522a7c
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.0051bd00
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 7
call fcn.0050d276
call fcn.00540ad0
ret