Function at 0x4209d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x55ca98]
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 0x421740
push 2
call esi
push 0x421740
push 0xf
call esi
add esp, 0x10
call fcn.004018d0
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x420a65
mov eax, dword [edi + esi*4]
mov ecx, 0x516ee0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420a40
test dl, dl
je 0x420a3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420a40
add eax, 2
add ecx, 2
test dl, dl
jne 0x420a20
xor eax, eax
jmp 0x420a45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420a60
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 0x420a52
inc esi
cmp esi, ebx
jl 0x420a15
push 0x55a080
push str.._config.xml
call fcn.00411840
push edi
push ebx
mov dword [0x55f200], eax
call fcn.0041ef80
add esp, 0x10
test al, al
je 0x420c92
cmp word [0x5630e2], 0
je 0x420aad
cmp word [0x5630e0], 0
jne 0x420aad
mov eax, dword [0x55a07c]
shl eax, 2
mov word [0x5630e0], ax
cmp dword [0x55f1f8], 0
je 0x420b06
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 2
call esi
push eax
push 0x516b9c
push dword [0x55f1f8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
add esp, 0x10
test eax, eax
jne 0x420b06
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 [0x55f1f8]
push str.error_opening_logfile__s:__s_n
push 2
call esi
add esp, 4
push eax
call fcn.00401500
add esp, 0x10
mov eax, dword [0x55b338]
cmp dword [eax], 2
jl 0x420b32
push str.v0.2.2__Sep_29_2023___16:20:54_
push 0x604
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_Starting_stopupnp_version:__s_n
call fcn.00401580
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 [0x517098]
lahf
test ah, 0x44
jnp 0x420b85
mov eax, dword [0x55b338]
cmp dword [eax], 2
jl 0x420b85
push 0x607
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_weird_GLIBC__try__static_build_in_case_of_failure_n
call fcn.00401580
add esp, 0x10
cmp dword [0x55f200], 0
jne 0x420bb7
mov eax, dword [0x55b338]
cmp dword [eax], 2
jl 0x420bb7
push 0
push 0x60b
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_no_config_file__using_defaults_n
call fcn.00401580
add esp, 0x14
cmp byte [0x55f1c5], 0
je 0x420bf2
push 1
call fcn.0041f910
add esp, 4
push 0x7918
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call fcn.0041fc90
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005091c5
mov esp, ebp
pop ebp
ret
mov eax, dword [0x55f1c0]
test eax, eax
je 0x420c5b
push 0x5145f4
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 0x420c2e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__getpid]
push eax
push 0x516fbc
push esi
call fcn.00401500
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x10
jmp 0x420c5b
mov eax, dword [0x55b338]
cmp dword [eax], 1
jl 0x420c5b
push dword [0x55f1c0]
push 0x626
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_Cannot_open_PID_file__s_n
call fcn.00401580
add esp, 0x14
push 1
call fcn.0041f910
add esp, 4
test al, al
jne 0x420c9a
mov eax, dword [0x55b338]
cmp dword [eax], 1
jl 0x420c92
push 0
push 0x62b
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_Cannot_start_n
call fcn.00401580
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, 0x516ffc
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420cd7
test dl, dl
je 0x420cd3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420cd7
add eax, 2
add ecx, 2
test dl, dl
jne 0x420cb7
xor eax, eax
jmp 0x420cdc
sbb eax, eax
or eax, 1
test eax, eax
je 0x421001
cmp byte [0x55b33e], 0
je 0x420d00
lea eax, [ebp - 0x18]
push eax
push 0x5136ec
call fcn.004210b0
add esp, 8
jmp 0x420d08
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 0x420d30
test dl, dl
je 0x420d2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420d30
add eax, 2
add ecx, 2
test dl, dl
jne 0x420d10
xor eax, eax
jmp 0x420d35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420d58
lea eax, [ebp - 0x2c]
push eax
push 0x5136ec
call fcn.004210b0
lea eax, [ebp - 0x2c]
push eax
call fcn.004013c0
add esp, 0xc
mov dword [0x55b328], eax
mov ecx, str.utildbg
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420d80
test dl, dl
je 0x420d7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420d80
add eax, 2
add ecx, 2
test dl, dl
jne 0x420d60
xor eax, eax
jmp 0x420d85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420da8
lea eax, [ebp - 0x2c]
push eax
push 0x5136ec
call fcn.004210b0
lea eax, [ebp - 0x2c]
push eax
call fcn.004013c0
add esp, 0xc
mov dword [0x55b32c], eax
mov ecx, str.upnpdbg
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420dd0
test dl, dl
je 0x420dcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420dd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x420db0
xor eax, eax
jmp 0x420dd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420df8
lea eax, [ebp - 0x2c]
push eax
push 0x5136ec
call fcn.004210b0
lea eax, [ebp - 0x2c]
push eax
call fcn.004013c0
add esp, 0xc
mov dword [0x55b330], eax
mov ecx, str.save
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420e20
test dl, dl
je 0x420e1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420e20
add eax, 2
add ecx, 2
test dl, dl
jne 0x420e00
xor eax, eax
jmp 0x420e25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420e51
lea eax, [ebp - 0xac]
push eax
push 0x5136ec
call fcn.004210b0
push 1
push dword [0x55f200]
lea eax, [ebp - 0xac]
push eax
call fcn.00412380
add esp, 0x14
mov ecx, str.dump
lea eax, [ebp - 0x18]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420e80
test dl, dl
je 0x420e7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420e80
add eax, 2
add ecx, 2
test dl, dl
jne 0x420e60
xor eax, eax
jmp 0x420e85
sbb eax, eax
or eax, 1
test eax, eax
je 0x420ebe
mov ecx, str.dumpall
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420eb1
test dl, dl
je 0x420ead
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420eb1
add eax, 2
add ecx, 2
test dl, dl
jne 0x420e91
xor eax, eax
jmp 0x420eb6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420fcc
call fcn.00401af0
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 0x420f08
test dl, dl
je 0x420efc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420f08
add eax, 2
add ecx, 2
test dl, dl
jne 0x420ee0
mov dword [ebp - 0xb0], 0
jmp 0x420f13
sbb eax, eax
or eax, 1
mov dword [ebp - 0xb0], eax
xor ebx, ebx
cmp dword [0x55a07c], ebx
jle 0x420fcc
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov edi, dword [0x5630e4]
lea eax, [edi + 0x2e2c]
add eax, esi
push eax
call fcn.0046d690
mov edx, eax
add esp, 4
mov dword [ebp - 0xb4], edx
test edx, edx
jne 0x420f6a
lea ecx, [edi + 0x2e2c]
add ecx, esi
push ecx
call fcn.0046ce40
mov edx, dword [ebp - 0xb4]
add esp, 4
mov cl, byte [esi + edi + 4]
test cl, cl
jne 0x420f7b
cmp dword [ebp - 0xb0], 0
jne 0x420fb9
push dword [esi + edi + 0x2e48]
mov eax, dword [ebp - 0xb8]
sub eax, dword [esi + edi + 0x1964]
push eax
push dword [esi + edi + 0x1924]
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.00421080
add esp, 0x1c
inc ebx
add esi, 0x3058
cmp ebx, dword [0x55a07c]
jl 0x420f30
mov ecx, 0x516ffc
lea eax, [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420ff4
test dl, dl
je 0x420ff0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420ff4
add eax, 2
add ecx, 2
test dl, dl
jne 0x420fd4
xor eax, eax
jmp 0x420ff9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420ce4
mov eax, dword [0x55b338]
cmp dword [eax], 3
jl 0x42102a
push 0
push 0x66a
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_stopping_devices_..._n
call fcn.00401580
add esp, 0x14
push 1
call fcn.0041fc90
mov eax, dword [0x55b338]
add esp, 4
cmp dword [eax], 3
jl 0x42105d
push 0
push 0x66c
push str.main
call fcn.004015c0
push eax
push str._s__s:_d_all_done_n
call fcn.00401580
add esp, 0x14
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005091c5
mov esp, ebp
pop ebp
ret