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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x54c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4b0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4b8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x4c4], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x444], 0x14
cmp dword [ebp - 0x4c4], 0
jne 0x574c35
mov eax, 1
jmp 0x574c3a
mov eax, 4
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x48c], 0
cmp dword [ebp - 0x4c4], 0
sete al
movzx eax, al
test eax, eax
jne 0x574ccd
cmp dword [ebp - 0x4c4], 1
sete al
movzx eax, al
test eax, eax
jne 0x574ccd
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.flavor__FLAV_NS__flavor__FLAV_MICRODESC
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x5ee
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
cmp dword [ebp - 0x4b0], eax
setge al
movzx eax, al
test eax, eax
jne 0x574d1f
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.total_authorities_____votes___num_used_
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x5ef
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
cmp dword [ebp - 0x4b0], 0
setg al
movzx eax, al
test eax, eax
jne 0x574d69
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.total_authorities___0
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x5f0
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x4c4]
mov dword [esp], eax
call fcn.005191fc
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
test eax, eax
jne 0x574dc0
mov dword [esp + 0x10], str.Cant_compute_a_consensus_from_no_votes.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov eax, 0
jmp 0x578aef
call fcn.006c42f4
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x4ac]
mov dword [esp], eax
call fcn.005713d6
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
mov dword [esp], eax
call fcn.00571606
test eax, eax
je 0x574e29
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Generating_consensus_using_method__d.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 6
call fcn.006bf072
jmp 0x574e69
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.The_other_authorities_will_use_consensus_method__d__which_I_dont_support.__Maybe_I_should_upgrade_
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov dword [ebp - 0x448], 0x1d
cmp dword [ebp - 0x448], 0x19
jle 0x574ee4
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x190], 4
mov dword [ebp - 0x18c], 0
jmp 0x574f58
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
call fcn.006c42f4
mov dword [ebp - 0x454], eax
call fcn.006c42f4
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x434], 0
jmp 0x57530b
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x434]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax]
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x5750a3
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x75fd44
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x61d
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov edx, dword [ebp - 0x468]
mov eax, dword [ebp - 0x434]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x10]
mov dword [edx], eax
mov edx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x434]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x14]
mov dword [edx], eax
mov edx, dword [ebp - 0x460]
mov eax, dword [ebp - 0x434]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x18]
mov dword [edx], eax
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x434]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x28]
mov dword [edx], eax
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x434]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x5751db
call fcn.006c42f4
mov dword [ebp - 0x44c], eax
add dword [ebp - 0x43c], 1
mov eax, dword [ebp - 0x1c4]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x75f700
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c4e03
mov eax, dword [ebp - 0x44c]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.005acf01
mov edx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c4614
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x1c0]
mov dword [eax], 0
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x575287
call fcn.006c42f4
mov dword [ebp - 0x44c], eax
add dword [ebp - 0x438], 1
mov eax, dword [ebp - 0x1c4]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x75f700
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c4e03
mov eax, dword [ebp - 0x44c]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.005acf01
mov edx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c4614
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x1bc]
mov dword [eax], 0
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x430], 0
jmp 0x5752ec
mov eax, dword [ebp - 0x1c4]
mov eax, dword [eax + 0x48]
mov edx, dword [eax]
mov eax, dword [ebp - 0x430]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1b4], eax
mov edx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x1b4]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c470c
mov dword [ebp - 0x1b4], 0
add dword [ebp - 0x430], 1
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x1b8]
jl 0x5752a5
mov dword [ebp - 0x1c4], 0
add dword [ebp - 0x434], 1
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x364]
jl 0x57503b
mov edx, dword [ebp - 0x468]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f1d5
mov dword [ebp - 0x360], eax
mov edx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f1d5
mov dword [ebp - 0x35c], eax
mov edx, dword [ebp - 0x460]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f1d5
mov dword [ebp - 0x358], eax
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f182
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x368]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f182
mov dword [ebp - 0x350], eax
call fcn.0058de8a
mov eax, dword [eax + 0x550]
test eax, eax
je 0x5753c9
mov edx, 0xa
jmp 0x5753ce
mov edx, 0x12c
mov eax, dword [ebp - 0x360]
add eax, edx
cmp dword [ebp - 0x35c], eax
setge al
movzx eax, al
test eax, eax
jne 0x57541f
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.valid_after___get_options____TestingTorNetwork______2__2_1_2__:_300____fresh_until
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x63e
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
call fcn.0058de8a
mov eax, dword [eax + 0x550]
test eax, eax
je 0x575435
mov edx, 0xa
jmp 0x57543a
mov edx, 0x12c
mov eax, dword [ebp - 0x35c]
add eax, edx
cmp dword [ebp - 0x358], eax
setge al
movzx eax, al
test eax, eax
jne 0x57548b
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.fresh_until___get_options____TestingTorNetwork______2__2_1_2__:_300____valid_until
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x641
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
cmp dword [ebp - 0x354], 1
setg al
movzx eax, al
test eax, eax
jne 0x5754d5
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.vote_seconds___2
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x644
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
cmp dword [ebp - 0x350], 1
setg al
movzx eax, al
test eax, eax
jne 0x57551f
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.dist_seconds___2
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x645
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x438]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005717a0
mov dword [ebp - 0x49c], eax
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x43c]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005717a0
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x4ac]
mov dword [esp], eax
call fcn.00578b0a
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x450]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x42c], 0
jmp 0x5755de
mov eax, dword [ebp - 0x450]
mov edx, dword [eax]
mov eax, dword [ebp - 0x42c]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x1c8]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x42c], 1
mov eax, dword [ebp - 0x42c]
cmp eax, dword [ebp - 0x34c]
jl 0x57558a
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 4]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x428], 0
jmp 0x57565b
mov eax, dword [ebp - 0x454]
mov edx, dword [eax]
mov eax, dword [ebp - 0x428]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x1cc]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x428], 1
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x348]
jl 0x575607
lea eax, [ebp - 0x450]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x344]
mov dword [eax], 0
lea eax, [ebp - 0x454]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x340]
mov dword [eax], 0
mov eax, dword [ebp - 0x498]
mov dword [esp + 4], str.NoEdConsensus
mov dword [esp], eax
call fcn.006c470c
mov eax, dword [ebp - 0x498]
mov dword [esp], eax
call fcn.006b0c50
mov eax, dword [ebp - 0x498]
mov dword [esp], eax
call fcn.006b0d17
lea eax, [ebp - 0x468]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x33c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x33c]
mov dword [eax], 0
lea eax, [ebp - 0x464]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x338]
mov dword [eax], 0
lea eax, [ebp - 0x460]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x334]
mov dword [eax], 0
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x330]
mov dword [eax], 0
lea eax, [ebp - 0x458]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x32c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x32c]
mov dword [eax], 0
call fcn.006c42f4
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x360]
mov dword [esp + 4], eax
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.006a8e88
mov eax, dword [ebp - 0x35c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x71]
mov dword [esp], eax
call fcn.006a8e88
mov eax, dword [ebp - 0x358]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.006a8e88
mov eax, dword [ebp - 0x498]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x75f312
mov dword [esp], eax
call fcn.006b0168
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x4c4], 0
je 0x57583d
mov ecx, dword [ebp - 0x36c]
jmp 0x575842
mov ecx, 0x75f22a
cmp dword [ebp - 0x4c4], 0
jne 0x575852
mov edx, 0x75f22a
jmp 0x575857
mov edx, 0x75f312
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.network_status_version_3_s_s_nvote_status_consensus_n
mov dword [esp], eax
call fcn.006af76c
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x448]
mov dword [esp + 8], eax
mov dword [esp + 4], str.consensus_method__d_n
mov dword [esp], edx
call fcn.006af76c
mov ebx, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x494]
mov edx, dword [ebp - 0x49c]
mov eax, dword [ebp - 0x4a0]
mov esi, dword [ebp - 0x4a8]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x350]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x354]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x71]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x91]
mov dword [esp + 8], eax
mov dword [esp + 4], str.valid_after__s_nfresh_until__s_nvalid_until__s_nvoting_delay__d__d_nclient_versions__s_nserver_versions__s_n_sknown_flags__s_n
mov dword [esp], esi
call fcn.006af76c
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x328]
mov dword [eax], 0
mov dword [esp], 4
call fcn.0050e8aa
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x424], 0
jmp 0x5759ef
mov eax, dword [ebp - 0x4ac]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x324]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x424]
mov dword [esp], eax
call fcn.00574998
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
sete al
movzx eax, al
test eax, eax
je 0x5759c4
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], str.___proto_line_
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x688
mov dword [esp], eax
call fcn.006c12a3
mov eax, 1
jmp 0x5759c9
mov eax, 0
test al, al
jne 0x5759e7
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x1d0]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
jmp 0x5759e8
nop
add dword [ebp - 0x424], 1
cmp dword [ebp - 0x424], 3
jle 0x575948
mov eax, dword [ebp - 0x4b0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x448]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ac]
mov dword [esp], eax
call fcn.00571a9a
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x48c]
mov eax, dword [eax + 4]
test eax, eax
je 0x575aa1
mov eax, dword [ebp - 0x48c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x75f312
mov dword [esp], eax
call fcn.006b0168
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], str.params
mov dword [esp], eax
call fcn.006c470c
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x440]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], 0x75ff1b
mov dword [esp], eax
call fcn.006c470c
mov dword [esp], 4
call fcn.0050e8aa
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x320]
lea ecx, [eax + eax]
mov edx, 0x55555556
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov edx, dword [ebp - 0x48c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.AuthDirNumSRVAgreements
mov dword [esp], edx
call fcn.005718df
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4ac]
mov dword [esp], eax
call fcn.00588e23
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x575b2d
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x318]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov dword [esp + 4], 0x5707f4
mov eax, dword [ebp - 0x4ac]
mov dword [esp], eax
call fcn.006b03d0
call fcn.006c42f4
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x420], 0
jmp 0x575c72
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x420]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1dc], eax
mov dword [esp], 0xc
call fcn.006c514f
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1dc]
mov dword [edx], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esp], eax
call fcn.00570697
mov edx, eax
mov eax, dword [ebp - 0x1d8]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1d8]
mov dword [eax + 8], 0
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x1d8]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov eax, dword [ebp - 0x1dc]
mov dword [esp], eax
call fcn.00570697
add eax, 0x18
mov dword [esp], eax
call fcn.006c216b
test eax, eax
jne 0x575c61
mov dword [esp], 0xc
call fcn.006c514f
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1dc]
mov dword [edx], eax
mov eax, dword [ebp - 0x1dc]
mov dword [esp], eax
call fcn.00570697
lea edx, [eax + 0x18]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 8], 1
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x1d4]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov dword [ebp - 0x1dc], 0
add dword [ebp - 0x420], 1
mov eax, dword [ebp - 0x420]
cmp eax, dword [ebp - 0x314]
jl 0x575b6c
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], 0x570863
mov dword [esp], eax
call fcn.006b03d0
mov eax, dword [ebp - 0x450]
mov eax, dword [eax + 4]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x41c], 0
jmp 0x575e32
mov eax, dword [ebp - 0x450]
mov edx, dword [eax]
mov eax, dword [ebp - 0x41c]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esp], eax
call fcn.00570697
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x71]
mov dword [esp], eax
call fcn.006a583f
mov eax, dword [ebp - 0x1e0]
add eax, 0x3c
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.006a583f
mov eax, dword [ebp - 0x1e0]
movzx eax, word [eax + 0x36]
movzx eax, ax
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x1e0]
movzx eax, word [eax + 0x34]
movzx eax, ax
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call fcn.006b42ef
mov ebx, eax
mov eax, dword [ebp - 0x1e0]
mov esi, dword [eax + 0x2c]
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax + 8]
test eax, eax
je 0x575d9b
mov edi, str._legacy
jmp 0x575da0
mov edi, 0x75f22a
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax + 0x14]
mov ecx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4c8]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x50c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
lea eax, [ebp - 0x71]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp + 4], str.dir_source__s_s__s__s__s__d__d_n
mov dword [esp], ecx
call fcn.006af76c
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax + 8]
test eax, eax
jne 0x575e21
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax + 0x38]
mov ecx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], str.contact__s_nvote_digest__s_n
mov dword [esp], ecx
call fcn.006af76c
mov dword [ebp - 0x1e8], 0
add dword [ebp - 0x41c], 1
mov eax, dword [ebp - 0x41c]
cmp eax, dword [ebp - 0x310]
jl 0x575cb8
mov eax, dword [ebp - 0x450]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x418], 0
jmp 0x575eb3
mov eax, dword [ebp - 0x450]
mov edx, dword [eax]
mov eax, dword [ebp - 0x418]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x1ec]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x418], 1
mov eax, dword [ebp - 0x418]
cmp eax, dword [ebp - 0x30c]
jl 0x575e5f
lea eax, [ebp - 0x450]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x308]
mov dword [eax], 0
mov dword [ebp - 0x414], 0
cmp dword [ebp - 0x440], 0
je 0x575f40
mov dword [esp + 4], str.maxunmeasuredbw
mov eax, dword [ebp - 0x440]
mov dword [esp], eax
call fcn.006c2473
test eax, eax
jne 0x575f24
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x414], eax
jmp 0x575f40
mov dword [esp + 4], str._maxunmeasuredbw
mov eax, dword [ebp - 0x440]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
je 0x576013
mov dword [ebp - 0x44c], 0
mov dword [esp + 4], 0x3d
mov eax, dword [ebp - 0x414]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0
je 0x576013
mov eax, dword [ebp - 0x304]
lea edx, [eax + 1]
mov dword [esp + 0x14], 0
lea eax, [ebp - 0x44c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa
mov dword [esp], edx
call fcn.006c2f35
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x44c]
test eax, eax
jne 0x576013
mov eax, dword [ebp - 0x414]
mov dword [esp], eax
call fcn.006bd8bd
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Bad_element__s_in_max_unmeasured_bw_param
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov dword [ebp - 0x444], 0x14
call fcn.006c42f4
mov dword [ebp - 0x480], eax
call fcn.006c42f4
mov dword [ebp - 0x47c], eax
call fcn.006c42f4
mov dword [ebp - 0x478], eax
call fcn.006c42f4
mov dword [ebp - 0x474], eax
call fcn.006c42f4
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x464], eax
call fcn.006ac0e2
mov dword [ebp - 0x300], eax
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0xff
lea eax, [ebp - 0xa5]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x410], 0
jmp 0x5761e8
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x410]
shl eax, 2
lea ecx, [edx + eax]
mov dword [ecx], 0xffffffff
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x410]
shl eax, 2
add edx, eax
mov eax, dword [ecx]
mov dword [edx], eax
add dword [ebp - 0x410], 1
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
cmp dword [ebp - 0x410], eax
jl 0x5761b4
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x3fc], 0
jmp 0x576472
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
lea ebx, [edx + eax]
mov dword [esp + 4], 4
mov dword [esp], ecx
call fcn.006c5207
mov dword [ebx], eax
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 4]
cmp eax, 0x40
jle 0x5762b1
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Somehow__a_vote_has__d_entries_in_known_flags
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x3f8], 0
jmp 0x57640e
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + 0x48]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3f8]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
mov edx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x1f4]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006afb31
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x1f0]
not eax
shr eax, 0x1f
movzx eax, al
test eax, eax
jne 0x576359
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.p___0
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x72d
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x3f8]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x1f0]
mov dword [edx], eax
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x1f0]
shl eax, 2
add edx, eax
mov eax, dword [edx]
add eax, 1
mov dword [edx], eax
mov dword [esp + 4], str.Named
mov eax, dword [ebp - 0x1f4]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5763ca
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x3f8]
mov dword [edx], eax
mov dword [esp + 4], 0x760007
mov eax, dword [ebp - 0x1f4]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5763fd
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x3f8]
mov dword [edx], eax
mov dword [ebp - 0x1f4], 0
add dword [ebp - 0x3f8], 1
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [ebp - 0x1f8]
jl 0x5762d2
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0x48]
mov edx, dword [ebp - 0x460]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add edx, eax
mov eax, dword [ecx + 4]
mov dword [edx], eax
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + 0xbc]
mov edx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x3fc]
shl eax, 2
add edx, eax
mov eax, dword [ecx + 4]
mov dword [edx], eax
mov dword [ebp - 0x1fc], 0
add dword [ebp - 0x3fc], 1
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [ebp - 0x2fc]
jl 0x576217
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x3f4], 0
jmp 0x5766a1
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3f4]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x20c], eax
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x3f4]
shl eax, 2
add eax, edx
mov eax, dword [eax]
test eax, eax
js 0x576699
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x3f4]
shl eax, 2
add eax, edx
mov ecx, dword [eax]
mov eax, 1
mov edx, 0
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x576503
mov edx, eax
xor eax, eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x3f0], 0
jmp 0x57667b
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + 0xbc]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3f0]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x204]
mov edx, dword [eax + 0xa4]
mov eax, dword [eax + 0xa0]
mov edi, eax
and edi, dword [ebp - 0x178]
mov dword [ebp - 0x4d0], edi
mov eax, edx
and eax, dword [ebp - 0x174]
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0x4d0]
mov edx, dword [ebp - 0x4cc]
mov edi, eax
xor edi, 0
mov dword [ebp - 0x4f0], edi
mov eax, edx
xor ah, 0
mov dword [ebp - 0x4ec], eax
mov esi, dword [ebp - 0x4f0]
mov edi, dword [ebp - 0x4ec]
mov eax, edi
or eax, esi
test eax, eax
je 0x57666a
mov eax, dword [ebp - 0x204]
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae15c
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
jne 0x576610
mov eax, dword [ebp - 0x204]
lea edx, [eax + 0x18]
mov eax, dword [ebp - 0x204]
add eax, 4
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae0d4
jmp 0x57666a
lea eax, [ebp - 0xb9]
cmp dword [ebp - 0x200], eax
je 0x57666a
mov eax, dword [ebp - 0x204]
add eax, 0x18
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x57666a
mov eax, dword [ebp - 0x204]
lea edx, [eax + 4]
lea eax, [ebp - 0xb9]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae0d4
mov dword [ebp - 0x204], 0
add dword [ebp - 0x3f0], 1
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x208]
jl 0x576533
mov dword [ebp - 0x20c], 0
jmp 0x57669a
nop
add dword [ebp - 0x3f4], 1
mov eax, dword [ebp - 0x3f4]
cmp eax, dword [ebp - 0x2f8]
jl 0x5764a2
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x3ec], 0
jmp 0x5768df
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3ec]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x3ec]
shl eax, 2
add eax, edx
mov eax, dword [eax]
test eax, eax
js 0x5768d7
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x3ec]
shl eax, 2
add eax, edx
mov ecx, dword [eax]
mov eax, 1
mov edx, 0
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x576732
mov edx, eax
xor eax, eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax + 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x3e8], 0
jmp 0x5768b9
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax + 0xbc]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3e8]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov edx, dword [eax + 0xa4]
mov eax, dword [eax + 0xa0]
mov edi, eax
and edi, dword [ebp - 0x180]
mov dword [ebp - 0x4d8], edi
mov eax, edx
and eax, dword [ebp - 0x17c]
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x4d4]
mov ebx, eax
xor bh, 0
mov dword [ebp - 0x4f8], ebx
mov eax, edx
xor ah, 0
mov dword [ebp - 0x4f4], eax
mov ebx, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x4f4]
mov eax, esi
or eax, ebx
test eax, eax
je 0x5768a8
mov eax, dword [ebp - 0x214]
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae15c
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0xb9]
cmp dword [ebp - 0x210], eax
je 0x5768a8
lea eax, [ebp - 0xa5]
cmp dword [ebp - 0x210], eax
je 0x5768a8
cmp dword [ebp - 0x210], 0
jne 0x57685c
mov eax, dword [ebp - 0x214]
lea edx, [eax + 4]
lea eax, [ebp - 0xa5]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae0d4
jmp 0x5768a8
mov eax, dword [ebp - 0x214]
add eax, 0x18
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x210]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x5768a8
mov eax, dword [ebp - 0x214]
lea edx, [eax + 4]
lea eax, [ebp - 0xb9]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae0d4
mov dword [ebp - 0x214], 0
add dword [ebp - 0x3e8], 1
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x218]
jl 0x576762
mov dword [ebp - 0x21c], 0
jmp 0x5768d8
nop
add dword [ebp - 0x3ec], 1
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x2f4]
jl 0x5766d1
mov dword [ebp - 0x400], 0
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x3e4], 0
jmp 0x57695a
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3e4]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
movzx eax, byte [eax + 8]
and eax, 1
test al, al
je 0x576949
add dword [ebp - 0x400], 1
mov dword [ebp - 0x220], 0
add dword [ebp - 0x3e4], 1
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x2f0]
jl 0x576916
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x4b0]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005c3817
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x3e0], 0
jmp 0x5769e8
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3e0]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x490]
mov eax, dword [ebp - 0x224]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005c39f5
mov dword [ebp - 0x224], 0
add dword [ebp - 0x3e0], 1
mov eax, dword [ebp - 0x3e0]
cmp eax, dword [ebp - 0x2ec]
jl 0x5769a4
mov edx, dword [ebp - 0x490]
mov eax, dword [ebp - 0x448]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005c3b7e
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + 4]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.006c5207
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x490]
mov dword [esp], eax
call fcn.005c3f20
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x410], 0
jmp 0x577eeb
mov edx, dword [ebp - 0x490]
mov eax, dword [ebp - 0x410]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.005c3f9b
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d0], 0
mov dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3b8], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3a8], 0
mov ecx, 0
mov eax, 0x18
and eax, 0xfffffffc
mov edx, eax
mov eax, 0
mov dword [ebp + eax - 0x170], ecx
add eax, 4
cmp eax, edx
jb 0x576afa
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + 4]
shl eax, 2
mov edx, dword [ebp - 0x484]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x480]
mov dword [esp], eax
call fcn.006c43c3
mov eax, dword [ebp - 0x47c]
mov dword [esp], eax
call fcn.006c43c3
mov eax, dword [ebp - 0x478]
mov dword [esp], eax
call fcn.006c43c3
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
call fcn.006c43c3
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0
mov dword [ebp - 0x39c], 0
jmp 0x576fde
mov eax, dword [ebp - 0x39c]
lea edx, [eax*4]
mov eax, dword [ebp - 0x254]
add eax, edx
mov eax, dword [eax]
test eax, eax
je 0x576fd6
mov eax, dword [ebp - 0x39c]
lea edx, [eax*4]
mov eax, dword [ebp - 0x254]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x250], eax
add dword [ebp - 0x3a8], 1
mov eax, dword [ebp - 0x250]
add eax, 0x18
mov dword [ebp - 0x3dc], eax
mov edx, dword [ebp - 0x480]
mov eax, dword [ebp - 0x250]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0xa8]
test eax, eax
je 0x576c52
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0xa8]
movzx eax, byte [eax]
test al, al
je 0x576c52
mov eax, dword [ebp - 0x250]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x478]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x576c80
mov eax, dword [ebp - 0x250]
mov edx, dword [eax + 0xac]
mov eax, dword [ebp - 0x474]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
mov dword [ebp - 0x398], 0
jmp 0x576d3b
mov eax, dword [ebp - 0x250]
mov edx, dword [eax + 0xa4]
mov eax, dword [eax + 0xa0]
mov ecx, dword [ebp - 0x398]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x576cb5
mov eax, edx
xor edx, edx
mov edi, eax
and edi, 1
mov dword [ebp - 0x4e0], edi
mov eax, edx
and eax, 0
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp - 0x4e0]
mov edx, dword [ebp - 0x4dc]
mov ebx, eax
xor bh, 0
mov dword [ebp - 0x500], ebx
mov eax, edx
xor ah, 0
mov dword [ebp - 0x4fc], eax
mov ebx, dword [ebp - 0x500]
mov esi, dword [ebp - 0x4fc]
mov eax, esi
or eax, ebx
test eax, eax
je 0x576d34
mov ecx, dword [ebp - 0x484]
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x39c]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 0x398]
shl eax, 2
add eax, edx
mov eax, dword [eax]
shl eax, 2
lea edx, [ecx + eax]
mov eax, dword [edx]
add eax, 1
mov dword [edx], eax
add dword [ebp - 0x398], 1
mov edx, dword [ebp - 0x460]
mov eax, dword [ebp - 0x39c]
shl eax, 2
add eax, edx
mov eax, dword [eax]
cmp dword [ebp - 0x398], eax
jl 0x576c8f
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x39c]
shl eax, 2
add eax, edx
mov eax, dword [eax]
test eax, eax
js 0x576e80
mov eax, dword [ebp - 0x250]
mov esi, dword [eax + 0xa0]
mov edi, dword [eax + 0xa4]
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x39c]
shl eax, 2
add eax, edx
mov ecx, dword [eax]
mov eax, esi
mov edx, edi
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x576dac
mov eax, edx
xor edx, edx
mov edi, eax
and edi, 1
mov dword [ebp - 0x4e8], edi
mov eax, edx
and eax, 0
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x4e8]
mov edx, dword [ebp - 0x4e4]
mov ebx, eax
xor bh, 0
mov dword [ebp - 0x508], ebx
mov eax, edx
xor ah, 0
mov dword [ebp - 0x504], eax
mov ebx, dword [ebp - 0x508]
mov esi, dword [ebp - 0x504]
mov eax, esi
or eax, ebx
test eax, eax
je 0x576e80
cmp dword [ebp - 0x3d0], 0
je 0x576e71
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x576e71
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Conflict_on_naming_for_router:__s_vs__s
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 5
call fcn.006bf072
mov dword [ebp - 0x3ac], 1
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x250]
movzx eax, byte [eax + 0x78]
and eax, 1
test al, al
je 0x576eb9
mov ecx, dword [ebp - 0x464]
mov edx, dword [ebp - 0x404]
lea eax, [edx + 1]
mov dword [ebp - 0x404], eax
mov eax, edx
shl eax, 2
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0x7c]
mov dword [edx], eax
mov eax, dword [ebp - 0x250]
movzx eax, byte [eax + 0xb0]
and eax, 1
test al, al
je 0x576ef8
mov ecx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x408]
lea eax, [edx + 1]
mov dword [ebp - 0x408], eax
mov eax, edx
shl eax, 2
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0xb4]
mov dword [edx], eax
mov eax, dword [ebp - 0x250]
movzx eax, byte [eax + 0x6d]
and eax, 0x20
test al, al
je 0x576f31
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x40c]
lea eax, [edx + 1]
mov dword [ebp - 0x40c], eax
mov eax, edx
shl eax, 2
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0x74]
mov dword [edx], eax
mov eax, dword [ebp - 0x250]
movzx eax, byte [eax + 0xb0]
and eax, 4
test al, al
je 0x576fd7
add dword [ebp - 0x3a4], 1
cmp dword [ebp - 0x3a0], 0
je 0x576fc3
mov eax, dword [ebp - 0x250]
add eax, 0xbc
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3a0]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x576fd7
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._0memcmp__ed_consensus_val___rs__ed25519_id___32___
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x7d0
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x250]
add eax, 0xbc
mov dword [ebp - 0x3a0], eax
jmp 0x576fd7
nop
add dword [ebp - 0x39c], 1
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
cmp dword [ebp - 0x39c], eax
jl 0x576ba7
mov edx, dword [ebp - 0x4b0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
cmp dword [ebp - 0x3a8], eax
jle 0x577eda
cmp dword [ebp - 0x3a4], 0
jle 0x577064
mov edx, dword [ebp - 0x4b0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
cmp dword [ebp - 0x3a4], eax
jg 0x577064
mov eax, dword [ebp - 0x3a4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Not_enough_entries_had_ed_consensus_set__how_can_we_have_a_consensus_of__d_
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
cmp dword [ebp - 0x3dc], 0
setne al
movzx eax, al
test eax, eax
jne 0x5770ae
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.current_rsa_id
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x7e6
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0
lea eax, [ebp - 0x91]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp - 0x480]
lea eax, [ebp - 0x170]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x91]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x448]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00570d41
mov dword [ebp - 0x250], eax
mov dword [esp + 8], 0x9c
mov dword [esp + 4], 0
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x250]
add eax, 0x18
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3dc]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x577184
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._0memcmp__current_rsa_id___rs__status.identity_digest___20___
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x7ef
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov edx, dword [ebp - 0x3dc]
mov eax, dword [edx]
mov dword [ebp - 0x140], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x13c], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x134], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x250]
add eax, 0x2c
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x250]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x250]
movzx eax, word [eax + 0x52]
mov word [ebp - 0x106], ax
mov eax, dword [ebp - 0x250]
movzx eax, word [eax + 0x50]
mov word [ebp - 0x108], ax
lea eax, [ebp - 0x170]
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 0x54
mov dword [esp], eax
call fcn.006b3861
movzx eax, word [ebp - 0x15c]
mov word [ebp - 0xf0], ax
movzx eax, byte [ebp - 0xeb]
and eax, 0xffffffdf
mov byte [ebp - 0xeb], al
movzx eax, byte [ebp - 0xeb]
and eax, 0xffffffbf
mov byte [ebp - 0xeb], al
cmp dword [ebp - 0x3d0], 0
je 0x57729b
cmp dword [ebp - 0x3ac], 0
jne 0x57729b
mov dword [esp + 8], 0x14
mov eax, dword [ebp - 0x3d0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 4
mov dword [esp], eax
call fcn.006c1a88
jmp 0x5772c1
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 4
mov dword [esp], eax
call fcn.006c1a88
lea eax, [ebp - 0x158]
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ae15c
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jne 0x577303
mov dword [ebp - 0x3c4], 0
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c8], eax
jmp 0x577351
mov dword [esp + 8], 0x14
mov eax, dword [ebp - 0x3dc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24c]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x57733d
mov dword [ebp - 0x3c8], 1
mov dword [ebp - 0x3c4], 0
jmp 0x577351
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 1
mov eax, dword [ebp - 0x47c]
mov dword [esp + 4], 0x76010c
mov dword [esp], eax
call fcn.006c45a9
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + 4]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x394], 0
jmp 0x577599
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov eax, dword [ebp - 0x394]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x228], eax
mov dword [esp + 4], str.Named
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5773e4
cmp dword [ebp - 0x3c8], 0
je 0x577588
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x228]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
jmp 0x577588
mov dword [esp + 4], 0x760007
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x577428
cmp dword [ebp - 0x3c4], 0
je 0x577588
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x228]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
jmp 0x577588
mov dword [esp + 4], str.NoEdConsensus
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x57747a
mov edx, dword [ebp - 0x4b0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
cmp dword [ebp - 0x3a4], eax
jg 0x577588
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x228]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
jmp 0x577588
mov edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x394]
shl eax, 2
add eax, edx
mov ecx, dword [eax]
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x394]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
cmp ecx, eax
jle 0x577588
mov edx, dword [ebp - 0x47c]
mov eax, dword [ebp - 0x228]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
mov dword [esp + 4], str.Exit
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5774f2
mov dword [ebp - 0x3b4], 1
jmp 0x577588
mov dword [esp + 4], 0x760113
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x577518
mov dword [ebp - 0x3b8], 1
jmp 0x577588
mov dword [esp + 4], str.Running
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x57753e
mov dword [ebp - 0x3c0], 1
jmp 0x577588
mov dword [esp + 4], str.BadExit
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x577564
mov dword [ebp - 0x3b0], 1
jmp 0x577588
mov dword [esp + 4], str.Valid
mov eax, dword [ebp - 0x228]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x577588
mov dword [ebp - 0x3bc], 1
mov dword [ebp - 0x228], 0
add dword [ebp - 0x394], 1
mov eax, dword [ebp - 0x394]
cmp eax, dword [ebp - 0x248]
jl 0x577385
cmp dword [ebp - 0x3c0], 0
je 0x577edd
cmp dword [ebp - 0x3bc], 0
je 0x577ee0
mov eax, dword [ebp - 0x478]
mov eax, dword [eax + 4]
test eax, eax
je 0x5775fe
mov eax, dword [ebp - 0x478]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.005acf01
mov eax, dword [ebp - 0x478]
mov dword [esp], eax
call fcn.006b0c8c
mov dword [ebp - 0x3d8], eax
jmp 0x577608
mov dword [ebp - 0x3d8], 0
mov eax, dword [ebp - 0x474]
mov eax, dword [eax + 4]
test eax, eax
je 0x577639
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
call fcn.006b0c50
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
call fcn.006b0c8c
mov dword [ebp - 0x3d4], eax
jmp 0x577643
mov dword [ebp - 0x3d4], 0
cmp dword [ebp - 0x3b8], 0
je 0x5776d3
cmp dword [ebp - 0x404], 2
jle 0x5776d3
movzx eax, byte [ebp - 0xe0]
or eax, 1
mov byte [ebp - 0xe0], al
mov edx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x404]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f228
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
cmp eax, 0x64
setbe al
movzx eax, al
test eax, eax
jne 0x5776d3
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.rs_out.guardfraction_percentage___100
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x84c
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
cmp dword [ebp - 0x408], 2
jle 0x57771c
movzx eax, byte [ebp - 0xeb]
or eax, 0x20
mov byte [ebp - 0xeb], al
movzx eax, byte [ebp - 0xeb]
and eax, 0x7f
mov byte [ebp - 0xeb], al
mov edx, dword [ebp - 0x468]
mov eax, dword [ebp - 0x408]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f228
mov dword [ebp - 0xe4], eax
jmp 0x577786
cmp dword [ebp - 0x40c], 0
jle 0x577786
movzx eax, byte [ebp - 0xeb]
or eax, 0x20
mov byte [ebp - 0xeb], al
movzx eax, byte [ebp - 0xeb]
or eax, 0xffffff80
mov byte [ebp - 0xeb], al
mov edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x40c]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0056f228
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x400], 2
jle 0x577786
mov eax, dword [ebp - 0xe4]
cmp dword [ebp - 0x444], eax
jae 0x577786
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x3b4], 0
je 0x57779f
cmp dword [ebp - 0x3b0], 0
jne 0x57779f
mov eax, 1
jmp 0x5777a4
mov eax, 0
mov dword [ebp - 0x3b4], eax
lea eax, [ebp - 0x190]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x198]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x1a0]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x1a8]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x1b0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x3b8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3b4]
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.005746d5
mov dword [ebp - 0x390], 0
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006c43c3
mov eax, dword [ebp - 0x480]
mov eax, dword [eax + 4]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x38c], 0
jmp 0x5779c6
mov eax, dword [ebp - 0x480]
mov edx, dword [eax]
mov eax, dword [ebp - 0x38c]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
add eax, 0x18
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 0x18
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
sete al
movzx eax, al
test eax, eax
jne 0x5778ba
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._0memcmp__rs_out.identity_digest___vsr__status.identity_digest___20___
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x880
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x22c]
movzx eax, byte [eax + 0x6d]
and eax, 0x40
test al, al
je 0x5779b5
mov eax, dword [ebp - 0x22c]
add eax, 0x2c
mov dword [esp + 8], 0x14
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x5779b5
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 0x80]
test eax, eax
setne al
movzx eax, al
test eax, eax
jne 0x57794e
mov dword [esp], str.src_feature_dirauth_dirvote.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.vsr__status.exitsummary
mov dword [esp + 8], 0x761a40
mov dword [esp + 4], 0x887
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x22c]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0x470]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
cmp dword [ebp - 0x390], 0
jne 0x577989
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x390], eax
jmp 0x5779b5
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax + 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x5779b5
mov dword [ebp - 0x3cc], 1
mov dword [ebp - 0x22c], 0
add dword [ebp - 0x38c], 1
mov eax, dword [ebp - 0x38c]
cmp eax, dword [ebp - 0x244]
jl 0x577834
cmp dword [ebp - 0x3cc], 0
je 0x577a96
mov dword [esp + 0xc], 0x14
lea eax, [ebp - 0x158]
add eax, 0x18
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x71]
mov dword [esp], eax
call fcn.006a583f
mov dword [esp + 0xc], 0x14
lea eax, [ebp - 0x158]
add eax, 0x2c
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.006a583f
lea eax, [ebp - 0x48]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x71]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.The_voters_disagreed_on_the_exit_policy_summary__for_router__s_with_descriptor__s.__This_really_shouldnt_have_happened.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006b0c50
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006b0c8c
mov dword [ebp - 0x390], eax
jmp 0x577c1d
cmp dword [ebp - 0x390], 0
jne 0x577c1d
mov dword [esp + 0xc], 0x14
lea eax, [ebp - 0x158]
add eax, 0x18
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x71]
mov dword [esp], eax
call fcn.006a583f
mov dword [esp + 0xc], 0x14
lea eax, [ebp - 0x158]
add eax, 0x2c
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.006a583f
lea eax, [ebp - 0x71]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Not_one_of_the_voters_that_made_us_selectdescriptor__s_for_router__s_had_an_exit_policysummary
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006c43c3
mov eax, dword [ebp - 0x480]
mov eax, dword [eax + 4]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x388], 0
jmp 0x577bb1
mov eax, dword [ebp - 0x480]
mov edx, dword [eax]
mov eax, dword [ebp - 0x388]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
movzx eax, byte [eax + 0x6d]
and eax, 0x40
test al, al
je 0x577ba0
mov eax, dword [ebp - 0x23c]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0x470]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
mov dword [ebp - 0x23c], 0
add dword [ebp - 0x388], 1
mov eax, dword [ebp - 0x388]
cmp eax, dword [ebp - 0x240]
jl 0x577b56
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006b0c50
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call fcn.006b0c8c
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
jne 0x577c1d
lea eax, [ebp - 0x71]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Wow__not_one_of_the_voters_had_an_exit_policy_summary_for__s.__Wow.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
cmp dword [ebp - 0x390], 0
je 0x577c42
movzx eax, byte [ebp - 0xeb]
or eax, 0x40
mov byte [ebp - 0xeb], al
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0x4c4], 1
jne 0x577c61
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.006c21a6
test eax, eax
jne 0x577ee3
mov dword [esp + 0x14], 0
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x374]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00531c84
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x577cc2
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x238]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c45a9
cmp dword [ebp - 0x4c4], 1
jne 0x577d0f
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.006c21a6
test eax, eax
jne 0x577d0f
lea eax, [ebp - 0x91]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.005d5816
mov edx, dword [ebp - 0x4a8]
lea eax, [ebp - 0x48]
mov dword [esp + 8], eax
mov dword [esp + 4], str.m__s_n
mov dword [esp], edx
call fcn.006af76c
mov eax, dword [ebp - 0x47c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x75f312
mov dword [esp], eax
call fcn.006b0168
mov edx, eax
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
cmp dword [ebp - 0x3d8], 0
je 0x577d80
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], 0x7602e2
mov dword [esp], eax
call fcn.006c470c
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x3d8]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.006c470c
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], 0x75ff1b
mov dword [esp], eax
call fcn.006c470c
cmp dword [ebp - 0x3d4], 0
je 0x577dc8
cmp dword [ebp - 0x448], 0x18
jle 0x577dc8
mov edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x3d4]
mov dword [esp + 8], eax
mov dword [esp + 4], str.pr__s_n
mov dword [esp], edx
call fcn.006af76c
movzx eax, byte [ebp - 0xeb]
and eax, 0x20
test al, al
je 0x577ea1
mov dword [ebp - 0x44c], 0
movzx eax, byte [ebp - 0xeb]
shr al, 7
movzx eax, al
mov dword [ebp - 0x234], eax
movzx eax, byte [ebp - 0xe0]
and eax, 1
test al, al
je 0x577e25
mov eax, dword [ebp - 0xdc]
mov dword [esp + 8], eax
mov dword [esp + 4], str._GuardFraction_u
lea eax, [ebp - 0x44c]
mov dword [esp], eax
call fcn.006c33ae
mov eax, dword [ebp - 0x44c]
test eax, eax
je 0x577e37
mov ebx, dword [ebp - 0x44c]
jmp 0x577e3c
mov ebx, 0x75f22a
cmp dword [ebp - 0x234], 0
je 0x577e4c
mov ecx, str._Unmeasured1
jmp 0x577e51
mov ecx, 0x75f22a
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x4a8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str.w_Bandwidth_d_s_s_n
mov dword [esp], edx
call fcn.006af76c
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x230]
mov dword [eax], 0
movzx eax, byte [ebp - 0xeb]
and eax, 0x40
test al, al
je 0x577ee4
cmp dword [ebp - 0x4c4], 0
jne 0x577ee4
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x4a8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.p__s_n
mov dword [esp], edx
call fcn.006af76c
jmp 0x577ee4
nop
jmp 0x577ee4
nop
jmp 0x577ee4
nop
jmp 0x577ee4
nop
add dword [ebp - 0x410], 1
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x2e8]
jl 0x576a50
lea eax, [ebp - 0x488]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2e4]
mov dword [eax], 0
lea eax, [ebp - 0x460]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2e0]
mov dword [eax], 0
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2dc]
mov dword [eax], 0
mov dword [ebp - 0x410], 0
jmp 0x577fbb
mov eax, dword [ebp - 0x458]
mov edx, dword [ebp - 0x410]
shl edx, 2
add eax, edx
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x258]
mov dword [eax], 0
add dword [ebp - 0x410], 1
mov eax, dword [ebp - 0x4ac]
mov eax, dword [eax + 4]
cmp dword [ebp - 0x410], eax
jl 0x577f81
lea eax, [ebp - 0x458]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2d8]
mov dword [eax], 0
lea eax, [ebp - 0x484]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2d4]
mov dword [eax], 0
lea eax, [ebp - 0x454]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2d0]
mov dword [eax], 0
lea eax, [ebp - 0x450]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2cc]
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x300]
mov dword [esp], eax
call fcn.006ac645
mov dword [ebp - 0x300], 0
lea eax, [ebp - 0x480]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x2c8]
mov dword [eax], 0
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x2c4]
mov dword [eax], 0
lea eax, [ebp - 0x478]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x2c0]
mov dword [eax], 0
lea eax, [ebp - 0x474]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x2bc]
mov dword [eax], 0
lea eax, [ebp - 0x470]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x2b8]
mov dword [eax], 0
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2b4]
mov dword [eax], 0
lea eax, [ebp - 0x468]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2b0]
mov dword [eax], 0
lea eax, [ebp - 0x464]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x2ac]
mov dword [eax], 0
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], str.directory_footer_n
mov dword [esp], eax
call fcn.006c470c
mov dword [ebp - 0x188], 0x2710
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x384], 0
cmp dword [ebp - 0x440], 0
je 0x57824d
mov dword [esp + 4], str.bwweightscale
mov eax, dword [ebp - 0x440]
mov dword [esp], eax
call fcn.006c2473
test eax, eax
jne 0x578231
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x384], eax
jmp 0x57824d
mov dword [esp + 4], str._bwweightscale
mov eax, dword [ebp - 0x440]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x384], 0
je 0x578389
mov dword [ebp - 0x44c], 0
mov dword [esp + 4], 0x3d
mov eax, dword [ebp - 0x384]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x578337
mov eax, dword [ebp - 0x2a8]
lea edx, [eax + 1]
mov dword [esp + 0x14], 0
lea eax, [ebp - 0x44c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x7fffffff
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa
mov dword [esp], edx
call fcn.006c2e18
cdq
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x44c]
test eax, eax
jne 0x578389
mov eax, dword [ebp - 0x384]
mov dword [esp], eax
call fcn.006bd8bd
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Bad_element__s_in_bw_weight_param
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov dword [ebp - 0x188], 0x2710
mov dword [ebp - 0x184], 0
jmp 0x578389
mov eax, dword [ebp - 0x384]
mov dword [esp], eax
call fcn.006bd8bd
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], str.Bad_element__s_in_bw_weight_param
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x2000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
mov dword [ebp - 0x188], 0x2710
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x190]
mov ebx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], edx
mov esi, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0x4d8], esi
mov dword [ebp - 0x4d4], edi
mov esi, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x4e0], esi
mov dword [ebp - 0x4dc], edi
mov esi, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
mov eax, dword [ebp - 0x4d0]
mov edx, dword [ebp - 0x4cc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [ebp - 0x4d8]
mov edx, dword [ebp - 0x4d4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebp - 0x4e0]
mov edx, dword [ebp - 0x4dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov edx, dword [ebp - 0x4e8]
mov dword [esp], edx
call fcn.00572a81
mov dword [ebp - 0x370], eax
cmp dword [ebp - 0x4c4], 0
setne al
movzx eax, al
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x4c4], 0
jne 0x57848c
mov eax, 0x14
jmp 0x578491
mov eax, 0x20
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], eax
call fcn.005d308b
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], 0x75f4ec
mov dword [esp], eax
call fcn.006c470c
mov eax, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x2a4]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x75f22a
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.005dc7ba
mov dword [esp + 8], 0
lea eax, [ebp - 0x71]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b4]
mov dword [esp], eax
call fcn.005d9686
mov dword [esp + 8], 0
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4b8]
mov dword [esp], eax
call fcn.005d9686
cmp dword [ebp - 0x4c4], 0
jne 0x57855e
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x48]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x71]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x75f223
mov dword [esp], eax
call fcn.006af76c
jmp 0x57858c
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x48]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x71]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x29c]
mov dword [esp + 8], edx
mov dword [esp + 4], str._s__s__s_n
mov dword [esp], eax
call fcn.006af76c
mov eax, dword [ebp - 0x4b8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.005b9e54
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
jne 0x5785ee
mov dword [esp + 0x10], str.Couldnt_sign_consensus_networkstatus.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
jmp 0x57885a
mov eax, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x298]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
cmp dword [ebp - 0x4bc], 0
je 0x57874f
cmp dword [ebp - 0x4c0], 0
je 0x57874f
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 4], 0x75f4ec
mov dword [esp], eax
call fcn.006c470c
mov dword [esp + 0xc], 0x14
mov eax, dword [ebp - 0x4bc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x29
lea eax, [ebp - 0x71]
mov dword [esp], eax
call fcn.006a583f
mov dword [esp + 8], 0
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c0]
mov dword [esp], eax
call fcn.005d9686
cmp dword [ebp - 0x4c4], 0
jne 0x5786a7
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x48]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x71]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x75f223
mov dword [esp], eax
call fcn.006af76c
jmp 0x5786d5
mov eax, dword [ebp - 0x4a8]
lea edx, [ebp - 0x48]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x71]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x29c]
mov dword [esp + 8], edx
mov dword [esp + 4], str._s__s__s_n
mov dword [esp], eax
call fcn.006af76c
mov eax, dword [ebp - 0x4c0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x91]
mov dword [esp], eax
call fcn.005b9e54
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
jne 0x578737
mov dword [esp + 0x10], str.Couldnt_sign_consensus_networkstatus.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
jmp 0x57885a
mov eax, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x298]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006c45a9
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x75f22a
mov dword [esp], eax
call fcn.006b0168
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x4a4]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [ebp - 0x4a4]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004d2910
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
test eax, eax
jne 0x578811
mov dword [esp + 0x10], str.Generated_a_networkstatus_consensus_we_couldnt_parse.
mov dword [esp + 0xc], str.networkstatus_compute_consensus
mov dword [esp + 4], 0x1000
mov dword [esp + 8], 0
mov dword [esp], 3
call fcn.006bf072
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x290]
mov dword [eax], 0
jmp 0x57885a
cmp dword [ebp - 0x370], 0
je 0x578832
mov eax, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x448]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004d02a3
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0051376d
mov eax, dword [ebp - 0x294]
mov dword [eax], 0
lea eax, [ebp - 0x490]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c38cb
mov eax, dword [ebp - 0x28c]
mov dword [eax], 0
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x288]
mov dword [eax], 0
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x284]
mov dword [eax], 0
lea eax, [ebp - 0x494]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x280]
mov dword [eax], 0
mov eax, dword [ebp - 0x498]
mov eax, dword [eax + 4]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x380], 0
jmp 0x578969
mov eax, dword [ebp - 0x498]
mov eax, dword [eax]
mov edx, dword [ebp - 0x380]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x25c]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x380], 1
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x27c]
jl 0x578915
lea eax, [ebp - 0x498]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x278]
mov dword [eax], 0
mov eax, dword [ebp - 0x4a8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x37c], 0
jmp 0x578a0e
mov eax, dword [ebp - 0x4a8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x37c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x260]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x37c], 1
mov eax, dword [ebp - 0x37c]
cmp eax, dword [ebp - 0x274]
jl 0x5789ba
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x270]
mov dword [eax], 0
mov eax, dword [ebp - 0x48c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x378], 0
jmp 0x578ab3
mov eax, dword [ebp - 0x48c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x378]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x44c], eax
lea eax, [ebp - 0x44c]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x264]
mov dword [eax], 0
mov dword [ebp - 0x44c], 0
add dword [ebp - 0x378], 1
mov eax, dword [ebp - 0x378]
cmp eax, dword [ebp - 0x26c]
jl 0x578a5f
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.006c4359
mov eax, dword [ebp - 0x268]
mov dword [eax], 0
mov eax, dword [ebp - 0x4a4]
mov esi, dword [ebp - 0x1c]
xor esi, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x578aff
call sub.libssp_0.dll___stack_chk_fail
add esp, 0x54c
pop ebx
pop esi
pop edi
pop ebp
ret