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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
mov eax, dword [0x101cd100]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x7c], ecx
push edi
mov edi, dword [ebp + 0x10]
lea eax, [esi + 0x34]
mov dword [ebp - 0x5c], eax
test ecx, ecx
jne 0x100a8008
mov eax, dword [eax]
mov ecx, dword [eax + 4]
jmp 0x100a800e
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x5c], eax
push dword [ebx + 0x10]
push ecx
mov ecx, esi
call fcn.100a67a0
push ebx
push eax
push dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0x50], eax
call fcn.100bdc00
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 4]
push 0x18
mov dword [ebp - 0x48], eax
call fcn.10132688
add esp, 4
test eax, eax
je 0x100a804e
push dword [ebp - 0x4c]
mov ecx, eax
call fcn.10017170
jmp 0x100a8050
xor eax, eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
add ecx, 0x78
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.100a34b0
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x44]
mov dword [edi], eax
mov eax, dword [ebp - 0x50]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x28], eax
mov al, byte [ebp + 0x14]
mov byte [edi + 0x26], al
push dword [ebx + 0x10]
call fcn.10017170
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp ecx, 0xf
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x34]
cmova eax, edx
add ecx, eax
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x5c], 0xf
lea eax, [ebp - 0x44]
cmova eax, edx
cmp eax, ecx
je 0x100a80d9
mov dh, byte [eax]
mov dl, dh
sub dl, 0x41
cmp dl, 0x19
ja 0x100a80c8
add dh, 0x20
mov byte [eax], dh
inc eax
cmp eax, ecx
jne 0x100a80b7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebx + 0x10]
mov edx, ecx
cmp dword [ecx + 0x14], 0xf
jbe 0x100a80e6
mov edx, dword [ecx]
push dword [ecx + 0x10]
cmp dword [ebp - 0x5c], 0xf
lea eax, [ebp - 0x44]
push edx
cmova eax, dword [ebp - 0x60]
push dword [ebp - 0x34]
push eax
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a8109
mov eax, dword [edi]
jmp 0x100a8150
mov eax, dword [esi + 4]
push 0x18
mov dword [ebp - 0x4c], eax
call fcn.10132688
add esp, 4
test eax, eax
je 0x100a8136
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.10017170
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x60], ecx
jmp 0x100a8138
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
add ecx, 0x78
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
call fcn.100a34b0
mov eax, dword [ebp - 0x48]
mov edx, 8
mov ecx, edi
push 1
mov dword [edx + ecx], eax
lea eax, [ebp - 0x78]
push dword [ebx + 0x10]
push eax
call fcn.100bb130
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 4]
push 0x18
mov dword [ebp - 0x4c], eax
call fcn.10132688
add esp, 0x10
test eax, eax
je 0x100a818b
push dword [ebp - 0x50]
mov ecx, eax
call fcn.10017170
jmp 0x100a818d
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
add ecx, 0x78
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
call fcn.100a34b0
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x48]
mov dword [edi + 0xc], eax
cmp ecx, 0xf
jbe 0x100a81dc
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a81d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8ff1
push ecx
push edx
call fcn.101326bd
add esp, 8
mov eax, dword [ebx + 8]
shr eax, 4
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
test al, 1
je 0x100a8244
mov byte [edi + 0x25], 1
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 4]
push 0x18
mov dword [ebp - 0x4c], eax
call fcn.10132688
add esp, 4
test eax, eax
je 0x100a8222
push dword [ebp - 0x50]
mov ecx, eax
call fcn.10017170
jmp 0x100a8224
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
add ecx, 0x78
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
call fcn.100a34b0
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x10], eax
jmp 0x100a82da
mov byte [edi + 0x25], 0
lea eax, [ebp - 0x78]
push dword [ebx + 0x10]
push eax
call fcn.100bb460
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 4]
push 0x18
mov dword [ebp - 0x4c], eax
call fcn.10132688
add esp, 0xc
test eax, eax
je 0x100a8277
push dword [ebp - 0x50]
mov ecx, eax
call fcn.10017170
jmp 0x100a8279
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
add ecx, 0x78
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
call fcn.100a34b0
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x10], eax
cmp ecx, 0xf
jbe 0x100a82c8
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a82be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a8ff6
push ecx
push edx
call fcn.101326bd
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp byte [edi + 0x26], 0
mov eax, dword [ebx + 0x34]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x30]
mov dword [edi + 0x20], eax
je 0x100a8398
cmp eax, 2
jne 0x100a8398
mov ecx, dword [edi + 4]
mov eax, bind
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0xe
jb 0x100a8ffb
lfence
cmp dword [ecx + 0x14], 0xf
mov eax, ecx
jbe 0x100a831c
mov eax, dword [ecx]
push edx
push eax
push 0xe
push str.The_extension
push ecx
push dword [ebp - 0x50]
lea ecx, [ebp - 0x78]
call fcn.100174b0
push 0x14
push str._cannot_be_required.
lea ecx, [ebp - 0x78]
call fcn.100244c0
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 8], 0
mov ecx, esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1c]
push eax
push 2
push ebx
push dword [edi + 4]
call fcn.100a5240
lea ecx, [ebp - 0x1c]
call fcn.1001d770
lea ecx, [ebp - 0x78]
call fcn.1001d770
mov dword [edi + 0x30], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x4c], 0
mov eax, dword [ebx + 8]
shr eax, 3
and al, 1
mov byte [edi + 0x24], al
mov eax, dword [ebx + 8]
shr eax, 3
test al, 1
je 0x100a83fd
cmp dword [edi + 0x20], 3
jne 0x100a83fd
push str.Repeated_fields_cant_have_default_values.
push 4
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
mov ecx, dword [ebx + 8]
mov eax, ecx
shr eax, 9
test al, 1
je case.default.0x100a881e
shr ecx, 3
test cl, 1
mov ecx, edi
je 0x100a880c
mov dword [ebp - 0x48], 0
call fcn.10091fb0
mov eax, dword [eax*4 + 0x10172800]
dec eax
cmp eax, 9
ja case.default.0x100a8438
jmp dword [eax*4 + 0x100a9014]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a844a
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.1013e3e4
add esp, 0xc
mov dword [edi + 0x50], eax
jmp case.default.0x100a8438
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a846c
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.1013e40e
add esp, 0xc
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], edx
jmp case.default.0x100a8438
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a8491
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.1013e438
add esp, 0xc
mov dword [edi + 0x50], eax
jmp case.default.0x100a8438
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a84b3
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.1013e462
add esp, 0xc
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], edx
jmp case.default.0x100a8438
mov esi, dword [ebx + 0x1c]
mov ecx, esi
cmp dword [esi + 0x14], 0xf
jbe 0x100a84da
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
push 3
push 0x10171310
push eax
push ecx
mov dword [ebp - 0x4c], eax
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a850a
movss xmm0, dword [0x1017506c]
mov esi, dword [ebp - 0x58]
movss dword [edi + 0x50], xmm0
jmp case.default.0x100a8438
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x100a8514
mov eax, dword [esi]
push 4
push str._inf
push dword [ebp - 0x4c]
push eax
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a8540
movss xmm0, dword [0x10175074]
mov esi, dword [ebp - 0x58]
movss dword [edi + 0x50], xmm0
jmp case.default.0x100a8438
cmp dword [esi + 0x14], 0xf
jbe 0x100a8548
mov esi, dword [esi]
push 3
push 0x10171320
push dword [ebp - 0x4c]
push esi
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a8574
movss xmm0, dword [0x10175070]
mov esi, dword [ebp - 0x58]
movss dword [edi + 0x50], xmm0
jmp case.default.0x100a8438
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a857f
mov eax, dword [eax]
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.100d05e0
fstp qword [esp]
call fcn.100d05f0
mov esi, dword [ebp - 0x58]
add esp, 8
fstp dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x50]
movss dword [edi + 0x50], xmm0
jmp case.default.0x100a8438
mov esi, dword [ebx + 0x1c]
mov ecx, esi
cmp dword [esi + 0x14], 0xf
jbe 0x100a85b6
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
push 3
push 0x10171310
push eax
push ecx
mov dword [ebp - 0x4c], eax
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a85e8
movsd xmm0, qword [0x10171528]
mov eax, edi
mov esi, dword [ebp - 0x58]
movsd qword [eax + 0x50], xmm0
jmp case.default.0x100a8438
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x100a85f2
mov eax, dword [esi]
push 4
push str._inf
push dword [ebp - 0x4c]
push eax
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a8620
movsd xmm0, qword [0x10175078]
mov eax, edi
mov esi, dword [ebp - 0x58]
movsd qword [eax + 0x50], xmm0
jmp case.default.0x100a8438
cmp dword [esi + 0x14], 0xf
jbe 0x100a8628
mov esi, dword [esi]
push 3
push 0x10171320
push dword [ebp - 0x4c]
push esi
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a8656
movsd xmm0, qword [0x10171530]
mov eax, edi
mov esi, dword [ebp - 0x58]
movsd qword [eax + 0x50], xmm0
jmp case.default.0x100a8438
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], 0xf
jbe 0x100a8661
mov eax, dword [eax]
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.100d05e0
mov esi, dword [ebp - 0x58]
mov eax, edi
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
add esp, 8
movsd qword [eax + 0x50], xmm0
jmp case.default.0x100a8438
mov esi, dword [ebx + 0x1c]
mov eax, esi
cmp dword [esi + 0x14], 0xf
jbe 0x100a8692
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
push 4
push 0x10168f84
push ecx
push eax
mov dword [ebp - 0x50], ecx
call fcn.10011400
add esp, 0x10
test al, al
je 0x100a86b9
mov esi, dword [ebp - 0x58]
mov byte [edi + 0x50], 1
jmp case.default.0x100a8438
cmp dword [esi + 0x14], 0xf
jbe 0x100a86c1
mov esi, dword [esi]
push 5
push 0x10168f7c
push dword [ebp - 0x50]
push esi
call fcn.10011400
mov esi, dword [ebp - 0x58]
add esp, 0x10
test al, al
je 0x100a86e1
mov byte [edi + 0x50], 0
jmp case.default.0x100a8438
push str.Boolean_default_must_be_true_or_false.
push 4
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
jmp case.default.0x100a8438
mov dword [edi + 0x50], 0
jmp case.default.0x100a8438
mov ecx, edi
call fcn.10091fb0
mov ecx, dword [ebx + 0x1c]
push ecx
cmp eax, 0xc
jne 0x100a8730
lea eax, [ebp - 0x78]
push eax
call fcn.100c1900
mov ecx, dword [esi + 4]
add esp, 8
push eax
call fcn.100a6ac0
lea ecx, [ebp - 0x78]
mov dword [edi + 0x50], eax
call fcn.1001d770
jmp case.default.0x100a8438
mov ecx, dword [esi + 4]
call fcn.100a6ac0
mov dword [edi + 0x50], eax
jmp case.default.0x100a8438
push str.Messages_cant_have_default_values.
push 4
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
mov byte [edi + 0x24], 0
mov edx, dword [ebp - 0x48]
test edx, edx
je case.default.0x100a881e
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x100a8771
cmp byte [edx], 0
je case.default.0x100a881e
mov edx, bind
sub edx, ecx
cmp edx, 0x1e
jb 0x100a9000
lfence
cmp dword [eax + 0x14], 0xf
mov edx, eax
jbe 0x100a878e
mov edx, dword [eax]
push ecx
push edx
push 0x1e
push str.Couldnt_parse_default_value__
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0x78]
call fcn.100174b0
push 2
push 0x10171048
lea ecx, [ebp - 0x78]
call fcn.100244c0
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 8], 0
mov ecx, esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1c]
push eax
push 4
push ebx
push dword [edi + 4]
call fcn.100a5240
lea ecx, [ebp - 0x1c]
call fcn.1001d770
lea ecx, [ebp - 0x78]
call fcn.1001d770
jmp case.default.0x100a881e
call fcn.10091fb0
mov eax, dword [eax*4 + 0x10172800]
dec eax
cmp eax, 8
ja case.default.0x100a881e
jmp dword [eax*4 + 0x100a903c]
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
jmp case.default.0x100a881e
mov dword [edi + 0x50], 0
jmp case.default.0x100a881e
xorps xmm0, xmm0
movsd qword [edi + 0x50], xmm0
jmp case.default.0x100a881e
mov byte [edi + 0x50], 0
jmp case.default.0x100a881e
call fcn.10094de0
mov dword [edi + 0x50], 0x101d7ea0
mov eax, dword [edi + 0x28]
test eax, eax
jg 0x100a8878
push str.Field_numbers_must_be_positive_integers.
push 1
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
jmp 0x100a8b9d
cmp byte [ebp + 0x14], 0
jne 0x100a8a25
cmp eax, 0x1fffffff
jle 0x100a8a25
lea eax, [ebp - 0x24]
push eax
push 0x1fffffff
call fcn.100c09d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x2c], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a88a6
lea eax, [ebp - 0xa4]
mov esi, dword [edi + 4]
push eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x11c], 0
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x118], 0xffffffff
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x144], 0
push eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0x140], 0xffffffff
push eax
lea eax, [ebp - 0x16c]
mov dword [ebp - 0xa4], 0
push eax
lea eax, [ebp - 0x194]
mov dword [ebp - 0xa0], 0xffffffff
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], 0
push eax
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1b8], 0xffffffff
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xf4], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0xf0], 0xffffffff
sub ecx, edx
mov dword [ebp - 0x16c], 0
push str.Field_numbers_cannot_be_greater_than__0.
push eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xffffffff
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xffffffff
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xffffffff
call fcn.100f5050
add esp, 0x30
push eax
push 1
push ebx
push esi
mov esi, dword [ebp - 0x58]
mov ecx, esi
call fcn.100a5240
lea ecx, [ebp - 0x78]
call fcn.1001d770
mov eax, dword [ebx + 8]
shr eax, 1
test al, 1
je 0x100a89ef
push str.FieldDescriptorProto.extendee_set_for_non_extension_field.
push 3
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
mov edx, dword [ebp - 0x7c]
mov dword [edi + 0x30], edx
mov eax, dword [ebx + 8]
shr eax, 7
test al, 1
je 0x100a8d3d
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
js 0x100a8bed
cmp ecx, dword [edx + 0x38]
jge 0x100a8bed
mov eax, dword [edx + 0x18]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
jmp 0x100a8d3f
cmp eax, 0x4a38
jl 0x100a8b9d
cmp eax, 0x4e1f
jg 0x100a8b9d
lea eax, [ebp - 0x24]
push eax
push 0x4e1f
call fcn.100c09d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x2c], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8a54
lea eax, [ebp - 0x9c]
sub ecx, edx
push eax
push 0x4a38
mov dword [ebp - 0x28], ecx
call fcn.100c09d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa4], ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8a80
lea eax, [ebp - 0x1e4]
mov esi, dword [edi + 4]
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x11c], 0
push eax
lea eax, [ebp - 0x194]
mov dword [ebp - 0x118], 0xffffffff
push eax
lea eax, [ebp - 0x16c]
mov dword [ebp - 0xf4], 0
push eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0xf0], 0xffffffff
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x1bc], 0
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x1b8], 0xffffffff
push eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xc8], 0xffffffff
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x1e4], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x1e0], 0xffffffff
sub ecx, edx
mov dword [ebp - 0x194], 0
push str.Field_numbers__0_through__1_are_reserved_for_the_protocol_buffer_library_implementation.
push eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x190], 0xffffffff
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xffffffff
call fcn.100f5050
add esp, 0x30
push eax
push 1
push ebx
push esi
mov esi, dword [ebp - 0x58]
mov ecx, esi
call fcn.100a5240
lea ecx, [ebp - 0x78]
call fcn.1001d770
cmp byte [ebp + 0x14], 0
je 0x100a89d4
mov eax, dword [ebx + 8]
shr eax, 1
test al, 1
jne 0x100a8bc2
push str.FieldDescriptorProto.extendee_not_set_for_extension_field.
push 3
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
mov eax, dword [ebp - 0x7c]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 8]
shr eax, 7
test al, 1
je 0x100a8d3d
push str.FieldDescriptorProto.oneof_index_should_not_be_set_for_extensions.
push 2
push ebx
push dword [edi + 4]
mov ecx, esi
call fcn.100a5330
jmp 0x100a8d3d
mov eax, dword [edx]
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x100a8bf9
mov edx, dword [eax]
mov dword [ebp - 0x2c], edx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x9c]
push eax
push ecx
call fcn.100c09d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa4], ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a8c20
lea eax, [ebp - 0x1e4]
mov esi, dword [edi + 4]
push eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1e4], 0
push eax
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1e0], 0xffffffff
push eax
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x194], 0
push eax
lea eax, [ebp - 0x144]
mov dword [ebp - 0x190], 0xffffffff
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x16c], 0
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x168], 0xffffffff
push eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x144], 0
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x140], 0xffffffff
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x11c], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x118], 0xffffffff
sub ecx, edx
mov dword [ebp - 0xf4], 0
push str.FieldDescriptorProto.oneof_index__0_is_out_of_range_for_type___1_.
push eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0xffffffff
call fcn.100f5050
add esp, 0x30
push eax
push 2
push ebx
push esi
mov esi, dword [ebp - 0x58]
mov ecx, esi
call fcn.100a5240
lea ecx, [ebp - 0x78]
call fcn.1001d770
xor eax, eax
mov ecx, edi
mov edx, 0x34
mov dword [ecx + edx], eax
mov eax, dword [ebx + 8]
shr eax, 5
test al, 1
jne 0x100a8d5f
mov dword [edi + 0x44], 0
jmp 0x100a8f99
push 0x1c
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.google.protobuf.FieldOptions
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1000fb30
mov eax, dword [ebx + 0x24]
mov esi, 0x101d8190
test eax, eax
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x10], 0
cmovne esi, eax
mov dword [ebp - 0xc], 0
cmp byte [edi + 0x26], 0
mov dword [ebp - 0x48], esi
mov dword [ebp - 8], 0
je 0x100a8e89
mov ecx, dword [edi + 0x38]
test ecx, ecx
jne 0x100a8e34
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 7
push eax
push ecx
lea ecx, [ebp - 0x10]
call fcn.10087050
cmp byte [edi + 0x26], 0
mov ecx, edi
jne 0x100a8de4
mov eax, dword [edi + 0x30]
sub ecx, dword [eax + 0x14]
jmp 0x100a8df6
mov eax, dword [edi + 0x38]
test eax, eax
je 0x100a8df0
sub ecx, dword [eax + 0x28]
jmp 0x100a8df6
mov eax, dword [edi + 0x14]
sub ecx, dword [eax + 0x50]
mov eax, 0x2e8ba2e9
imul ecx
mov ecx, dword [ebp - 0xc]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x50], eax
cmp ecx, dword [ebp - 8]
je 0x100a8e22
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
add eax, 4
mov dword [ebp - 0xc], eax
jmp 0x100a8ef7
lea eax, [ebp - 0x50]
push eax
push ecx
lea ecx, [ebp - 0x10]
call fcn.10087050
jmp 0x100a8ef4
lea eax, [ebp - 0x10]
push eax
call fcn.100b56a0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], 6
cmp eax, dword [ebp - 8]
je 0x100a8e5d
mov dword [eax], 6
mov esi, dword [ebp - 0xc]
add esi, 4
mov dword [ebp - 0xc], esi
jmp 0x100a8e6d
lea ecx, [ebp - 0x50]
push ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.10087050
mov esi, dword [ebp - 0xc]
cmp byte [edi + 0x26], 0
mov ecx, edi
jne 0x100a8e7d
mov eax, dword [edi + 0x30]
sub ecx, dword [eax + 0x14]
jmp 0x100a8ebb
mov eax, dword [edi + 0x38]
test eax, eax
je 0x100a8eb5
sub ecx, dword [eax + 0x28]
jmp 0x100a8ebb
mov ecx, dword [edi + 0x30]
lea eax, [ebp - 0x10]
push eax
call fcn.100b56a0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], 2
cmp eax, dword [ebp - 8]
je 0x100a8e5d
mov dword [eax], 2
mov esi, dword [ebp - 0xc]
add esi, 4
mov dword [ebp - 0xc], esi
jmp 0x100a8e6d
mov eax, dword [edi + 0x14]
sub ecx, dword [eax + 0x50]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x50], eax
cmp esi, dword [ebp - 8]
je 0x100a8ee4
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0xc], eax
jmp 0x100a8ef7
lea eax, [ebp - 0x50]
push eax
push esi
lea ecx, [ebp - 0x10]
call fcn.10087050
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
je 0x100a8f08
mov dword [eax], 8
add dword [ebp - 0xc], 4
jmp 0x100a8f15
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.10087050
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [ebp - 0x10]
push ecx
push edi
push esi
mov esi, dword [ebp - 0x58]
mov ecx, esi
push eax
push eax
call fcn.1009f540
mov edx, dword [ebp - 0x10]
test edx, edx
je 0x100a8f65
mov ecx, dword [ebp - 8]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x100a8f5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a9005
push ecx
push edx
call fcn.101326bd
add esp, 8
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x100a8f99
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8f8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a900a
push ecx
push edx
call fcn.101326bd
add esp, 8
push edi
push 2
push ebx
push dword [edi]
mov ecx, esi
push dword [ebp - 0x7c]
push dword [edi + 4]
call fcn.100a6060
mov eax, dword [ebp - 0x5c]
cmp eax, 0xf
jbe 0x100a8fde
mov edx, dword [ebp - 0x60]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8fd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a900f
push ecx
push edx
call fcn.101326bd
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10132a90
mov esp, ebp
pop ebp
ret 0x10
call fcn.101381df
call fcn.101381df
call fcn.10023c60
call fcn.10023c60
call fcn.101381df
call fcn.101381df
call fcn.101381df
aas
test byte [edx], cl
adc byte [ecx - 0x7c], ah
or dl, byte [eax]
xchg byte [edx + ecx + 0xa84a810], al
adc byte [ecx - 854586747], ch
test byte [edx], cl
adc byte [ebp - 0xaeff57a], al
xchg byte [edx], cl
adc dh, bh
xchg byte [edx], cl
adc byte [0x35100a87], bh
mov byte [edx], cl
adc byte [0x35100a88], ah
mov byte [edx], cl
adc byte [0x3e100a88], ah
mov byte [edx], cl
adc byte [0x48100a88], dh
mov byte [edx], cl
adc byte [0x4e100a88], dh
mov byte [edx], cl
adc byte [ebp - 0x75], dl
push ebp
mov ebp, esp