Function at 0x427e20
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x62aabc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
push edi
mov edi, dword [ebp + 0xc]
push 0x428a60
push 2
call esi
push 0x428a60
push 0xf
call esi
add esp, 0x10
call fcn.00406790
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x427eb5
mov eax, dword [edi + esi*4]
mov ecx, 0x55d2f0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x427e90
test dl, dl
je 0x427e8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x427e90
add eax, 2
add ecx, 2
test dl, dl
jne 0x427e70
xor eax, eax
jmp 0x427e95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x427eb0
mov ecx, dword [edi + esi*4 + 4]
mov edx, str.._config.xml
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x427ea2
inc esi
cmp esi, ebx
jl 0x427e65
push 0x6260f0
push str.._config.xml
call fcn.00419010
push edi
push ebx
mov dword [0x62cffc], eax
call fcn.004262d0
add esp, 0x10
test al, al
je 0x4280e2
cmp word [0x630f22], 0
je 0x427efd
cmp word [0x630f20], 0
jne 0x427efd
mov eax, dword [0x6260ec]
shl eax, 2
mov word [0x630f20], ax
cmp dword [0x62cff4], 0
je 0x427f56
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 2
call esi
push eax
push 0x55cf7c
push dword [0x62cff4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
add esp, 0x10
test eax, eax
jne 0x427f56
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
add esp, 4
push eax
push dword [0x62cff4]
push str.error_opening_logfile__s:__s_n
push 2
call esi
add esp, 4
push eax
call fcn.004063c0
add esp, 0x10
mov eax, dword [0x626bb0]
cmp dword [eax], 2
jl 0x427f82
push str.v0.8.4__Dec_26_2023___00:09:19_
push 0x5f0
push str.main
call fcn.00406480
push eax
push str._s__s:_d_Starting_spotupnp_version:__s_n
call fcn.00406440
add esp, 0x14
push 0
push str.0.30
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
fstp qword [ebp - 0xbc]
movsd xmm0, qword [ebp - 0xbc]
add esp, 8
ucomisd xmm0, qword [0x55d4a8]
lahf
test ah, 0x44
jnp 0x427fd5
mov eax, dword [0x626bb0]
cmp dword [eax], 2
jl 0x427fd5
push 0x5f3
push str.main
call fcn.00406480
push eax
push str._s__s:_d_weird_GLIBC__try__static_build_in_case_of_failure_n
call fcn.00406440
add esp, 0x10
cmp dword [0x62cffc], 0
jne 0x428007
mov eax, dword [0x626bb0]
cmp dword [eax], 2
jl 0x428007
push 0
push 0x5f7
push str.main
call fcn.00406480
push eax
push str._s__s:_d_no_config_file__using_defaults_n
call fcn.00406440
add esp, 0x14
cmp byte [0x62cfc1], 0
je 0x428042
push 1
call fcn.00426c80
add esp, 4
push 0x7918
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.00427030
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054f742
mov esp, ebp
pop ebp
ret
mov eax, dword [0x62cfbc]
test eax, eax
je 0x4280ab
push 0x618f4c
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x42807e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__getpid]
push eax
push 0x55d3cc
push esi
call fcn.004063c0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x10
jmp 0x4280ab
mov eax, dword [0x626bb0]
cmp dword [eax], 1
jl 0x4280ab
push dword [0x62cfbc]
push 0x612
push str.main
call fcn.00406480
push eax
push str._s__s:_d_Cannot_open_PID_file__s_n
call fcn.00406440
add esp, 0x14
push 1
call fcn.00426c80
add esp, 4
test al, al
jne 0x4280ea
mov eax, dword [0x626bb0]
cmp dword [eax], 1
jl 0x4280e2
push 0
push 0x617
push str.main
call fcn.00406480
push eax
push str._s__s:_d_Cannot_start_n
call fcn.00406440
add esp, 0x14
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
xorps xmm0, xmm0
mov byte [ebp - 0x18], 0
movups xmmword [ebp - 0x17], xmm0
mov word [ebp - 7], 0
lea eax, [ebp - 0x18]
mov byte [ebp - 5], 0
mov ecx, 0x55d40c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428127
test dl, dl
je 0x428123
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428127
add eax, 2
add ecx, 2
test dl, dl
jne 0x428107
xor eax, eax
jmp 0x42812c
sbb eax, eax
or eax, 1
test eax, eax
je 0x428450
cmp byte [0x626bb6], 0
je 0x428150
lea eax, [ebp - 0x18]
push eax
push 0x55972c
call fcn.00428500
add esp, 8
jmp 0x428158
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, str.maindbg
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428180
test dl, dl
je 0x42817c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428180
add eax, 2
add ecx, 2
test dl, dl
jne 0x428160
xor eax, eax
jmp 0x428185
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4281a8
lea eax, [ebp - 0x2c]
push eax
push 0x55972c
call fcn.00428500
lea eax, [ebp - 0x2c]
push eax
call fcn.00406280
add esp, 0xc
mov dword [0x626ba0], eax
mov ecx, str.utildbg
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4281d0
test dl, dl
je 0x4281cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4281d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4281b0
xor eax, eax
jmp 0x4281d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4281f8
lea eax, [ebp - 0x2c]
push eax
push 0x55972c
call fcn.00428500
lea eax, [ebp - 0x2c]
push eax
call fcn.00406280
add esp, 0xc
mov dword [0x626ba4], eax
mov ecx, str.upnpdbg
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428220
test dl, dl
je 0x42821c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428220
add eax, 2
add ecx, 2
test dl, dl
jne 0x428200
xor eax, eax
jmp 0x428225
sbb eax, eax
or eax, 1
test eax, eax
jne 0x428248
lea eax, [ebp - 0x2c]
push eax
push 0x55972c
call fcn.00428500
lea eax, [ebp - 0x2c]
push eax
call fcn.00406280
add esp, 0xc
mov dword [0x626ba8], eax
mov ecx, str.save
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428270
test dl, dl
je 0x42826c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428270
add eax, 2
add ecx, 2
test dl, dl
jne 0x428250
xor eax, eax
jmp 0x428275
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4282a1
lea eax, [ebp - 0xac]
push eax
push 0x55972c
call fcn.00428500
push 1
push dword [0x62cffc]
lea eax, [ebp - 0xac]
push eax
call fcn.00419920
add esp, 0x14
mov ecx, str.dump
lea eax, [ebp - 0x18]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4282d0
test dl, dl
je 0x4282cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4282d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4282b0
xor eax, eax
jmp 0x4282d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x42830e
mov ecx, str.dumpall
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428301
test dl, dl
je 0x4282fd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428301
add eax, 2
add ecx, 2
test dl, dl
jne 0x4282e1
xor eax, eax
jmp 0x428306
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42841b
call fcn.004069b0
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov ecx, str.dumpall
lea eax, [ebp - 0x18]
shr edx, 6
mov dword [ebp - 0xb8], edx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428358
test dl, dl
je 0x42834c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428358
add eax, 2
add ecx, 2
test dl, dl
jne 0x428330
mov dword [ebp - 0xb0], 0
jmp 0x428363
sbb eax, eax
or eax, 1
mov dword [ebp - 0xb0], eax
xor ebx, ebx
cmp dword [0x6260ec], ebx
jle 0x42841b
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov edi, dword [0x630f24]
lea eax, [edi + 0x2638]
add eax, esi
push eax
call fcn.00475230
mov edx, eax
add esp, 4
mov dword [ebp - 0xb4], edx
test edx, edx
jne 0x4283ba
lea ecx, [edi + 0x2638]
add ecx, esi
push ecx
call fcn.004749e0
mov edx, dword [ebp - 0xb4]
add esp, 4
mov cl, byte [esi + edi]
test cl, cl
jne 0x4283ca
cmp dword [ebp - 0xb0], 0
jne 0x428408
push dword [esi + edi + 0x2658]
mov eax, dword [ebp - 0xb8]
sub eax, dword [esi + edi + 0x1170]
push eax
push dword [esi + edi + 0x112c]
xor eax, eax
test edx, edx
setne al
push eax
movzx eax, cl
push eax
lea eax, [edi + 0x409]
add eax, esi
push eax
push str._20.20s__r:_u___l:_u___s:_u__Last:_u_eCnt:_u_n
call fcn.004284d0
add esp, 0x1c
inc ebx
add esi, 0x2868
cmp ebx, dword [0x6260ec]
jl 0x428380
mov ecx, 0x55d40c
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428443
test dl, dl
je 0x42843f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428443
add eax, 2
add ecx, 2
test dl, dl
jne 0x428423
xor eax, eax
jmp 0x428448
sbb eax, eax
or eax, 1
test eax, eax
jne 0x428134
mov eax, dword [0x626bb0]
cmp dword [eax], 3
jl 0x428479
push 0
push 0x656
push str.main
call fcn.00406480
push eax
push str._s__s:_d_stopping_devices_..._n
call fcn.00406440
add esp, 0x14
push 1
call fcn.00427030
mov eax, dword [0x626bb0]
add esp, 4
cmp dword [eax], 3
jl 0x4284ac
push 0
push 0x658
push str.main
call fcn.00406480
push eax
push str._s__s:_d_all_done_n
call fcn.00406440
add esp, 0x14
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0054f742
mov esp, ebp
pop ebp
ret