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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x59ea8f
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
push ebx
push esi
push edi
mov eax, dword [0x5f4964]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x50], ebx
cmp edi, esi
jne 0x5384e1
push 0x37
push str......._srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [esp + 0xa8]
mov byte [esp + 0x57], bl
call fcn.00505b20
mov dword [esp + 0x100], ebx
mov ebx, 1
push str.CHECK_failed:__from_____to_:
mov ecx, eax
mov dword [esp + 0x54], ebx
call fcn.00505dd0
push eax
lea ecx, [esp + 0x4f]
call fcn.00506160
mov dword [esp + 0x100], 0xffffffff
test bl, 1
je 0x538500
lea ecx, [esp + 0x9c]
and ebx, 0xfffffffe
call fcn.00505b50
mov eax, dword [edi]
mov edx, dword [eax + 0x58]
lea ecx, [esp + 0x60]
push ecx
mov ecx, edi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x58]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax]
cmp eax, edi
je 0x5385c6
push 0x3a
push str......._srcgoogleprotobuf_reflection_ops.cc
push 3
lea ecx, [esp + 0xa8]
mov byte [esp + 0x57], 0
call fcn.00505b20
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x58]
lea ecx, [esp + 0x58]
push ecx
or ebx, 2
mov ecx, esi
mov dword [esp + 0x104], 1
mov dword [esp + 0x54], ebx
call edx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x4c]
push 0x5bce34
push eax
push str._to
push edi
push str._merge
push str.Tried_to_merge_messages_of_different_types
push str.CHECK_failed:__to__GetDescriptor______descriptor_:
call fcn.00505dd0
mov ecx, eax
call fcn.00505dd0
mov ecx, eax
call fcn.00505dd0
mov ecx, eax
call fcn.00505db0
mov ecx, eax
call fcn.00505dd0
mov ecx, eax
call fcn.00505db0
mov ecx, eax
call fcn.00505dd0
push eax
lea ecx, [esp + 0x4f]
call fcn.00506160
mov dword [esp + 0x100], 0xffffffff
test bl, 2
je 0x5385e2
lea ecx, [esp + 0x9c]
call fcn.00505b50
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x54]
call edx
mov edi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x54]
mov ecx, esi
call edx
lea ecx, [esp + 0x68]
mov ebx, eax
call fcn.0051ad10
mov eax, dword [edi]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
lea ecx, [esp + 0x68]
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x108], 2
call eax
mov eax, dword [esp + 0x78]
sub eax, dword [esp + 0x74]
mov dword [esp + 0x4c], 0
sar eax, 2
test eax, eax
jbe 0x538b21
cmp dword [esp + 0x4c], eax
jb 0x538645
call fcn.0056adc1
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
mov esi, dword [ecx + edx*4]
cmp dword [esi + 0x24], 3
jne 0x5388e6
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [eax + 0x14]
push esi
push ecx
mov ecx, edi
call edx
xor ecx, ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x50], ecx
test eax, eax
jle case.default.0x5388fa
mov eax, dword [esi + 0x20]
mov eax, dword [eax*4 + 0x5be910]
dec eax
cmp eax, 9
ja case.default.0x53868e
jmp dword [eax*4 + 0x538b88]
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xa4]
add eax, 0x100
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xa8]
add eax, 0x104
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xac]
add eax, 0x108
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xb0]
add eax, 0x10c
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xb4]
add eax, 0x110
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
push ecx
fstp dword [esp]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xb8]
add eax, 0x114
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
sub esp, 8
fstp qword [esp]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xbc]
add eax, 0x118
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
movzx eax, al
push eax
mov eax, dword [edx]
push esi
push ecx
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov eax, dword [ebp + 8]
mov edx, dword [edi]
mov edx, dword [edx + 0xc0]
push ecx
push esi
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, edi
call edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x11c]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov ecx, ebx
mov byte [esp + 0x10c], 3
call edx
cmp dword [esp + 0x98], 0x10
mov byte [esp + 0x100], 2
jb case.default.0x53868e
mov eax, dword [esp + 0x84]
push eax
call fcn.0056a760
add esp, 4
jmp case.default.0x53868e
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0xc4]
add eax, 0x120
push ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x53868e
mov edx, dword [ebx]
mov eax, dword [ebp + 0xc]
mov edx, dword [edx + 0x128]
push 0
push esi
push eax
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x50]
mov edx, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov eax, dword [eax]
add eax, 0x44
push ecx
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xcc]
push esi
push edx
mov ecx, edi
call eax
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
push eax
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0x50]
inc ecx
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x50], ecx
jl 0x53867a
jmp case.default.0x5388fa
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx*4 + 0x5be910]
dec eax
cmp eax, 9
ja case.default.0x5388fa
jmp dword [eax*4 + 0x538bb0]
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x40]
add eax, 0x70
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x44]
add eax, 0x74
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x48]
add eax, 0x78
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x4c]
add eax, 0x7c
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x50]
sub eax, 0xffffff80
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x60]
push ecx
fstp dword [esp]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x54]
add eax, 0x84
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x60]
sub esp, 8
fstp qword [esp]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x58]
add eax, 0x88
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x60]
movzx eax, al
push eax
mov eax, dword [edx]
push esi
push ecx
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov eax, dword [ebp + 8]
mov edx, dword [edi]
mov edx, dword [edx + 0x5c]
push esi
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x8c]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov ecx, ebx
mov byte [esp + 0x10c], 4
call edx
cmp dword [esp + 0x98], 0x10
mov byte [esp + 0x100], 2
jb case.default.0x5388fa
mov eax, dword [esp + 0x84]
push eax
call fcn.0056a760
add esp, 4
jmp case.default.0x5388fa
mov eax, dword [ebx]
mov edx, dword [edi]
mov edx, dword [edx + 0x60]
add eax, 0x90
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
push esi
push eax
mov ecx, edi
call edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebx
call eax
jmp case.default.0x5388fa
mov edx, dword [ebx]
mov eax, dword [ebp + 0xc]
mov edx, dword [edx + 0x98]
push 0
push esi
push eax
mov ecx, ebx
call edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
add eax, 0x44
push 0
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
push esi
push ecx
mov ecx, edi
call edx
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
call edx
mov eax, dword [esp + 0x78]
sub eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x4c]
inc ecx
sar eax, 2
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jb 0x53863a
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [eax + 4]
push ecx
mov ecx, edi
call edx
push eax
mov eax, dword [ebx]
mov edx, dword [eax + 8]
push esi
mov ecx, ebx
call edx
mov ecx, eax
call fcn.00536260
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, esi
je 0x538b53
push eax
call fcn.0056a760
add esp, 4
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
call fcn.0056a760
add esp, 4
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret