Function at 0x4030d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov eax, 0x301c
mov ebp, esp
push edi
push esi
push ebx
call fcn.00495580
mov ebx, str.kill
cld
mov ecx, 5
mov esi, dword [ebp + 8]
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40381a
cld
mov edi, 0x49d636
mov ecx, 9
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403174
mov ecx, 0xd
mov dword [ebp - 0x10], str.unknown_failure
mov edi, 0x49d650
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
xor ecx, ecx
cmp dl, al
jne 0x403501
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x10]
push eax
push ecx
push 0xffffffffffffffff
call fcn.004059c0
add esp, 0x10
test eax, eax
je 0x40353c
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x50], eax
push eax
mov eax, dword [ebp + 0x14]
push 4
push 0x49d631
push eax
call fcn.00413dc0
mov ecx, 1
add esp, 0x10
lea esp, [ebp - 0xc]
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
cld
mov edi, 0x49d687
mov ecx, 7
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403330
mov esi, dword [ebp + 8]
mov edi, 0x49d68f
add esi, 7
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
sete al
and eax, 0xff
mov edi, eax
test eax, eax
jne 0x4031b7
mov eax, dword [ebp + 8]
cmp byte [eax + 7], 0
jne 0x403330
lea edx, [ebp - 0x1010]
push ecx
push 0x1000
push 0
push edx
mov dword [ebp - 0x3028], edx
call sub.m_memset
add esp, 0xc
lea edx, [ebp - 0x2010]
push 0x1000
push 0
push edx
mov dword [ebp - 0x3024], edx
call sub.m_memset
add esp, 0x10
test byte [0x4dcfc8], 1
jne 0x4036cc
lea edx, [ebp - 0x2010]
push esi
push edi
push 0x1000
push edx
call fcn.00404610
lea eax, [ebp - 0x2010]
mov dword [esp], eax
mov ecx, eax
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x40321b
test edx, 0x8080
je 0x4036c1
add dl, dl
mov ebx, dword [ebp - 0x3024]
sbb ecx, 3
lea edx, [ebp - 0x1010]
sub ecx, ebx
push ecx
push str.OKAY_04x_s
push 0x1000
push edx
call fcn.00495c90
add esp, 0x20
test byte [0x4dcfc8], 1
je 0x4032d6
call sub.m__errno
sub esp, 0xc
mov esi, dword [eax]
push 0x4dcfd8
call sub.KERNEL32.dll_EnterCriticalSection
mov ebx, dword [sym.imp.m__iob]
add esp, 0xc
add ebx, 0x40
push str.handle_host_request
push str.system_core_adb_adb.c
push 0x49d056
push ebx
call fcn.004013a0
call sub.m__errno
mov dword [eax], esi
pop eax
pop edx
push str.Wrote_device_list__n
push ebx
call fcn.004013a0
mov dword [esp], ebx
call sub.m_fflush
mov dword [esp], 0x4dcfd8
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
call sub.m__errno
mov dword [eax], esi
lea ecx, [ebp - 0x1010]
push eax
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x4032dd
test edx, 0x8080
je 0x4036b6
add dl, dl
mov edi, dword [ebp - 0x3028]
sbb ecx, 3
lea eax, [ebp - 0x1010]
sub ecx, edi
mov esi, dword [ebp + 0x14]
push ecx
push eax
push esi
call fcn.00405090
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
cld
mov edi, str.connect:
mov ecx, 8
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403420
mov ebx, dword [ebp + 8]
mov edi, str.emu:
add ebx, 8
mov ecx, 4
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4035ee
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x2010]
add eax, 0xc
push ebx
push 0x1000
push edx
push eax
mov dword [ebp - 0x3024], edx
call fcn.004016f0
add esp, 0x10
sub esp, 0xc
lea edx, [ebp - 0x2010]
mov ecx, edx
push edx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x40338e
test edx, 0x8080
je 0x4036ab
add dl, dl
mov edx, dword [ebp - 0x3024]
sbb ecx, 3
lea ebx, [ebp - 0x1010]
sub ecx, edx
push ecx
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x4033db
test edx, 0x8080
je 0x40360f
add dl, dl
sbb ecx, 3
sub ecx, ebx
push ecx
mov ecx, dword [ebp + 0x14]
push ebx
push ecx
call fcn.00405090
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
cld
mov edi, str.disconnect:
mov ecx, 0xb
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403558
lea esi, [ebp - 0x3010]
push eax
push 0x1000
push 0
push esi
call sub.m_memset
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 8]
add ebx, 0xb
add esp, 0x10
cmp byte [eax + 0xb], 0
je 0x40361a
push eax
push eax
push 0x3a
push ebx
call sub.m_strchr
add esp, 0x10
test eax, eax
je 0x4039ca
sub esp, 0xc
push ebx
call fcn.004057a0
add esp, 0x10
test eax, eax
je 0x40385f
sub esp, 0xc
push eax
call fcn.00405760
add esp, 0x10
sub esp, 0xc
mov ecx, esi
push esi
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x40349b
test edx, 0x8080
jne 0x4034c1
shr edx, 0x10
add ecx, 2
add dl, dl
lea ebx, [ebp - 0x1010]
sbb ecx, 3
sub ecx, esi
push ecx
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x4034e4
jmp 0x4033f3
mov cl, 0xf
mov edi, 0x49d65e
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
mov ecx, 1
cmp dl, al
je 0x403130
mov edi, 0x49d66e
mov cl, 0xd
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4037bf
mov ecx, 2
jmp 0x403130
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x14]
push edi
push edi
push esi
push ebx
call fcn.0040dc20
mov ecx, 1
add esp, 0x10
jmp 0x40316a
cld
mov edi, 0x49d6fb
mov ecx, 8
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403624
lea ebx, [ebp - 0x2010]
push 0x1f
push 0x49d703
push 0xc
push ebx
call fcn.00495c90
mov dword [esp], ebx
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x403588
test edx, 0x8080
jne 0x4035ae
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, ebx
lea ebx, [ebp - 0x1010]
push ecx
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x4035d1
jmp 0x4033f3
lea edx, [ebp - 0x2010]
push ecx
mov dword [ebp - 0x3024], edx
push 0x1000
push edx
push ebx
call fcn.00401830
add esp, 0x10
jmp 0x403382
shr edx, 0x10
add ecx, 2
jmp 0x4033ff
call fcn.004056d0
jmp 0x403495
cld
mov edi, 0x49d708
mov ecx, 0xc
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403738
mov eax, dword [ebp + 0x10]
push 0
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
call fcn.004059c0
add esp, 0x10
mov edx, 0x49d715
test eax, eax
je 0x403662
mov edx, dword [eax + 0x58]
test edx, edx
je 0x4039e6
sub esp, 0xc
lea ebx, [ebp - 0x1010]
push edx
sub esp, 0xc
push edx
call sub.m_strlen
add esp, 0x10
push eax
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x40368e
jmp 0x4033f3
shr edx, 0x10
add ecx, 2
jmp 0x4033b2
shr edx, 0x10
add ecx, 2
jmp 0x403301
shr edx, 0x10
add ecx, 2
jmp 0x40323f
call sub.m__errno
sub esp, 0xc
mov esi, dword [eax]
push 0x4dcfd8
call sub.KERNEL32.dll_EnterCriticalSection
mov ebx, dword [sym.imp.m__iob]
add esp, 0xc
add ebx, 0x40
push str.handle_host_request
push str.system_core_adb_adb.c
push 0x49d056
push ebx
call fcn.004013a0
call sub.m__errno
mov dword [eax], esi
pop eax
pop edx
push str.Getting_device_list__n
push ebx
call fcn.004013a0
mov dword [esp], ebx
call sub.m_fflush
mov dword [esp], 0x4dcfd8
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
call sub.m__errno
mov dword [eax], esi
jmp 0x4031fd
cld
mov edi, 0x49d71d
mov ecx, 0xb
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x4037e7
mov eax, dword [ebp + 0x10]
push 0
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
call fcn.004059c0
add esp, 0x10
mov edx, 0x49d715
test eax, eax
je 0x403776
mov edx, dword [eax + 0x68]
test edx, edx
je 0x4039f0
sub esp, 0xc
lea ebx, [ebp - 0x1010]
push edx
sub esp, 0xc
push edx
call sub.m_strlen
add esp, 0x10
push eax
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x4037a2
jmp 0x4033f3
mov edi, str.transport:
mov ecx, 0xa
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403532
mov eax, dword [ebp + 8]
mov ecx, 2
add eax, 0xa
mov dword [ebp + 0x10], eax
jmp 0x403130
cld
mov edi, str.emulator:
mov ecx, 9
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403878
sub esp, 0xc
mov eax, dword [ebp + 8]
add eax, 9
push eax
call sub.m_atoi
mov dword [esp], eax
call fcn.00406e00
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
mov ebx, dword [sym.imp.m__iob]
push eax
push eax
push str.adb_server_killed_by_remote_request_n
lea eax, [ebx + 0x40]
add ebx, 0x20
push eax
call fcn.004013a0
mov dword [esp], ebx
call sub.m_fflush
add esp, 0xc
mov eax, dword [ebp + 0x14]
push 4
push 0x49d631
push eax
call fcn.00413dc0
call fcn.00411900
mov dword [esp], 0
call sub.m_exit
push ebx
push str.No_such_device__s
push 0x1000
push esi
call fcn.00495c90
add esp, 0x10
jmp 0x403495
cld
mov edi, str.forward:
mov ecx, 8
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
je 0x40389f
mov edi, str.killforward:
mov ecx, 0xc
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x403a56
cld
mov edi, ebx
mov ecx, 4
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
mov bl, dl
mov edx, dword [ebp + 8]
sub bl, al
push edi
movsx ebx, bl
cmp ebx, 1
push edi
sbb eax, eax
push 0x3b
and eax, 4
lea esi, [eax + edx + 8]
push esi
call sub.m_strchr
add esp, 0x10
test eax, eax
je 0x4039b0
mov byte [eax], 0
cmp byte [esi], 0
je 0x4039b0
lea edx, [eax + 1]
mov dword [ebp - 0x3020], edx
mov al, byte [eax + 1]
test al, al
je 0x4039b0
cmp al, 0x2a
je 0x4039b0
lea eax, [ebp - 0x10]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
push 0xffffffffffffffff
call fcn.004059c0
add esp, 0x10
mov edi, eax
test eax, eax
je 0x403a4e
test ebx, ebx
jne 0x403a14
mov ebx, dword [0x49b020]
cmp ebx, 0x49b020
jne 0x40394e
jmp 0x4039fa
mov ebx, dword [ebx]
cmp ebx, 0x49b020
je 0x4039fa
push eax
push eax
mov eax, dword [ebx + 0x28]
push eax
push esi
call sub.m_strcmp
add esp, 0x10
test eax, eax
jne 0x403940
push eax
push eax
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x3020]
push ecx
push edx
call sub.m_strcmp
add esp, 0x10
test eax, eax
jne 0x403940
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x403940
cmp edi, eax
jne 0x403940
push eax
push eax
push edi
push ebx
call fcn.00401570
add esp, 0x10
push eax
mov eax, dword [ebp + 0x14]
push 8
push str.OKAYOKAY
push eax
call fcn.00405090
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
mov ebx, dword [ebp + 0x14]
push esi
push esi
push str.malformed_forward_spec
push ebx
call fcn.0040dc20
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
push ebx
lea ebx, [ebp - 0x2010]
push str._s:5555
push 0x63
push ebx
call fcn.00495c90
add esp, 0x10
jmp 0x403475
mov edx, 0x49d715
jmp 0x403662
mov edx, 0x49d715
jmp 0x403776
push eax
push eax
push str.cannot_remove_listener
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040dc20
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
mov ecx, eax
mov edx, dword [ebp - 0x3020]
mov eax, esi
call fcn.00401d50
test eax, eax
je 0x403991
mov edx, str.cannot_rebind_smartsocket
inc eax
je 0x403a38
mov edx, str.cannot_bind_socket
mov edi, dword [ebp + 0x14]
push eax
push eax
push edx
push edi
call fcn.0040dc20
xor ecx, ecx
add esp, 0x10
jmp 0x40316a
push eax
push eax
mov eax, dword [ebp - 0x10]
push eax
jmp 0x403a01
cld
mov ecx, 9
mov edi, 0x49d7ad
mov esi, dword [ebp + 8]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
or ecx, 0xffffffff
cmp dl, al
jne 0x40316a
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
push 0
push esi
push ebx
push 0xffffffffffffffff
call fcn.004059c0
add esp, 0x10
mov edx, 0x49d715
test eax, eax
je 0x403ab9
mov eax, dword [eax + 0x44]
mov edx, 0x49d397
cmp eax, 1
je 0x403ab9
mov edx, 0x49d3cf
cmp eax, 2
je 0x403ab9
mov edx, 0x49d7b7
test eax, eax
je 0x403ab9
mov edx, 0x49d715
sub esp, 0xc
lea ebx, [ebp - 0x1010]
push edx
sub esp, 0xc
push edx
call sub.m_strlen
add esp, 0x10
push eax
push str.OKAY_04x_s
push 0x1000
push ebx
call fcn.00495c90
add esp, 0x1c
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
xor eax, 0xffffffff
and edx, eax
and edx, 0x80808080
je 0x403ae5
jmp 0x4033f3