Function at 0x4018fb
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push ebx
mov eax, 0x1e48
call fcn.0040231c
call sym.___main
mov dword [esp + 0x1e38], 0
mov dword [esp + 0x1e34], 0
mov dword [esp], str._tHuffmanCoding
call sym._puts
mov dword [esp], str.please_input_information_:
call sym._printf
lea eax, [esp + 0x1dd0]
mov dword [esp], eax
call sym._gets
lea eax, [esp + 0x1e38]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x28]
mov dword [esp + 8], eax
lea eax, [esp + 0x1e34]
mov dword [esp + 4], eax
lea eax, [esp + 0x1dd0]
mov dword [esp], eax
call dbg.CreateWeight
mov dword [esp], str.WeightInformation_n__Node
call sym._printf
mov dword [esp + 0x1e3c], 1
jmp 0x4019d1
mov edx, dword [esp + 0x1e3c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 2
lea edx, [esp + 0x1e40]
lea eax, [edx + eax]
sub eax, 0x1e18
mov al, byte [eax + 4]
movsx eax, al
mov dword [esp + 4], eax
mov dword [esp], str._c
call sym._printf
inc dword [esp + 0x1e3c]
mov eax, dword [esp + 0x1e38]
cmp dword [esp + 0x1e3c], eax
jle 0x401995
mov dword [esp], str._nWeight
call sym._printf
mov dword [esp + 0x1e3c], 1
jmp 0x401a32
mov edx, dword [esp + 0x1e3c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 2
lea esi, [esp + 0x1e40]
lea eax, [esi + eax]
sub eax, 0x1e18
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], str._d
call sym._printf
inc dword [esp + 0x1e3c]
mov eax, dword [esp + 0x1e38]
cmp dword [esp + 0x1e3c], eax
jle 0x4019fa
mov eax, dword [esp + 0x1e38]
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
lea eax, [esp + 0x1150]
mov dword [esp], eax
call dbg.CreateHuffmanTree
mov dword [esp], str._nHuffamnTreeInformation
call sym._puts
mov dword [esp], str._ti_tweight_tparent_tLChild_tRChild
call sym._puts
mov dword [esp + 0x1e3c], 1
jmp 0x401b26
mov eax, dword [esp + 0x1e3c]
shl eax, 4
lea edx, [esp + 0x1e40]
lea eax, [edx + eax]
sub eax, 0xce4
mov ebx, dword [eax]
mov eax, dword [esp + 0x1e3c]
shl eax, 4
lea esi, [esp + 0x1e40]
lea eax, [esi + eax]
sub eax, 0xce8
mov ecx, dword [eax]
mov eax, dword [esp + 0x1e3c]
shl eax, 4
lea edx, [esp + 0x1e40]
lea eax, [edx + eax]
sub eax, 0xcec
mov edx, dword [eax]
mov eax, dword [esp + 0x1e3c]
shl eax, 4
lea esi, [esp + 0x1e40]
lea eax, [esi + eax]
sub eax, 0xcf0
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1e3c]
mov dword [esp + 4], eax
mov dword [esp], str._t_d_t_d_t_d_t_d_t_d_n
call sym._printf
inc dword [esp + 0x1e3c]
mov eax, dword [esp + 0x1e38]
shl eax, 1
dec eax
cmp eax, dword [esp + 0x1e3c]
jge 0x401a8c
mov edx, dword [esp + 0x1e38]
mov eax, dword [esp + 0x1e34]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x28]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb14]
mov dword [esp + 8], eax
lea eax, [esp + 0x1dd0]
mov dword [esp + 4], eax
lea eax, [esp + 0x1150]
mov dword [esp], eax
call dbg.CrtHuffmanNodeCode
mov dword [esp], str.___NodeCode
call sym._puts
mov dword [esp + 0x1e3c], 1
jmp 0x401beb
mov edx, dword [esp + 0x1e3c]
mov eax, edx
shl eax, 1
add eax, edx
shl eax, 2
lea edx, [esp + 0x1e40]
lea eax, [edx + eax]
sub eax, 0x1e18
mov al, byte [eax + 4]
movsx eax, al
mov dword [esp + 4], eax
mov dword [esp], str._t_c:
call sym._printf
mov eax, dword [esp + 0x1e3c]
mov eax, dword [esp + eax*4 + 0xb14]
mov dword [esp], eax
call sym._puts
inc dword [esp + 0x1e3c]
mov eax, dword [esp + 0x1e38]
cmp dword [esp + 0x1e3c], eax
jle 0x401b99
mov edx, dword [esp + 0x1e34]
mov eax, dword [esp + 0x1e38]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x28]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x4d8]
mov dword [esp + 8], eax
lea eax, [esp + 0xb14]
mov dword [esp + 4], eax
lea eax, [esp + 0x1dd0]
mov dword [esp], eax
call dbg.CrtHuffmanCode
mov dword [esp], str.StringCode
call sym._puts
mov dword [esp + 0x1e3c], 0
jmp 0x401c7c
mov eax, dword [esp + 0x1e3c]
mov eax, dword [esp + eax*4 + 0x4d8]
mov dword [esp + 4], eax
mov dword [esp], 0x404120
call sym._printf
inc dword [esp + 0x1e3c]
mov eax, dword [esp + 0x1e34]
cmp dword [esp + 0x1e3c], eax
jl 0x401c57
mov dword [esp], str.pause
call sym._system
mov edx, dword [esp + 0x1e34]
mov eax, dword [esp + 0x1e38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x4d8]
mov dword [esp + 8], eax
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
lea eax, [esp + 0x1150]
mov dword [esp], eax
call dbg.TrsHuffmanTree
mov edx, dword [esp + 0x1e34]
mov eax, dword [esp + 0x1e38]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
lea eax, [esp + 0x4d8]
mov dword [esp + 4], eax
lea eax, [esp + 0xb14]
mov dword [esp], eax
call dbg.FreeHuffmanCode
mov dword [esp], str.pause
call sym._system
add esp, 0x1e48
pop ebx
pop esi
leave
ret