Function at 0x406410
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], edi
mov dword [esp + 8], 0x50e
mov dword [esp + 4], 0x406328
mov dword [esp], 0x402443
call sym._updatecontext_f
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x406462
mov dword [esp], esi
mov dword [esp + 4], 0x406331
call sym._u_respond
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov dword [esp], eax
call sym._atoi
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x406445
mov dword [esp], 0x43a760
call sym._irlist_size
cmp dword [ebp - 0x10], eax
jg 0x406445
mov eax, dword [ebp - 0x10]
mov dword [esp], 0x43a760
dec eax
mov dword [esp + 4], eax
call sym._irlist_get_nth
mov dword [esp], 0x43a778
mov edi, eax
call sym._irlist_get_head
test eax, eax
mov ebx, eax
je 0x4064d0
lea esi, [esi]
cmp dword [ebx + 0x90], 4
je 0x4064c2
cmp dword [ebx + 0x68], edi
je 0x4066ac
mov dword [esp], ebx
call sym._irlist_get_next
test eax, eax
mov ebx, eax
jne 0x4064b0
mov dword [esp], 0x43a76c
call sym._irlist_get_head
test eax, eax
mov ebx, eax
je 0x406506
lea esi, [esi]
lea edi, [edi]
cmp dword [ebx], edi
je 0x406660
mov dword [esp], ebx
call sym._irlist_get_next
test eax, eax
mov ebx, eax
jne 0x4064f0
mov eax, dword [edi + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x406349
mov dword [esp], esi
mov dword [esp + 8], eax
call sym._u_respond
cmp dword [0x43a7b0], edi
je 0x40660f
mov eax, dword [edi + 0x48]
test eax, eax
jne 0x4065ee
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x4065cd
lea eax, [edi + 0x58]
mov dword [esp], eax
call sym._irlist_size
test eax, eax
jne 0x4065af
mov eax, dword [edi]
mov dword [esp], eax
call sym._mydelete2
mov dword [edi], 0
mov eax, dword [edi + 4]
mov dword [esp], eax
call sym._mydelete2
mov dword [edi + 4], 0
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._mydelete2
mov dword [edi + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 0x43a760
call sym._irlist_delete
call sym._write_statefile
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
jmp sym._xdccsavetext
mov dword [esp + 8], 0x40635e
mov dword [esp + 4], 0x543
mov dword [esp], 0x402443
call sym.___assert
jmp 0x406555
mov dword [esp + 8], 0x406377
mov dword [esp + 4], 0x541
mov dword [esp], 0x402443
call sym.___assert
jmp 0x406546
mov dword [esp + 8], 0x40638e
mov dword [esp + 4], 0x540
mov dword [esp], 0x402443
call sym.___assert
jmp 0x40653b
mov dword [esp + 4], 0x4063a7
mov dword [esp], 2
call sym._outerror
mov edx, dword [0x43a7b4]
mov eax, 0xfffffffe
mov ecx, edx
mov ebx, edx
and ecx, 0x1f
rol eax, cl
shr ebx, 5
and dword [ebx*4 + 0x438d18], eax
mov dword [esp], edx
call sym._close
xor eax, eax
mov dword [0x43a7b4], eax
xor eax, eax
mov dword [0x43a7b0], eax
jmp 0x406530
mov dword [esp + 4], 0x4063d0
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym._notice
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym._mydelete2
mov dword [ebx + 4], 0
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._mydelete2
mov dword [ebx + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x43a76c
call sym._irlist_delete
jmp 0x406500
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4063f4
mov dword [esp], ebx
call sym._t_closeconn
jmp 0x4064c2