Function at 0x421140
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x14
mov dword [esp + 8], 0x5dd
mov dword [esp + 4], 0x4210ee
mov dword [esp], 0x41cb50
call sym._updatecontext_f
call sym.___getreent
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
call sym.___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._fflush
call sym._fork
test eax, eax
js 0x421242
test eax, eax
jg 0x42125b
xor ebx, ebx
lea esi, [esi]
mov dword [esp], ebx
inc ebx
call sym._close
cmp ebx, 2
jle 0x4211a0
call sym._setsid
test eax, eax
js 0x421229
call sym._fork
test eax, eax
js 0x421213
test eax, eax
jg 0x42125b
mov dword [esp + 4], 2
mov dword [esp], 0x4210fb
call sym._open
mov dword [esp], eax
mov ebx, eax
call sym._dup
mov dword [esp], ebx
mov ebx, 2
call sym._dup
mov dword [esp + 4], 0x421105
mov dword [esp], 0
call sym._mylog
mov dword [0x438a54], ebx
add esp, 0x14
pop ebx
pop ebp
ret
mov dword [esp + 4], 0x42111d
mov dword [esp], 0
call sym._outerror
jmp 0x4211c8
mov dword [esp + 4], 0x42112c
mov dword [esp], 0
call sym._outerror
jmp 0x4211b7
mov dword [esp + 4], 0x42111d
mov dword [esp], 0
call sym._outerror
jmp 0x421198
mov dword [esp], 0
call sym._exit
js 0x4212d3
je 0x4212d1
and byte fs:[eax], ch
jae 0x4212da
outsb dx, byte [si]
popal
insb byte es:[edi], dx
and byte [esi + 0x6f], ah
jb 0x4212dd
and dword fs:[ecx], ebp
or cl, byte [edx]
add byte [ebp + 0x78], ah
imul esi, dword [ebp + 0x64], 0x69732820
outsb dx, byte [si]
popal
insb byte es:[edi], dx
and byte [esi + 0x6f], ah
jb 0x4212f7
and dword fs:[ecx], ebp
add byte [eax - 0x6f6f6f70], dl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
and dword [ecx], esp
and dword [eax], esp
jb 0x42131b
arpl word [ebp + 0x69], sp
jbe 0x421320
and byte fs:[ecx + 0x20], ah
popaw
je 0x421324
insb byte es:[edi], dx
and byte [ebx + 0x69], dh
outsb dx, byte [si]
popal
insb byte es:[edi], dx
and byte cs:[ecx], ah
and dword [ecx], esp
add byte [ebx + 0x69], dl
push ebx
imul esp, dword [edi + 0x6e], 0x25206c61
and byte fs:[eax], ch
outsb dx, byte [si]
popal
insb byte es:[edi], dx
and byte [0x25282064], ah
and byte [eax], ch
and eax, 0x43002973
outsd dx, dword [esi]
jae 0x421308
add byte [ebx + 0x6f], al
outsb dx, byte [esi]
je 0x42134a
js 0x42135b
and byte [edx + esi*2 + 0x61], dl
arpl word [ebp + 0x3a], sp
add byte [eax + 0x73617243], dl
push 0x2e676e69
and byte cs:[eax + 0x6c], dl
and byte cs:[bx + si + 0x6c], dl
popal
jae 0x421367
and byte [edx + 0x65], dh
jo 0x421376
jb 0x42137d
je 0x42132a
and byte [eax + ebp*2 + 0x69], dh
jae 0x42132f
je 0x421374
imul esi, dword [ebx + 0x20], 0x626f7270
insb byte es:[edi], dx
insd dword es:[edi], dx
jo 0x421383
outsd dx, dword [esi]
bound ebp, qword [ebp + 0x6d]
and byte [edi + ebp*2 + 0x20], dh
push eax
dec ebp
inc edi
add byte [esi + 0x61], al
jne 0x42138e
je 0x42138d
outsb dx, byte [esi]
and byte [bx + di + 0x64], al
jb 0x421391
jb 0x421391
jae 0x4213a1
cmp ah, byte [eax]
xor byte [eax + 0x25], bh
and byte [eax], dh
js 0x421358
cmp byte cs:[eax + ebx*2], ch
outsb dx, byte [esi]
outsd dx, dword [esi]
outsb dx, byte [esi]
sub eax, 0x73697865
je 0x4213a3
outsb dx, byte [esi]
je 0x421365
jo 0x4213af
jns 0x4213bc
imul esp, dword [ebx + 0x61], 0x6461206c
arpl word [ecx + 0x6c], sp
and byte [ecx + 0x64], ah
jb 0x4213b8
jae 0x4213c8
add byte [ecx + 0x6e], ch
jbe 0x4213bb
insb byte es:[edi], dx
imul esp, dword [eax + 0x61], 0x65726464
jae 0x4213d8
and byte [ecx + 0x6c], ah
insb byte es:[edi], dx
imul esp, dword [edi + 0x6e], 0x746e656d
add byte [ebp + 0x6e], dl
imul ebp, dword [esi + 0x6f], 0x77
outsd dx, dword [esi]
ja 0x4213e5
outsb dx, byte [esi]
add byte [ebx + 0x6f], al
cmp ah, byte gs:[eax]
and eax, 0xdeb0073
and byte [0xdeb0073], ah
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
outsd dx, dword [esi]
bound ebp, qword [edx + 0x65]
arpl word [eax + 0x73], si
jo 0x4213ff
arpl word [ecx + 0x66], bp
imul esp, dword [ebx + 0x20], 0x64726168
popal
jb 0x421408
ja 0x421407
ja 0x421407
jb 0x42140d
and byte [ebp + 0x72], ah
jb 0x42141c
jb 0x4213af
imul ebp, dword [esp + ebp*2 + 0x65], 0x206c6167
outsd dx, dword [esi]
jo 0x42141d
outsd dx, dword [esi]
add byte gs:[ecx + 0x6c], ch
add byte gs:[ecx + 0x6c], ch
insb byte es:[edi], dx
popal
insb byte es:[edi], dx
and byte [edi + 0x70], ch
jb 0x42142c
outsb dx, byte [esi]
add byte fs:[ecx + 0x6c], ch
insb byte es:[edi], dx
popal
insb byte es:[edi], dx
and byte [ecx + 0x64], ah
jb 0x421440
jae 0x421450
imul ebp, dword [esi + 0x67], 0x646f6d20
add byte gs:[ecx + 0x6c], ch
add byte [ecx + 0x6c], ch
insb byte es:[edi], dx
popal
insb byte es:[edi], dx
and byte [edx + esi*2 + 0x61], dh
jo 0x4213f3
jo 0x421467
imul esi, dword [esi + 0x69], 0x6567656c
and byte fs:[edi + 0x70], ch
arpl word [edi + 0x64], bp
add byte gs:[eax + 0x72], dh
jo 0x421464
outsd dx, dword [esi]
add byte gs:[eax + 0x72], dh
imul esi, dword [esi + 0x69], 0x6567656c
and byte fs:[edx + 0x65], dh
jbe 0x421473
insb byte es:[edi], dx
and byte fs:[bp + si + 0x65], dh
and byte fs:[edx + 0x65], dh
imul esi, dword [bp + di + 0x74], 0x63007265
outsd dx, dword [esi]
jo 0x42148f
jb 0x42148d
outsd dx, dword [esi]
arpl word [ebp + 0x73], sp
jae 0x421492
jb 0x421445
jb 0x42149a
outsd dx, dword [esi]
jb 0x42142b
imul ebp, dword [esi + 0x74], 0x616e7265
outsb dx, byte [esi]
je 0x421494
jb 0x42149f
popal
insb byte es:[edi], dx
and byte [ebx + 0x74], dh
popal
arpl word [ebx + 0x20], bp
jb 0x4214af
outsd dx, dword [esi]
jb 0x421440
imul ebp, dword [esi + 0x74], 0x72656765
and byte [ecx + ebp*2 + 0x76], ah
imul esp, dword [ebp + 0x20], 0x7a207962
jb 0x4214c5
jb 0x421468
imul esi, dword fs:[esi + 0x69], 0x62206564
jns 0x421472
jp 0x4214b9
jb 0x4214c5
add byte [ecx + 0x6e], ch
je 0x4214c0
jb 0x42147f
outsd dx, dword [esi]
jbe 0x4214c7
jb 0x4214ca
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x421468
add byte [esi + 0x6c], ah
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
je 0x4214d7
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
outsd dx, dword [esi]
imul ebp, dword [esi + 0x74], 0x76696420
imul esp, dword [ebp + 0x20], 0x7a207962
jb 0x4214f4
jns 0x4214a1
jp 0x4214e8
jb 0x4214f4
add byte [esi + 0x6c], ah
outsd dx, dword [esi]
popal
je 0x4214f5
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
jo 0x421500
imul ebp, dword [esi + 0x74], 0x65766f20
outsb dx, byte [esi]
je 0x4214b5
and byte [edi + 0x76], ch
jb 0x421500
outsd dx, dword [esi]
jbe 0x4214fd
jb 0x421500
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x42149e
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
je 0x42150d
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
imul ebp, dword [esi + 0x74], 0x646e7520
jb 0x421519
jb 0x421519
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x4214b7
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
je 0x421526
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
jo 0x421531
imul ebp, dword [esi + 0x74], 0x656e6920
js 0x42152c
and byte [ecx + 0x6e], ch
outsb dx, byte [esi]
js 0x42152c
popal
arpl word [eax + 0x72], si
jae 0x421547
insb byte es:[edi], dx
je 0x4214d5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
insb byte es:[edi], dx
outsd dx, dword [esi]
popal
je 0x42155f
imul ebp, dword [esi + 0x67], 0x696f7020
outsb dx, byte [esi]
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
imul ebp, dword [esi + 0x74], 0x766e6920
popal
je 0x42151f
imul ebp, dword [esi + 0x76], 0x64696c61
and byte [edi + 0x70], ch
jb 0x42156d
outsb dx, byte [esi]
jbe 0x421564
insb byte es:[edi], dx
imul esp, dword [eax + 0x6f], 0x61726570
je 0x421577
imul ebp, dword [edi + 0x6e], 0x62757300
jae 0x421579
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [ebx + 0x75], dh
bound esi, qword [ebx + 0x63]
jb 0x421581
jo 0x42158e
je 0x42153b
and byte [edi + 0x75], ch
je 0x42153f
outsd dx, dword [esi]
jne 0x421592
and byte [edi + 0x66], ch
and byte [edx + 0x61], dh
outsd dx, dword [esi]
and byte [edx + 0x61], dh
outsb dx, byte [esi]
add byte gs:[bx + di + 0x64], ah
add byte gs:[ecx + 0x64], ah
jb 0x421592
jae 0x4215a2
jae 0x4215a2
and byte [esi + 0x6f], ch
outsd dx, dword [esi]
je 0x421554
insd dword es:[edi], dx
popal
jo 0x4215a8
and byte fs:[edi + ebp*2 + 0x20], dh
outsd dx, dword [esi]
je 0x4215ac
and byte [edi + 0x62], ch
push 0x65
bound ebp, qword [edx + 0x65]
arpl word [eax + eax - 0x73], si
je 0x42156e
add byte es:[ebp + 0x27bc], cl
add byte [ebp + 0x27bc], cl
add byte [eax], al
imul ebp, dword [esi + 0x76], 0x64696c61
and byte [eax + 0x65], dh
jb 0x4215c9
insb byte es:[edi], dx
imul esp, dword [eax + 0x70], 0x696d7265
jae 0x4215d2
imul esi, dword [ebx + 0x73], 0x736e6f69
and byte [esi + 0x6f], ah
imul ebp, dword [edi + 0x6e], 0x6f662073
outsw dx, word [esi]
jb 0x421588
insd dword es:[edi], dx
popal
jo 0x4215dc
and byte fs:[edi + 0x62], ch
and byte fs:[edi + 0x62], ch
and byte [edi + 0x62], ch
push 0x65
arpl word [eax + eax - 0x73], si
jbe 0x421579
lea edi, [edi]
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 4], esi
cld
mov esi, dword [ebp + 8]
mov dword [ebp - 8], ebx
clc
mov ebx, dword [ebp + 0xc]
cmp esi, 0x1f
ja case.0x42159b.0
jmp dword [esi*4 + 0x4215a4]
mov esi, esi
cwde
push ss
inc edx
add byte [eax + 0x24004216], bl
push ss
cwde
push ss
inc edx
add byte [esi + edx], ah
and al, 0x16
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax + 0x24004216], bl
push ss
cwde
push ss
inc edx
add byte [esi + edx], ah
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], dl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [eax - 0x67ffbdea], bl
push ss
inc edx
add byte [ecx], ah
sbb al, byte [edx]
xor byte [edx], bl
inc edx
add byte [ecx + 0x438fa0], ah
mov eax, dword [0x438fa0]
mov eax, dword [0x438fa0]
test eax, eax
jne 0x42164a
mov eax, 1
mov dword [0x438fa0], eax
mov esi, esi
lea edi, [edi]
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
call sym._uninitscreen
mov dword [esp + 4], 0x421267
mov dword [esp], 0
call sym._mylog
mov dword [esp], 0x421281
call sym._puts
mov eax, dword [0x438abc]
test eax, eax
jne 0x421685
mov dword [esp], 0
nop
call sym._exit
mov dword [esp], eax
call sym._unlink
jmp 0x421678
inc dword [0x438fa8]
jmp 0x421640
mov dword [esp + 0xc], 0x4212b0
mov eax, 1
mov dword [0x438d74], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov dword [esp], esi
call sym._strsignal
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x4212d1
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
lea eax, [esi - 4]
cmp eax, 7
jbe switch.0x004217bc
mov dword [esp + 0xc], 0x4212e0
lea ebx, [ebp - 0xc]
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
call sym._dumpcontext
call sym._dumpgdata
mov dword [esp + 0xc], 0x4212f0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov dword [esp], 1
call sym._tostdout_disable_buffering
call sym._uninitscreen
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._signal
mov dword [esp], ebx
call sym._sigemptyset
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._sigaddset
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 2
call sym._sigprocmask
mov dword [esp], esi
call sym._raise
mov dword [esp], 1
jmp 0x421680
jmp dword [eax*4 + 0x4217c4]
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], 0x42131e
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov eax, dword [ebx + 4]
mov edx, 0x421338
cmp eax, 0x1a
je case.default.0x4218a2
cmp eax, 0x1a
jg 0x42185d
mov edx, 0x421356
cmp eax, 0x19
je case.default.0x4218a2
mov edx, 0x421370
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x421378
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
jmp case.0x4217bc.5
mov edx, 0x421390
cmp eax, 0x1b
jmp 0x421829
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], 0x42131e
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov eax, dword [ebx + 4]
mov edx, 0x421370
sub eax, 7
cmp eax, 7
ja case.default.0x4218a2
jmp dword [eax*4 + 0x4218ac]
mov edx, 0x4213af
jmp case.default.0x4218a2
mov edx, 0x4213be
jmp case.default.0x4218a2
mov edx, 0x4213ce
jmp case.default.0x4218a2
mov edx, 0x4213e6
jmp case.default.0x4218a2
mov edx, 0x4213f3
jmp case.default.0x4218a2
mov edx, 0x421405
jmp case.default.0x4218a2
mov edx, 0x421419
jmp case.default.0x4218a2
mov edx, 0x42142b
jmp case.default.0x4218a2
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], 0x42131e
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov eax, dword [ebx + 4]
mov edx, 0x421370
sub eax, 0xf
cmp eax, 7
ja case.default.0x4218a2
jmp dword [eax*4 + 0x421968]
mov edx, 0x421440
jmp case.default.0x4218a2
mov edx, 0x421457
jmp case.default.0x4218a2
mov edx, 0x421468
jmp case.default.0x4218a2
mov edx, 0x421486
jmp case.default.0x4218a2
mov edx, 0x42149e
jmp case.default.0x4218a2
mov edx, 0x4214b7
jmp case.default.0x4218a2
mov edx, 0x4214f0
jmp case.default.0x4218a2
mov edx, 0x421511
jmp case.default.0x4218a2
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], 0x42131e
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 4
mov dword [esp], 0
call sym._ioutput
mov eax, dword [ebx + 4]
mov edx, 0x421528
cmp eax, 0x17
je case.default.0x4218a2
mov edx, 0x421550
cmp eax, 0x18
jmp 0x421829
inc dword [0x438fa4]
jmp 0x421640
inc dword [0x438f9c]
jmp 0x421640