Function at 0x407d80
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x24
push edi
push str.AX25DUMP
mov dword [esp + 8], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edi, dword [esp + 0x30]
cmp edi, 8
jge 0x407db3
mov eax, dword [esp + 0x34]
push 0x44e6dc
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
pop edi
add esp, 0x24
ret 0xc
push ebx
mov ebx, dword [esp + 0x30]
test byte [ebx + 1], 1
push ebp
push esi
je 0x407ec5
mov ebp, dword [esp + 0x40]
push 0x44e6f0
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [ebx + 2]
mov cl, al
shr cl, 2
add cl, 0x20
and al, 3
mov byte [esp + 0x24], cl
mov cl, byte [ebx + 3]
add al, 2
mov dl, cl
shl al, 4
shr dl, 4
add al, dl
mov byte [esp + 0x25], al
mov al, byte [ebx + 4]
and cl, 0xf
mov dl, al
add cl, 8
and al, 0x3f
add al, 0x20
shl cl, 2
shr dl, 6
add cl, dl
mov byte [esp + 0x27], al
mov al, byte [ebx + 5]
mov byte [esp + 0x26], cl
mov cl, al
shr cl, 2
add cl, 0x20
and al, 3
mov byte [esp + 0x28], cl
mov cl, byte [ebx + 6]
add al, 2
mov dl, cl
shl al, 4
shr dl, 4
add al, dl
test cl, 0xf
mov dword [esp + 0x14], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2a], 0
mov byte [esp + 0x29], al
je 0x407e69
and ecx, 0xf
push ecx
lea eax, [esp + 0x2f]
push 0x44e6f8
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x2b]
push ecx
lea edx, [esp + 0x28]
push 0x44e6fc
push edx
call fcn.00439958
movzx ecx, byte [ebx]
add esp, 8
push eax
movzx eax, byte [ebx + 1]
shr eax, 2
shl ecx, 6
or eax, ecx
push eax
push ebp
push str._s_d___s_s
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
mov dl, byte [ebx + 1]
and dl, 2
add esp, 0x18
neg dl
mov dword [esp + 0x40], 0x4664cd
sbb edx, edx
add edx, 2
add ebx, 7
mov dword [esp + 0x38], edx
sub edi, 7
jmp 0x407ff3
cmp edi, 0xf
jge 0x407ee4
mov eax, dword [esp + 0x40]
push str.AX25:_bad_header__n
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
test byte [ebx + 0xd], 0x40
mov ebp, dword [esp + 0x40]
je 0x407efd
mov dword [esp + 0x14], 0
push str.AX25:
jmp 0x407f0a
mov dword [esp + 0x14], 1
push str.EAX25:
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
test byte [ebx + 0xd], 0x20
mov dword [esp + 0x40], 0x4664ce
jne 0x407f27
mov dword [esp + 0x40], str.__DAMA_
lea ecx, [ebx + 7]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.00404c00
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ebp
push 0x44e738
push ebp
call esi
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.00404c00
push eax
push ebp
push str._s_To__s
push ebp
call esi
mov cl, byte [ebx + 6]
add esp, 0x30
and cl, 0x80
mov dword [esp + 0x38], 0
je 0x407f7c
mov al, byte [ebx + 0xd]
test al, al
js 0x407f7c
mov dword [esp + 0x38], 1
xor eax, eax
mov al, byte [ebx + 0xd]
test al, al
jns 0x407f91
test cl, cl
jne 0x407f91
mov dword [esp + 0x38], 2
and eax, 1
sub edi, 0xe
add ebx, 0xe
test eax, eax
mov dword [esp + 0x3c], edi
jne 0x407ff7
push 0x44e74c
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, edi
mov al, byte [ebx + 6]
test al, al
mov eax, 0x44e750
js 0x407fc1
mov eax, 0x4664cf
push eax
lea ecx, [esp + 0x28]
push ebx
push ecx
call fcn.00404c00
add esp, 8
push eax
push ebp
push str._s__s_s
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
xor eax, eax
mov al, byte [ebx + 6]
add esp, 0x14
add ebx, 7
sub edi, 7
and eax, 1
test eax, eax
je 0x407fb0
mov dword [esp + 0x3c], edi
test edi, edi
je 0x40834c
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
mov eax, ebx
call fcn.00404c90
mov edi, dword [esp + 0x40]
add ebx, eax
sub edi, eax
mov eax, dword [esp + 0x18]
call fcn.00404ae0
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ebp
push 0x44e75c
push ebp
call esi
mov eax, dword [esp + 0x4c]
add esp, 0x14
dec eax
je 0x408064
dec eax
jne 0x408084
push 0x44e76c
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x408084
push 0x44e770
jmp 0x40807d
push 0x44e764
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x408084
push 0x44e768
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40809d
mov eax, dword [esp + 0x1c]
push eax
push ebp
push str._s_S_d
push ebp
call esi
add esp, 0x10
mov ecx, dword [esp + 0x14]
and ecx, 3
cmp cl, 3
je 0x4080ba
mov edx, dword [esp + 0x20]
push edx
push ebp
push str._s_R_d
push ebp
call esi
add esp, 0x10
push 0x44e784
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4081bf
cmp eax, 3
je 0x4081bf
cmp eax, 0x87
jne 0x408172
cmp edi, 3
jl 0x4081a4
movzx eax, byte [ebx]
push eax
push ebp
push str._s:__02X
push ebp
call esi
movzx eax, byte [ebx + 1]
mov ecx, eax
shr ecx, 1
and ecx, 7
push ecx
shr eax, 5
push eax
push ebp
push str._s_Vr___d_Vs___d
push ebp
call esi
mov al, byte [ebx + 2]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 0x24
test al, 1
je 0x40812d
push str._Invalid_control_field
push ebp
call edi
test byte [ebx + 2], 2
je 0x40813b
push str._Illegal_I_field
push ebp
call edi
test byte [ebx + 2], 4
je 0x408149
push str._Too_long_I_field
push ebp
call edi
test byte [ebx + 2], 8
je 0x408157
push str._Invalid_seq_number
push ebp
call edi
mov edx, dword [esp + 0x40]
push edx
push ebp
push 0x44e8ac
push ebp
call esi
add esp, 0x10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
cmp eax, 0x2f
je 0x40817c
cmp eax, 0x63
jne 0x4081a4
cmp edi, 2
jl 0x4081a4
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov ch, byte [ebx]
push eax
mov cl, byte [ebx + 1]
push ecx
push ebp
push str._s___d__s_n
push ebp
call esi
add esp, 0x14
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov edx, dword [esp + 0x40]
push edx
push ebp
push str._s_s_n
push ebp
call esi
add esp, 0x10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
test edi, edi
jle 0x40834c
movzx eax, byte [ebx]
inc ebx
dec edi
cmp eax, 8
mov dword [esp + 0x3c], eax
jne 0x408218
movzx eax, byte [ebx]
inc ebx
mov ecx, eax
dec edi
and ecx, 0x80
mov dword [esp + 0x38], ecx
mov ecx, str._First_seg_
jne 0x4081f2
mov ecx, 0x4664d0
and eax, 0x7f
push eax
push ecx
push ebp
push str._s_s_remain__u
push ebp
call esi
mov eax, dword [esp + 0x4c]
add esp, 0x14
test eax, eax
je 0x408214
movzx eax, byte [ebx]
inc ebx
mov dword [esp + 0x3c], eax
dec edi
mov eax, dword [esp + 0x3c]
lea ecx, [eax - 1]
cmp ecx, 0xef
ja case.0x40822e.2
movzx ecx, byte [ecx + 0x40837c]
jmp dword [ecx*4 + 0x408358]
mov edx, dword [esp + 0x40]
push edx
push ebp
push 0x44e7a4
jmp 0x408311
mov ecx, dword [esp + 0x40]
push ecx
push ebp
push str._s_pidARP_s_n
push ebp
call esi
add esp, 0x10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov edx, dword [esp + 0x40]
push edx
push ebp
push str._s_pidNET_ROM_s_n
push ebp
call esi
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ebp
add edi, 0xfffffffe
push edi
push ebx
call fcn.00407810
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov eax, dword [esp + 0x40]
push eax
push ebp
push str._s_pidIP_s_n
push ebp
call esi
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ebp
add edi, 0xfffffffe
push edi
push ebx
call fcn.00404740
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov ecx, dword [esp + 0x40]
push ecx
push ebp
push str._s_pidX.25_s_n
push ebp
call esi
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ebp
add edi, 0xfffffffe
push edi
push ebx
call fcn.00407340
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov edx, dword [esp + 0x40]
push edx
push ebp
push str._s_pidTEXNET_s_n
jmp 0x408311
mov ecx, dword [esp + 0x40]
push ecx
push ebp
push str._s_pidFLEXNET_s_n
push ebp
call esi
add esp, 0x10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc
mov edx, dword [esp + 0x40]
push edx
push ebp
push str._s_pidText_s_n
push ebp
call esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x334]
add esp, 0x10
push eax
jmp 0x408341
mov ecx, dword [esp + 0x40]
push ecx
push eax
push ebp
push str._s_pid0x_x_s_n
push ebp
call esi
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x334]
add esp, 0x14
push edx
push ebp
add edi, 0xfffffffe
push edi
push ebx
call fcn.00401f60
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x24
ret 0xc