Function at 0x4523d0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dccc4
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x51093c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x244], edx
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x234], eax
xor eax, eax
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x240], eax
test edi, edi
jne 0x452443
mov eax, dword [edx + 0x34]
mov edx, dword [eax + 0xc]
jmp 0x452449
mov edx, dword [edi + 8]
add edx, 0x18
mov eax, dword [esi + 0x90]
push ecx
mov ecx, dword [ebp - 0x244]
and eax, 0xfffffffc
push eax
push edx
call fcn.0044d420
mov ecx, dword [ebp - 0x234]
push esi
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x90]
mov esi, dword [ebp - 0x244]
and ecx, 0xfffffffc
mov eax, dword [eax + 8]
add eax, 0x18
push eax
push ecx
mov ecx, esi
call fcn.0046b270
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x34]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x10], edi
mov eax, dword [ebp - 0x234]
and byte [eax + 1], 0xfe
mov eax, dword [ebp - 0x234]
and byte [eax + 1], 0xfd
mov eax, dword [ebp - 0x234]
and byte [eax + 1], 0x83
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x14], 0
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x238], edx
mov edx, dword [edx + 8]
add edx, 0x18
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x254], edx
mov eax, dword [edx + 0x14]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x25c], edi
mov dword [ebp - 0x260], eax
cmp eax, 0x10
jb 0x45250b
mov eax, dword [edx]
mov dword [ebp - 0x254], eax
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x452531
mov edx, dword [ebp - 0x254]
nop dword [eax]
movzx eax, byte [ecx + edx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x452520
mov ecx, dword [ebp - 0x244]
mov eax, dword [ecx]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x78]
and eax, esi
mov edi, dword [edi + 0x70]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x278], edi
mov esi, dword [ecx + eax*8]
add eax, eax
lea edx, [eax*4 + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x240]
cmp eax, edi
jne 0x45257f
mov eax, edi
jmp 0x45258a
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + ecx]
mov eax, dword [eax]
cmp esi, eax
je 0x45262a
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 0x270], edx
jb 0x4525a2
mov edx, dword [edx]
jmp 0x4525a8
mov edx, dword [ebp - 0x270]
mov edi, dword [esi + 0x1c]
lea ecx, [esi + 8]
mov dword [ebp - 0x270], edi
cmp edi, 0x10
mov edi, dword [ebp - 0x278]
jb 0x4525c2
mov ecx, dword [esi + 8]
push dword [ebp - 0x25c]
mov eax, dword [esi + 0x18]
push edx
push eax
push ecx
mov dword [ebp - 0x24c], eax
call fcn.00447cf0
add esp, 0x10
test al, al
jne 0x4525f0
mov esi, dword [esi]
mov ecx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x268]
jmp 0x452571
cmp dword [ebp - 0x270], 0x10
lea ecx, [esi + 8]
jb 0x4525fe
mov ecx, dword [ecx]
cmp dword [ebp - 0x260], 0x10
mov eax, dword [ebp - 0x240]
jb 0x45260f
mov eax, dword [eax]
push dword [ebp - 0x24c]
push ecx
push dword [ebp - 0x25c]
push eax
call fcn.00447cf0
add esp, 0x10
test al, al
cmovne edi, esi
mov ecx, dword [ebp - 0x244]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x238]
mov eax, dword [eax + 0x10]
cmp edi, dword [eax + 0x70]
je 0x452654
mov al, byte [edi + 0x20]
shl al, 2
xor al, byte [ecx + 1]
and al, 0x7c
xor byte [ecx + 1], al
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x248]
xor eax, eax
mov word [ecx + 2], ax
xor ecx, ecx
cmp ecx, dword [esi + 0x14]
jge 0x45268b
mov eax, dword [esi + 0x1c]
lea edx, [ecx + 1]
mov eax, dword [eax + ecx*4 + 4]
cmp dword [eax + 0x28], edx
jne 0x45268b
mov eax, dword [ebp - 0x234]
inc ecx
mov word [eax + 2], cx
mov ecx, edx
cmp ecx, 0xffff
jl 0x452662
mov eax, dword [ebp - 0x234]
mov edi, dword [ebp - 0x250]
mov ecx, dword [esi + 0x64]
mov dword [eax + 0x38], ecx
cmp dword [edi], 0
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x24c], eax
jne 0x4526ef
push 0x187
push str.C:Workspace_vcpkg_buildtreesprotobuf_src_v3.21.12_fdb7676342.clean_srcgoogleprotobufdescriptor.cc
push 3
lea ecx, [ebp - 0x4c]
call fcn.00434bc0
mov ecx, 4
mov dword [ebp - 4], 2
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], ecx
mov ecx, eax
push str.CHECK_failed:_has_allocated__:
call fcn.00435140
push eax
lea ecx, [ebp - 0x261]
call fcn.00434f00
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 4], 0xffffffff
test al, 4
je 0x452711
and eax, 0xfffffffb
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x23c], eax
call fcn.00434eb0
mov eax, dword [edi]
add eax, dword [edi + 0x68]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 7]
and eax, 0xfffffff8
add eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
cmp eax, dword [edi + 0x34]
jle 0x452785
push 0x18d
push str.C:Workspace_vcpkg_buildtreesprotobuf_src_v3.21.12_fdb7676342.clean_srcgoogleprotobufdescriptor.cc
push 3
lea ecx, [ebp - 0xc4]
call fcn.00434bc0
mov ecx, dword [ebp - 0x23c]
or ecx, 8
mov dword [ebp - 4], 3
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], ecx
mov ecx, eax
push str.CHECK_failed:__used_____total_.template_Get_TypeToUse____:
call fcn.00435140
push eax
lea ecx, [ebp - 0x255]
call fcn.00434f00
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 4], 0xffffffff
test al, 8
je 0x4527aa
and eax, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x23c], eax
call fcn.00434eb0
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x260]
mov dword [eax + 0x1c], ecx
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [esi + 0x64], ecx
jle 0x45280e
mov dword [ebp - 0x240], ecx
nop dword [eax]
mov eax, dword [esi + 0x6c]
push edi
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x1c]
add eax, dword [ebp - 0x240]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.004544e0
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x240], 0x18
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x64]
jl 0x4527d0
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x14]
mov dword [eax + 4], ecx
mov ecx, edi
push dword [esi + 0x14]
call fcn.0043df00
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x18], eax
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [esi + 0x14], ecx
jle 0x452880
mov dword [ebp - 0x240], ecx
mov eax, dword [esi + 0x1c]
push edi
push 0
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x18]
add eax, dword [ebp - 0x240]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.0044f2a0
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x240], 0x30
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x14]
jl 0x452840
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x34]
mov dword [eax + 0x44], ecx
mov ecx, edi
push dword [esi + 0x34]
call fcn.0043dcf0
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x24], eax
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [esi + 0x34], ecx
jle 0x4528f0
mov dword [ebp - 0x240], ecx
mov eax, dword [esi + 0x3c]
push edi
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x24]
add eax, dword [ebp - 0x240]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.0044d830
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x240], 0x2c
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x34]
jl 0x4528b2
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x48], ecx
mov ecx, edi
push dword [esi + 0x44]
call fcn.0043d9e0
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x28], eax
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [esi + 0x44], ecx
jle 0x452960
mov dword [ebp - 0x240], ecx
mov eax, dword [esi + 0x4c]
push edi
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x28]
add eax, dword [ebp - 0x240]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.0044efe0
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x240], 0xc
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x44]
jl 0x452922
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x4c], ecx
mov ecx, edi
push dword [esi + 0x54]
call fcn.0043df00
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x2c], eax
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [esi + 0x54], ecx
jle 0x4529d2
mov dword [ebp - 0x240], ecx
mov eax, dword [esi + 0x5c]
push edi
push 1
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x2c]
add eax, dword [ebp - 0x240]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.0044f2a0
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x240], 0x30
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x54]
jl 0x452992
mov eax, dword [ebp - 0x234]
mov ecx, dword [esi + 0x74]
mov dword [eax + 0x50], ecx
cmp dword [edi], 0
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x24c], eax
jne 0x452a3a
push 0x187
push str.C:Workspace_vcpkg_buildtreesprotobuf_src_v3.21.12_fdb7676342.clean_srcgoogleprotobufdescriptor.cc
push 3
lea ecx, [ebp - 0xc4]
call fcn.00434bc0
mov ecx, dword [ebp - 0x23c]
or ecx, 0x4000
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], ecx
mov ecx, eax
push str.CHECK_failed:_has_allocated__:
call fcn.00435140
push eax
lea ecx, [ebp - 0x255]
call fcn.00434f00
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 4], 0xffffffff
test eax, 0x4000
je 0x452a64
and eax, 0xffffbfff
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x23c], eax
call fcn.00434eb0
mov eax, dword [edi]
add eax, dword [edi + 0x68]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x24c]
lea eax, [eax*8 + 7]
and eax, 0xfffffff8
add eax, dword [edi + 0x68]
mov dword [edi + 0x68], eax
cmp eax, dword [edi + 0x34]
jle 0x452ad5
push 0x18d
push str.C:Workspace_vcpkg_buildtreesprotobuf_src_v3.21.12_fdb7676342.clean_srcgoogleprotobufdescriptor.cc
push 3
lea ecx, [ebp - 0x4c]
call fcn.00434bc0
mov ecx, dword [ebp - 0x23c]
or ecx, 0x8000
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], ecx
mov ecx, eax
push str.CHECK_failed:__used_____total_.template_Get_TypeToUse____:
call fcn.00435140
push eax
lea ecx, [ebp - 0x261]
call fcn.00434f00
test dword [ebp - 0x23c], 0x8000
mov dword [ebp - 4], 0xffffffff
je 0x452af0
lea ecx, [ebp - 0x4c]
call fcn.00434eb0
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x23c], edx
mov dword [eax + 0x30], ecx
cmp dword [esi + 0x74], edx
jle 0x452c88
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x234]
mov eax, dword [eax + edx*4 + 4]
mov dword [ebp - 0x240], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x254], ecx
mov ecx, dword [ebp - 0x240]
mov edi, dword [ecx + 0x10]
test edi, edi
mov dword [eax + edx*8], edi
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x238], edi
mov edi, dword [ebp - 0x250]
mov dword [ebp - 0x24c], ecx
mov dword [eax + edx*8 + 4], ecx
jg 0x452c78
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x254]
push eax
lea ecx, [ecx + 0x44]
call fcn.0044a500
mov ecx, dword [ebp - 0x238]
xor edx, edx
mov esi, eax
mov eax, dword [ebp - 0x24c]
test eax, eax
cmovns edx, eax
mov eax, 0x1fffffff
cmp edx, 0x1fffffff
cmovg edx, eax
xor eax, eax
test ecx, ecx
cmovns eax, ecx
mov ecx, 0x1fffffff
cmp eax, 0x1fffffff
cmovg eax, ecx
mov ecx, 0
sub edx, eax
mov eax, dword [esi]
cmovns ecx, edx
mov edx, 0x1fffffff
cmp ecx, 0x1fffffff
cmovg ecx, edx
add eax, ecx
xor ecx, ecx
test eax, eax
cmovns ecx, eax
cmp ecx, edx
cmovg ecx, edx
cmp dword [esi + 4], 0
mov dword [esi], ecx
jne 0x452be5
mov eax, dword [ebp - 0x240]
mov dword [esi + 4], eax
mov dword [esi + 8], 1
mov eax, dword [ebp - 0x254]
lea ecx, [ebp - 0x40]
push 0x2b
push str.Reserved_numbers_must_be_positive_integers.
mov dword [ebp - 0x30], 0
mov esi, dword [eax + 8]
add esi, 0x18
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00401840
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x40]
push eax
push 1
push dword [ebp - 0x240]
mov dword [ebp - 4], 0x12
push esi
call fcn.0044aec0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x452c6c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x452c62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4542ad
push edx
push ecx
call fcn.004a2127
add esp, 8
mov edx, dword [ebp - 0x23c]
mov esi, dword [ebp - 0x248]
inc edx
mov dword [ebp - 0x23c], edx
cmp edx, dword [esi + 0x74]
jl 0x452b10
mov esi, dword [ebp - 0x244]
add esi, 0xa0
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x280], esi
dec dword [esi]
cmp dword [esi], 0
mov eax, dword [ebp - 0x234]
mov dword [ebp - 4], 0x13
jg 0x452d4e
mov edi, dword [eax + 8]
lea ecx, [ebp - 0x40]
push 0x34
push str.Reached_maximum_recursion_limit_for_nested_messages.
add edi, 0x18
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00401840
mov ecx, dword [ebp - 0x244]
lea eax, [ebp - 0x40]
push eax
push 0xa
push dword [ebp - 0x248]
mov byte [ebp - 4], 0x14
push edi
call fcn.0044aec0
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x452d2f
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x452d25
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4542ad
push edx
push ecx
call fcn.004a2127
add esp, 8
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x20], 0
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x40], 0
jmp 0x454284
mov edx, dword [ebp - 0x248]
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x40], ecx
mov ecx, edi
push dword [edx + 0x24]
call fcn.0043dbf0
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x20], eax
xor ecx, ecx
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x238], ecx
cmp dword [eax + 0x24], ecx
jle 0x452dd2
mov dword [ebp - 0x23c], ecx
mov esi, eax
mov eax, dword [esi + 0x2c]
push edi
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx + 0x20]
add eax, dword [ebp - 0x23c]
push eax
push ecx
mov ecx, dword [ebp - 0x244]
push edx
call fcn.004523d0
mov ecx, dword [ebp - 0x238]
add dword [ebp - 0x23c], 0x58
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [esi + 0x24]
jl 0x452d88
mov esi, dword [ebp - 0x240]
mov eax, dword [ebp - 0x248]
sub eax, 0xffffff80
mov ecx, eax
mov dword [ebp - 0x25c], eax
call fcn.00416320
mov ecx, dword [ebp - 0x234]
push eax
mov dword [ebp - 0x254], eax
mov dword [ecx + 0x54], eax
mov ecx, edi
call fcn.0043d8d0
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x34], eax
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x254], ecx
jle 0x452f36
nop word [eax + eax]
push ecx
mov ecx, dword [ebp - 0x25c]
call fcn.00414ff0
mov ecx, dword [ebp - 0x250]
mov edi, eax
push 1
call fcn.0043daf0
push edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x24c], eax
call fcn.00402c10
mov edi, dword [ebp - 0x24c]
mov dword [ebp - 0x260], eax
cmp edi, eax
je 0x452ec5
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x452e93
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x452e83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4542ad
mov eax, edx
push ecx
push eax
call fcn.004a2127
mov eax, dword [ebp - 0x260]
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x452ef9
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x452eef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4542ad
push edx
push ecx
call fcn.004a2127
add esp, 8
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov eax, dword [eax + 0x34]
mov dword [eax + ecx*4], edi
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [ebp - 0x254]
jl 0x452e20
mov edi, dword [ebp - 0x250]
mov eax, dword [ebp - 0x248]
mov eax, dword [eax + 8]
shr eax, 1
and al, 1
je 0x453021
push 0x1e
push str.google.protobuf.MessageOptions
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00401840
mov eax, dword [ebp - 0x248]
mov ecx, 0x5106ec
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov eax, dword [eax + 0x94]
test eax, eax
mov dword [ebp - 0x2c], 0
cmovne ecx, eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x19
push ecx
mov ecx, eax
call fcn.0045fe30
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], eax
je 0x452fd4
mov dword [eax], 7
add dword [ebp - 0x30], 4
jmp 0x452fe4
lea ecx, [ebp - 0x24c]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00422be0
mov ecx, dword [ebp - 0x260]
lea edx, [ebp - 0x28]
push edi
push edx
lea edx, [ebp - 0x34]
mov eax, dword [ecx + 8]
push edx
push ecx
push dword [ebp - 0x268]
mov ecx, dword [ebp - 0x244]
add eax, 0x18
push eax
push eax
call fcn.0043e430
lea ecx, [ebp - 0x34]
call fcn.00417660
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x13
call fcn.004036e0
mov eax, dword [ebp - 0x234]
push eax
push dword [ebp - 0x248]
mov byte [eax], 1
mov ecx, dword [ebp - 0x234]
mov ecx, dword [ecx + 8]
push ecx
push dword [ebp - 0x27c]
lea eax, [ecx + 0x18]
mov ecx, dword [ebp - 0x244]
push eax
call fcn.0044c2e0
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0x74]
test edx, edx
jle 0x4532db
xor esi, esi
mov edi, 1
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x238], edi
mov eax, dword [ecx + 0x7c]
mov eax, dword [eax + esi + 4]
mov esi, edi
mov dword [ebp - 0x250], eax
mov eax, edx
cmp edi, edx
jge 0x4532b5
mov edx, dword [ebp - 0x250]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [edx + 0x14]
mov edi, dword [eax + esi*4 + 4]
cmp ecx, dword [edi + 0x10]
jle 0x45329d
mov eax, dword [edi + 0x14]
cmp eax, dword [edx + 0x10]
jle 0x45329d
lea eax, [ebp - 0xc0]
push eax
lea eax, [ecx - 1]
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4530d0
lea eax, [ebp - 0x200]
sub ecx, edx
push eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0xc4], ecx
push dword [eax + 0x10]
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x208], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453102
mov eax, dword [edi + 0x14]
sub ecx, edx
mov dword [ebp - 0x204], ecx
dec eax
lea ecx, [ebp - 0x98]
push ecx
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453130
lea eax, [ebp - 0x70]
sub ecx, edx
push eax
push dword [edi + 0x10]
mov dword [ebp - 0x9c], ecx
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x78], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453156
sub ecx, edx
mov dword [ebp - 0x18], 0
push 0x45
mov dword [ebp - 0x74], ecx
lea ecx, [ebp - 0x28]
push str.Reserved_range__0_to__1_overlaps_with_already_defined_range__2_to__3.
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.00401840
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0xf0], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0xec], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x1b8], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1b4], 0xffffffff
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x208]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x190], 0
push eax
mov dword [ebp - 0x18c], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x23c]
push 1
mov ecx, dword [ecx + 0x7c]
mov byte [ebp - 4], 0x1f
push dword [ecx + eax + 4]
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + 8]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x40]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x13
call fcn.004036e0
mov edx, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x248]
inc esi
mov eax, dword [ecx + 0x74]
cmp esi, eax
jl 0x453093
mov edi, dword [ebp - 0x238]
mov esi, dword [ebp - 0x23c]
inc edi
add esi, 4
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], esi
mov edx, eax
cmp edi, eax
jle 0x453074
mov esi, dword [ebp - 0x240]
lea ecx, [ebp - 0x2ac]
call fcn.00448700
mov ecx, dword [ebp - 0x25c]
xor edi, edi
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x238], edi
call fcn.00416320
test eax, eax
jle 0x4534e9
mov esi, dword [ebp - 0x248]
nop dword [eax + eax]
push edi
lea ecx, [esi + 0x80]
call fcn.00414ff0
mov edi, eax
lea ecx, [ebp - 0x2ac]
push edi
lea eax, [ebp - 0x26c]
push eax
call fcn.0046d420
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x2a8]
jne 0x453356
push dword [ebp - 0x280]
lea eax, [ebp - 0x30]
push edi
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004432d0
jmp 0x4534c3
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x453360
mov eax, dword [edi]
push 0x2b
mov dword [ebp - 0x1e0], eax
lea ecx, [ebp - 0x28]
mov eax, dword [edi + 0x10]
push str.Field_name___0__is_reserved_multiple_times.
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00401840
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0xf0], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0xec], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1b8], 0
push eax
mov dword [ebp - 0x1b4], 0xffffffff
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xffffffff
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x244]
push eax
push 0
push esi
push edi
mov byte [ebp - 4], 0x24
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x238]
lea ecx, [esi + 0x80]
inc edi
mov dword [ebp - 0x238], edi
call fcn.00416320
cmp edi, eax
jl 0x453310
mov esi, dword [ebp - 0x240]
mov edi, dword [ebp - 0x234]
mov dword [ebp - 0x25c], 0
cmp dword [edi + 4], 0
jle 0x453d7e
xor ecx, ecx
mov dword [ebp - 0x254], ecx
nop dword [eax + eax]
mov edx, dword [edi + 0x18]
add edx, ecx
mov dword [ebp - 0x250], 0
cmp dword [edi + 0x48], 0
mov dword [ebp - 0x23c], edx
jle 0x45388b
xor ecx, ecx
mov dword [ebp - 0x238], ecx
mov eax, dword [edi + 0x28]
add eax, ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x278], eax
cmp dword [eax], ecx
jg 0x453866
cmp ecx, dword [eax + 4]
jge 0x453866
mov eax, dword [ebp - 0x250]
mov edi, dword [ebp - 0x244]
lea ecx, [eax*4]
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x270], ecx
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + ecx + 4]
lea ecx, [edi + 0x44]
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0046d390
mov ecx, dword [edi + 0x48]
mov eax, dword [ebp - 0x27c]
cmp eax, ecx
jne 0x453632
lea eax, [ebp - 0x234]
lea edx, [ebp - 0x255]
mov dword [ebp - 0x24c], eax
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x24c]
mov dword [ebp - 0x260], eax
push edx
mov ecx, dword [eax + 4]
push 0x4e6f00
push ecx
mov dword [ebp - 0x268], ecx
lea ecx, [edi + 0x48]
push eax
call fcn.00441540
mov edx, eax
mov ecx, 0xaaaaaa9
mov eax, dword [edi + 0x4c]
sub ecx, eax
cmp ecx, 1
jb 0x4542a3
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x4c], ecx
mov ecx, edi
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x268]
lea ecx, [ecx + 0x44]
mov dword [eax], edx
mov eax, dword [edi + 0x48]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.00442ee0
mov eax, dword [ebp - 0x288]
jmp 0x45363f
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x284], 0
mov ecx, dword [eax + 0xc]
xor edx, edx
add ecx, 1
cmovns edx, ecx
mov ecx, 0x1fffffff
cmp edx, 0x1fffffff
cmovg edx, ecx
cmp dword [eax + 0x10], 0
mov dword [eax + 0xc], edx
jne 0x453671
mov ecx, dword [ebp - 0x274]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 1
mov edi, dword [ebp - 0x23c]
lea eax, [ebp - 0x70]
push eax
push dword [edi + 4]
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x78], ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453690
mov eax, dword [edi + 8]
sub ecx, edx
mov dword [ebp - 0x74], ecx
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x4536a9
mov ecx, dword [eax]
mov edi, dword [ebp - 0x278]
mov dword [ebp - 0x1b8], ecx
lea ecx, [ebp - 0x98]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1b4], eax
mov eax, dword [edi + 4]
dec eax
push ecx
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4536e0
lea eax, [ebp - 0xc0]
sub ecx, edx
push eax
push dword [edi]
mov dword [ebp - 0x9c], ecx
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453710
sub ecx, edx
mov dword [ebp - 0x18], 0
push 0x32
mov dword [ebp - 0xc4], ecx
lea ecx, [ebp - 0x28]
push str.Extension_range__0_to__1_includes_field___2____3_.
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.00401840
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1e0], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1dc], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0xf0], 0
push eax
mov dword [ebp - 0xec], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x270]
push 1
mov ecx, dword [ecx + 0x4c]
mov byte [ebp - 4], 0x28
push dword [ecx + eax + 4]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + 8]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x234]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x238]
inc eax
add ecx, 0xc
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x238], ecx
cmp eax, dword [edi + 0x48]
jl 0x453537
xor ecx, ecx
mov dword [ebp - 0x238], ecx
cmp dword [edi + 0x50], ecx
jle 0x453b98
nop dword [eax]
mov eax, dword [edi + 0x30]
mov edi, dword [edx + 4]
cmp dword [eax + ecx*8], edi
mov edi, dword [ebp - 0x234]
jg 0x453b88
mov edx, dword [edx + 4]
cmp edx, dword [eax + ecx*8 + 4]
mov edx, dword [ebp - 0x23c]
jge 0x453b88
mov eax, dword [ebp - 0x248]
mov edi, dword [ebp - 0x244]
shl ecx, 2
mov dword [ebp - 0x278], ecx
mov eax, dword [eax + 0x7c]
mov eax, dword [eax + ecx + 4]
lea ecx, [edi + 0x44]
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.0046d390
mov ecx, dword [edi + 0x48]
mov eax, dword [ebp - 0x26c]
cmp eax, ecx
jne 0x453994
lea eax, [ebp - 0x234]
lea edx, [ebp - 0x261]
mov dword [ebp - 0x24c], eax
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x24c]
mov dword [ebp - 0x260], eax
push edx
mov ecx, dword [eax + 4]
push 0x4e6f00
push ecx
mov dword [ebp - 0x268], ecx
lea ecx, [edi + 0x48]
push eax
call fcn.00441540
mov edx, eax
mov ecx, 0xaaaaaa9
mov eax, dword [edi + 0x4c]
sub ecx, eax
cmp ecx, 1
jb 0x4542a3
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x4c], ecx
mov ecx, edi
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x268]
lea ecx, [ecx + 0x44]
mov dword [eax], edx
mov eax, dword [edi + 0x48]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00442ee0
mov eax, dword [ebp - 0x30]
jmp 0x45399b
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x2c], 0
mov ecx, dword [eax + 0xc]
xor edx, edx
add ecx, 1
cmovns edx, ecx
mov ecx, 0x1fffffff
cmp edx, 0x1fffffff
cmovg edx, ecx
cmp dword [eax + 0x10], 0
mov dword [eax + 0xc], edx
jne 0x4539cd
mov ecx, dword [ebp - 0x274]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 1
mov edi, dword [ebp - 0x23c]
lea eax, [ebp - 0x70]
push eax
push dword [edi + 4]
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x78], ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4539f0
mov eax, dword [edi + 8]
sub ecx, edx
mov dword [ebp - 0x74], ecx
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x453a09
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
lea ecx, [ebp - 0x28]
mov eax, dword [eax + 0x10]
push 0x23
push str.Field___0__uses_reserved_number__1.
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00401840
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1e0], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1dc], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0xf0], 0
push eax
mov dword [ebp - 0xec], 0xffffffff
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xffffffff
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x278]
push 1
mov ecx, dword [ecx + 0x7c]
mov byte [ebp - 4], 0x2e
push dword [ecx + eax + 4]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x244]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x23c]
inc ecx
mov dword [ebp - 0x238], ecx
cmp ecx, dword [edi + 0x50]
jl 0x4538a0
mov eax, dword [edx + 8]
lea ecx, [ebp - 0x2ac]
push eax
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x28c]
push eax
call fcn.0046d420
mov eax, dword [eax]
cmp eax, dword [ebp - 0x2a8]
je 0x453d59
mov eax, dword [ebp - 0x24c]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x453bd2
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
lea ecx, [ebp - 0x28]
mov eax, dword [eax + 0x10]
push 0x1c
push str.Field_name___0__is_reserved.
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00401840
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1e0], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1dc], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0xf0], 0
push eax
mov dword [ebp - 0xec], 0xffffffff
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xffffffff
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x25c]
push 0
mov ecx, dword [ecx + 0x1c]
mov byte [ebp - 4], 0x32
push dword [ecx + eax*4 + 4]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + 8]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x234]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x254]
inc eax
add ecx, 0x30
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x254], ecx
cmp eax, dword [edi + 4]
jl 0x453510
cmp dword [edi + 0x48], 0
jle 0x454279
xor eax, eax
mov edx, 1
xor esi, esi
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x25c], esi
mov ecx, dword [edi + 0x28]
add ecx, esi
xor esi, esi
mov dword [ebp - 0x250], ecx
cmp dword [edi + 0x50], esi
jle 0x453feb
nop dword [eax]
mov eax, dword [edi + 0x30]
lea edx, [eax + esi*8]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x26c], edx
cmp eax, dword [edx]
jle 0x453fd5
mov eax, dword [edx + 4]
cmp eax, dword [ecx]
jle 0x453fd5
lea ecx, [ebp - 0x70]
dec eax
push ecx
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x78], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453df8
lea eax, [ebp - 0x98]
sub ecx, edx
push eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x74], ecx
push dword [eax]
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453e26
mov edi, dword [ebp - 0x250]
sub ecx, edx
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0xc0]
push ecx
mov eax, dword [edi + 4]
dec eax
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc8], ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453e60
lea eax, [ebp - 0x48]
sub ecx, edx
push eax
push dword [edi]
mov dword [ebp - 0xc4], ecx
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x50], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453e85
sub ecx, edx
mov dword [ebp - 0x18], 0
push 0x3f
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x28]
push str.Extension_range__0_to__1_overlaps_with_reserved_range__2_to__3.
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.00401840
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1e0], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1dc], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0xf0], 0
push eax
mov dword [ebp - 0xec], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x23c]
push 1
mov ecx, dword [ecx + 0x4c]
mov byte [ebp - 4], 0x36
push dword [ecx + eax + 4]
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + 8]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x250]
inc esi
cmp esi, dword [edi + 0x50]
jl 0x453dc0
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x254]
mov esi, edx
cmp edx, dword [edi + 0x48]
jge 0x45424b
mov edx, dword [ebp - 0x25c]
add edx, 0xc
mov dword [ebp - 0x238], edx
mov eax, dword [edi + 0x28]
add eax, edx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x26c], eax
cmp edx, dword [eax]
jle 0x454226
mov eax, dword [eax + 4]
cmp eax, dword [ecx]
jle 0x454226
lea ecx, [ebp - 0x70]
lea eax, [edx - 1]
push ecx
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x78], ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x454040
mov edi, dword [ebp - 0x250]
lea eax, [ebp - 0x98]
push eax
sub ecx, edx
mov dword [ebp - 0x74], ecx
push dword [edi]
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa0], ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x454070
mov edi, dword [ebp - 0x26c]
sub ecx, edx
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x1b0]
push ecx
mov eax, dword [edi + 4]
dec eax
push eax
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1b8], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4540a4
lea eax, [ebp - 0xe8]
sub ecx, edx
push eax
push dword [edi]
mov dword [ebp - 0x1b4], ecx
call fcn.0046f080
mov ecx, eax
add esp, 8
mov dword [ebp - 0xf0], ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4540d0
sub ecx, edx
mov dword [ebp - 0x18], 0
push 0x46
mov dword [ebp - 0xec], ecx
lea ecx, [ebp - 0x28]
push str.Extension_range__0_to__1_overlaps_with_already_defined_range__2_to__3.
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
call fcn.00401840
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x1e0], 0
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1dc], 0xffffffff
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x190], 0
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x18c], 0xffffffff
push eax
lea eax, [ebp - 0x230]
mov dword [ebp - 0x168], 0
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x164], 0xffffffff
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x140], 0
push eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x13c], 0xffffffff
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x114], 0xffffffff
push eax
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x230], 0
push eax
mov dword [ebp - 0x22c], 0xffffffff
call fcn.00497e70
add esp, 0x30
mov ecx, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x23c]
push 1
mov ecx, dword [ecx + 0x4c]
mov byte [ebp - 4], 0x3a
push dword [ecx + eax + 4]
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + 8]
add eax, 0x18
push eax
call fcn.0044aec0
lea ecx, [ebp - 0x1f8]
call fcn.004036e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x22
call fcn.004036e0
mov edi, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0x238]
inc esi
add edx, 0xc
mov dword [ebp - 0x238], edx
cmp esi, dword [edi + 0x48]
jl 0x454005
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x254]
mov esi, dword [ebp - 0x25c]
inc edx
add esi, 0xc
mov dword [ebp - 0x254], edx
add eax, 4
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x23c], eax
cmp edx, dword [edi + 0x48]
jle 0x453da3
mov esi, dword [ebp - 0x240]
lea ecx, [ebp - 0x2ac]
call fcn.00449420
inc dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a2135
mov esp, ebp
pop ebp
ret 0x10
push str.list_T__too_long
call fcn.0049e77f
call fcn.004bd25c
int3