Function at 0x42eb00
Capabilities:
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov eax, 0x4cbc
push esi
push ebx
call fcn.005ac030
sub esp, eax
mov eax, dword [0x5bb9a0]
mov dword [esp + 0xc], 0x1347
mov dword [esp + 8], 0x5cc650
mov dword [esp + 4], str.api.c
mov dword [esp], 4
mov dword [esp + 0x40], eax
call sym.__cgmalloc
mov dword [eax], 0xffffffff
cmp byte [0x745a30], 0
mov dword [esp + 0x3c], eax
jne 0x42ebc5
cmp byte [0x732fa1], 0
je 0x42ebae
cmp byte [0x745ef7], 0
jne 0x42eb6f
cmp byte [0x732fa0], 0
je 0x42f5eb
lea ebx, [esp + 0x2cb0]
mov dword [esp + 0xc], str.___API_will_not_be_available
mov dword [esp + 8], str.API_not_running_s
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._free
add esp, 0x4cbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], 0x2ce
mov dword [esp + 8], str._io_new
mov dword [esp + 4], str.api.c
mov dword [esp], 0x10
call sym.__cgmalloc
mov dword [esp + 0xc], 0x2cf
mov esi, eax
mov dword [esp + 8], str._io_new
mov dword [esp + 4], str.api.c
mov dword [esp], 0x10000
mov dword [esp + 0x44], eax
call sym.__cgmalloc
mov dword [esi], 0x10000
mov dword [esi + 4], eax
mov byte [esi + 0xc], 1
mov dword [esi + 8], eax
mov byte [eax], 0
mov byte [esi + 0xd], 0
mov dword [esp + 0xc], 0x2d4
mov dword [esp + 8], str._io_new
mov dword [esp + 4], str.api.c
mov dword [esp], 0xc
call sym.__cgmalloc
mov edx, dword [0x732b84]
mov dword [eax], esi
test edx, edx
je 0x42fa53
mov dword [eax + 8], edx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov edx, dword [eax + 4]
mov dword [edx + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0x732b98
call dbg.pthread_mutex_init
test eax, eax
jne 0x42fa96
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x98], sym._tidyup
mov dword [esp + 0x9c], eax
call sym._pthread_getclean
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
lock or dword [esp], 0
call sym._pthread_getclean
lea edx, [esp + 0x98]
mov dword [eax], edx
lock or dword [esp], 0
mov ebx, dword [0x745384]
test ebx, ebx
je 0x42fa87
mov dword [esp], ebx
call sym._strlen
add eax, 1
mov dword [esp + 0xc], 0x10ee
mov dword [esp + 8], str.setup_groups
mov dword [esp + 4], str.api.c
mov dword [esp], eax
call sym.__cgmalloc
mov dword [esp + 4], ebx
mov edi, eax
mov dword [esp], eax
mov dword [esp + 0x48], eax
call sym._strcpy
cmp byte [edi], 0
mov ebp, dword [sym.imp.msvcrt.dll__stricmp]
je 0x42f12e
mov dword [esp + 4], 0x2c
mov dword [esp], edi
call sym._strchr
test eax, eax
je 0x42f530
lea ecx, [eax + 1]
mov byte [eax], 0
mov dword [esp + 0x34], ecx
cmp byte [edi + 1], 0x3a
je 0x42edaf
mov dword [esp + 4], 0x3a
mov dword [esp], edi
call sym._strchr
test eax, eax
je 0x42ed61
mov byte [eax], 0
lea eax, [esp + 0xcb0]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.API_invalid_group_name__s
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
movsx esi, byte [edi]
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_toupper]
movsx eax, al
mov dword [esp + 0x2c], eax
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
mov ebx, eax
mov dword [esp], 0x41
call dword [sym.imp.msvcrt.dll_toupper]
cmp ebx, eax
jl 0x42edef
mov dword [esp], 0x5a
call dword [sym.imp.msvcrt.dll_toupper]
cmp ebx, eax
jle 0x42ee3d
lea eax, [esp + 0xcb0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.API_invalid_group_name__c
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
mov dword [esp], 0x57
call dword [sym.imp.msvcrt.dll_toupper]
cmp dword [esp + 0x2c], eax
je 0x42f594
mov dword [esp], 0x52
call dword [sym.imp.msvcrt.dll_toupper]
cmp dword [esp + 0x2c], eax
je 0x42f53d
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
mov ebx, eax
mov dword [esp], 0x41
call dword [sym.imp.msvcrt.dll_toupper]
sub ebx, eax
mov esi, dword [ebx*4 + 0x746380]
test esi, esi
je 0x42eee5
movsx eax, byte [edi]
mov dword [esp + 8], str.API_duplicate_group_name__c
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0xcb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
mov ebx, edi
mov byte [esp + 0x2cb0], 0x7c
mov byte [esp + 0x2cb1], 0
add ebx, 2
je 0x42f07c
cmp byte [edi + 2], 0
je 0x42f07c
lea eax, [esp + 0x2cb1]
mov byte [esp + 0x30], 0
mov dword [esp + 0x38], eax
jmp 0x42ef3e
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x30], 1
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42f071
cmp byte [eax], 0
je 0x42f071
mov dword [esp + 4], 0x3a
mov dword [esp], ebx
call sym._strchr
test eax, eax
je 0x42f050
lea ecx, [eax + 1]
mov byte [eax], 0
mov esi, ebx
mov edi, 0x5cc173
mov dword [esp + 0x28], ecx
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
je 0x42ef20
mov eax, dword [0x5bbb20]
test eax, eax
je 0x42eff0
mov edi, 0x5bbb2c
xor esi, esi
jmp 0x42ef8f
add edi, 0xc
mov eax, dword [edi - 0xc]
add esi, 1
test eax, eax
je 0x42eff0
mov dword [esp + 4], eax
mov dword [esp], ebx
call ebp
test eax, eax
jne 0x42ef82
lea esi, [esi + esi*2]
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], 0x5cb5c4
mov dword [esp + 4], 0x64
mov eax, dword [esi*4 + 0x5bbb20]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._strstr
test eax, eax
je 0x42f4f6
mov ebx, dword [esp + 0x28]
jmp 0x42ef29
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_unknown_command__s_in_group__c
mov dword [esp + 4], 0xa00
mov dword [esp + 0x10], eax
lea eax, [esp + 0xcb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
mov ebx, dword [esp + 0x28]
jmp 0x42ef29
mov ecx, 2
mov esi, ebx
mov edi, 0x5cc173
repe cmpsb byte [esi], byte es:[edi]
je 0x42f462
mov dword [esp + 0x28], 0
jmp 0x42ef70
cmp byte [esp + 0x30], 0
jne 0x42f462
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp], 0x41
mov ebx, eax
call dword [sym.imp.msvcrt.dll_toupper]
lea ecx, [esp + 0x2cb0]
sub ebx, eax
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x42f0a1
mov eax, edx
mov dword [esp + 0xc], 0x1146
mov dword [esp + 8], str.setup_groups
shr eax, 0x10
test edx, 0x8080
mov dword [esp + 4], str.api.c
cmove edx, eax
lea eax, [ecx + 2]
cmove ecx, eax
mov eax, edx
add al, dl
lea eax, [esp + 0x2cb0]
sbb ecx, 3
sub ecx, eax
add ecx, 1
mov dword [esp], ecx
call sym.__cgmalloc
lea ecx, [esp + 0x2cb0]
mov dword [esp], eax
mov dword [ebx*4 + 0x746380], eax
mov dword [esp + 4], ecx
call sym._strcpy
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x42f12e
mov edi, dword [esp + 0x34]
cmp byte [edi], 0
jne 0x42ed22
mov esi, dword [0x5bbb20]
mov byte [esp + 0x2cb0], 0x7c
mov ebx, 0x5bbb28
mov byte [esp + 0x2cb1], 0
lea edi, [esp + 0x2cb1]
test esi, esi
jne 0x42f16a
jmp 0x42f19b
add ebx, 0xc
mov esi, dword [ebx - 8]
test esi, esi
je 0x42f19b
cmp byte [ebx], 0
jne 0x42f160
mov dword [esp + 4], esi
mov dword [esp], edi
add ebx, 0xc
call sym._strcpy
mov dword [esp], esi
call sym._strlen
mov esi, dword [ebx - 8]
lea edx, [edi + eax]
lea edi, [edi + eax + 1]
mov byte [edx], 0x7c
mov byte [edx + 1], 0
test esi, esi
jne 0x42f16a
mov dword [esp], 0x52
call dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp], 0x41
mov ebx, eax
call dword [sym.imp.msvcrt.dll_toupper]
lea edx, [esp + 0x2cb0]
sub ebx, eax
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x42f1c9
mov ecx, eax
mov dword [esp + 0xc], 0x1158
mov dword [esp + 8], str.setup_groups
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 4], str.api.c
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [esp + 0x2cb0]
sbb edx, 3
sub edx, eax
add edx, 1
mov dword [esp], edx
call sym.__cgmalloc
lea ecx, [esp + 0x2cb0]
mov dword [esp], eax
mov dword [ebx*4 + 0x746380], eax
mov dword [esp + 4], ecx
call sym._strcpy
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sym._free
mov eax, dword [0x731050]
test eax, eax
je 0x42f943
mov dword [esp], eax
call sym._strlen
add eax, 1
mov dword [esp + 0xc], 0x1173
mov dword [esp + 8], str.setup_ipaccess
mov dword [esp + 4], str.api.c
mov dword [esp], eax
call sym.__cgmalloc
mov esi, eax
mov dword [esp + 0x30], eax
mov eax, dword [0x731050]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._strcpy
mov eax, esi
mov ecx, 1
jmp 0x42f2b1
add eax, 1
cmp dl, 0x2c
sete dl
movzx edx, dl
add ecx, edx
movzx edx, byte [eax]
test dl, dl
jne 0x42f2a3
mov dword [esp + 0x10], 0x117e
mov dword [esp + 0xc], str.setup_ipaccess
xor ebx, ebx
mov dword [esp + 8], str.api.c
mov dword [esp + 4], 0x22
mov dword [esp], ecx
call sym.__cgcalloc
mov ebp, dword [esp + 0x30]
mov dword [0x732b8c], eax
mov dword [0x732b88], 0
movzx eax, byte [ebp]
test al, al
je 0x42f3e3
cmp al, 9
je 0x42f310
cmp al, 0x20
jne 0x42f31f
lea esi, [esi]
add ebp, 1
movzx eax, byte [ebp]
cmp al, 0x20
je 0x42f310
cmp al, 9
je 0x42f310
cmp al, 0x2c
je 0x42f7f6
mov dword [esp + 4], 0x2c
mov dword [esp], ebp
call sym._strchr
test eax, eax
je 0x42f808
lea ecx, [eax + 1]
mov byte [eax], 0
mov dword [esp + 0x28], ecx
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 0x40
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym._strncpy
mov byte [esp + 0xcef], 0
mov dword [esp], 0x52
call dword [sym.imp.msvcrt.dll_toupper]
movsx edi, byte [ebp]
mov esi, eax
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_isalpha]
test eax, eax
je 0x42f396
cmp byte [ebp + 1], 0x3a
je 0x42f815
mov eax, ebx
mov edi, 0x5cc175
mov ecx, 4
shl eax, 5
lea edx, [eax + ebx*2]
add edx, dword [0x732b8c]
mov eax, esi
mov esi, ebp
mov byte [edx + 0x20], al
repe cmpsb byte [esi], byte es:[edi]
jne 0x42f600
lea eax, [edx + 0x10]
mov byte [edx], 0
mov byte [edx + 0x10], 0
add edx, 1
cmp edx, eax
jne 0x42f3c0
mov ebp, dword [esp + 0x28]
add ebx, 1
mov dword [0x732b88], ebx
test ebp, ebp
jne 0x42f2f5
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym._free
test ebx, ebx
jne 0x42f943
cmp byte [0x745ef7], 0
jne 0x42f417
cmp byte [0x732fa0], 0
jne 0x42f417
mov esi, dword [0x5bc2e0]
test esi, esi
jle 0x42ebae
lea eax, [esp + 0x2cb0]
mov dword [esp + 0xc], str.___API_will_not_be_available
mov dword [esp + 8], str.API_not_running__no_valid_IPs_specified__s
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 1
mov dword [esp + 4], eax
call sym.__applog
jmp 0x42ebae
mov eax, dword [0x5bbb20]
test eax, eax
je 0x42f07c
mov ebx, 0x5bbb28
lea esi, [esp + 0x2b0]
mov edi, dword [esp + 0x38]
jmp 0x42f48f
add ebx, 0xc
mov eax, dword [ebx - 8]
test eax, eax
je 0x42f07c
cmp byte [ebx], 0
jne 0x42f481
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5cb5c4
mov dword [esp + 4], 0x64
mov dword [esp], esi
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._strstr
test eax, eax
jne 0x42f481
mov edx, dword [ebx - 8]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 0x28], edx
call sym._strcpy
mov edx, dword [esp + 0x28]
mov dword [esp], edx
call sym._strlen
lea edx, [edi + eax]
lea edi, [edi + eax + 1]
mov byte [edx], 0x7c
mov byte [edx + 1], 0
jmp 0x42f481
mov ebx, dword [esi*4 + 0x5bbb20]
mov esi, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp], esi
call sym._strcpy
mov dword [esp], ebx
call sym._strlen
lea edx, [esi + eax]
lea eax, [esi + eax + 1]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov byte [edx], 0x7c
mov byte [edx + 1], 0
jmp 0x42ef29
mov dword [esp + 0x34], 0
jmp 0x42ed44
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], str.API_group_name_cant_be__c
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0xcb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
jmp 0x42ee6b
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], str.API_group_name_cant_be__c
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0xcb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0xcb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
jmp 0x42ee54
cmp dword [0x5bc2e0], 3
jle 0x42ebae
jmp 0x42eb6f
mov dword [esp + 4], 0x2f
mov dword [esp], ebp
mov dword [esp + 0x2c], edx
call sym._strchr
test eax, eax
mov edx, dword [esp + 0x2c]
je 0x42fa2c
xor edi, edi
cmp byte [ebp], 0x5b
je 0x42f857
cmp byte [eax], 0
lea ebx, [edx + 0x10]
jne 0x42f76d
mov eax, edx
lea esi, [esi]
mov byte [eax], 0
add eax, 1
cmp ebx, eax
jne 0x42f640
mov eax, edi
test al, al
jne 0x42f876
mov dword [esp + 4], 0x2e
mov dword [esp], ebp
call sym._strchr
test eax, eax
je 0x42fb31
add eax, 1
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call sym._strchr
test eax, eax
je 0x42fb09
add eax, 1
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call sym._strchr
test eax, eax
mov dword [esp + 0xc], ebp
je 0x42fa63
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], str.::ffff:_s
mov dword [esp + 4], 0x40
mov dword [esp], ebx
call sym._snprintf_2
mov eax, dword [0x732b88]
mov dword [esp + 4], ebx
mov dword [esp], 0x17
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2]
add eax, dword [0x732b8c]
mov dword [esp + 8], eax
call sym._Inet_Pton
cmp eax, 1
je 0x42f8de
cmp byte [0x745ef7], 0
jne 0x42f711
cmp byte [0x732fa0], 0
jne 0x42f711
mov edi, dword [0x5bc2e0]
test edi, edi
js 0x42f75e
lea eax, [esp + 0xcb0]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], str.API:_ignored_invalid_IPv4_address__s__as__s_
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov ebx, dword [0x732b88]
mov ebp, dword [esp + 0x28]
jmp 0x42f3db
mov byte [eax], 0
add eax, 1
mov dword [esp], eax
call sym._atoi
test eax, eax
jle 0x42f907
mov ecx, edi
cmp cl, 1
sbb edx, edx
and edx, 0x60
add eax, edx
cmp eax, 0x80
jg 0x42f907
mov edx, dword [0x732b88]
mov ecx, edx
shl ecx, 5
lea edx, [ecx + edx*2]
add edx, dword [0x732b8c]
lea ebx, [edx + 0x10]
lea esi, [edx + 0x20]
mov ecx, ebx
mov byte [ecx], 0
add ecx, 1
cmp esi, ecx
jne 0x42f7b6
mov ecx, 7
xor esi, esi
mov dword [esp + 0x2c], ebx
sub eax, 1
cmp eax, 0xffffffff
je 0x42f7ed
mov ebx, 1
shl ebx, cl
or byte [edx + esi + 0x10], bl
test ecx, ecx
je 0x42f7fe
sub eax, 1
sub ecx, 1
cmp eax, 0xffffffff
jne 0x42f7d3
mov ebx, dword [esp + 0x2c]
jmp 0x42f638
add ebp, 1
jmp 0x42f3db
add esi, 1
mov ecx, 7
jmp 0x42f7cb
mov dword [esp + 0x28], 0
jmp 0x42f349
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_toupper]
mov edi, eax
mov dword [esp], 0x57
call dword [sym.imp.msvcrt.dll_toupper]
cmp edi, eax
je 0x42f84d
mov dword [esp], 0x41
call dword [sym.imp.msvcrt.dll_toupper]
mov ecx, edi
sub ecx, eax
mov ecx, dword [ecx*4 + 0x746380]
test ecx, ecx
je 0x42f84f
mov esi, edi
add ebp, 2
jmp 0x42f396
cmp byte [eax - 1], 0x5d
jne 0x42f62c
mov byte [ebp], 0
mov edi, 1
mov byte [eax - 1], 0
add ebp, 1
jmp 0x42f62c
mov dword [esp + 8], edx
mov dword [esp + 4], ebp
mov dword [esp], 0x17
call sym._Inet_Pton
cmp eax, 1
je 0x42f8de
cmp byte [0x745ef7], 0
jne 0x42f8af
cmp byte [0x732fa0], 0
jne 0x42f8af
mov ebp, dword [0x5bc2e0]
test ebp, ebp
js 0x42f75e
lea eax, [esp + 0xcb0]
mov dword [esp + 8], str.API:_ignored_invalid_IPv6_address__s
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp], eax
call sym._snprintf_2
jmp 0x42f73f
mov ebx, dword [0x732b88]
mov eax, ebx
shl eax, 5
lea eax, [eax + ebx*2]
add eax, dword [0x732b8c]
lea ecx, [eax + 0x10]
movzx edx, byte [eax + 0x10]
and byte [eax], dl
add eax, 1
cmp ecx, eax
jne 0x42f8f5
jmp 0x42f3ce
cmp byte [0x745ef7], 0
jne 0x42f927
cmp byte [0x732fa0], 0
jne 0x42f927
mov edx, dword [0x5bc2e0]
test edx, edx
js 0x42f75e
lea ecx, [esp + 0xcb0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.API:_ignored_address_with_invalid_mask___d___s
mov dword [esp + 0x10], ecx
jmp 0x42f728
imul eax, dword [0x5bb9b4], 0x3e8
lea esi, [esp + 0x6e]
mov dword [esp], eax
call sym._cgsleep_ms
movsx ebx, word [esp + 0x40]
mov dword [esp + 8], 0x5cb308
mov dword [esp + 4], 0xa
mov dword [esp], esi
mov dword [esp + 0xc], ebx
call sym._snprintf_2
lea edx, [esp + 0x78]
xor eax, eax
mov dword [edx + eax], 0
add eax, 4
cmp eax, 0x20
jb 0x42f980
lea eax, [esp + 0x68]
mov dword [esp + 0x78], 1
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
mov eax, dword [0x5bb99c]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
sub esp, 0x10
test eax, eax
je 0x42fb59
cmp byte [0x745ef7], 0
jne 0x42f9e0
cmp byte [0x732fa0], 0
jne 0x42f9e0
mov ebx, dword [0x5bc2e0]
test ebx, ebx
js 0x42ebae
mov eax, dword [0x5bb99c]
mov dword [esp + 8], str.API_failed_to_resolve__s
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
jmp 0x42ebae
lea eax, [edx + 0x10]
lea ecx, [edx + 0x20]
mov byte [eax], 0xff
add eax, 1
cmp eax, ecx
jne 0x42fa32
mov dword [esp], ebp
mov dword [esp + 0x2c], edx
call sym._strlen
mov edx, dword [esp + 0x2c]
add eax, ebp
jmp 0x42f620
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov dword [0x732b84], eax
jmp 0x42ec70
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], str.::ffff:_s.0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
call sym._snprintf_2
jmp 0x42f6c5
mov eax, 1
mov ebx, 0x5cb5e9
jmp 0x42ece1
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 0x18], 0x1354
mov dword [esp + 0x14], 0x5cc650
mov dword [esp + 0x10], str.api.c
mov eax, dword [eax]
mov dword [esp + 8], 0x5cc0cc
mov dword [esp + 4], 0xa00
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 1
call sym.__quit
jmp 0x42ec8c
lea ebx, [esp + 0x2b0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], str.::ffff:_s.0.0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
call sym._snprintf_2
jmp 0x42f6c5
lea ebx, [esp + 0x2b0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], str.::ffff:_s.0.0.0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
call sym._snprintf_2
jmp 0x42f6c5
mov edx, dword [esp + 0x68]
test edx, edx
je 0x43099e
mov ebp, edx
mov eax, edx
mov esi, dword [sym.imp.WS2_32.dll_socket]
mov edi, dword [esp + 0x3c]
jmp 0x42fb84
mov ebp, dword [ebp + 0x1c]
test ebp, ebp
je 0x42fc3a
mov eax, dword [esp + 0x68]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [eax + 4]
mov dword [esp], eax
call esi
sub esp, 0xc
test eax, eax
mov dword [edi], eax
je 0x42fb75
cmp eax, 0xffffffff
jne 0x42fc3a
cmp byte [0x745ef7], 0
jne 0x42fbca
cmp byte [0x732fa0], 0
jne 0x42fbca
mov ecx, dword [0x5bc2e0]
test ecx, ecx
js 0x42fc19
call sym._WSAErrorMsg
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp + 0x10], str.___API_will_not_be_available
mov dword [esp + 8], str.API_initialisation_failed___s__s
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._free
jmp 0x42ebba
mov eax, dword [sym.imp.msvcrt.dll_time]
mov dword [esp], 0
mov dword [esp + 0x4c], eax
call eax
mov esi, dword [esp + 0x3c]
mov edi, eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_bind]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x430230
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], 0x64
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_listen]
sub esp, 8
cmp eax, 0xffffffff
je 0x4309ab
mov eax, dword [0x731050]
test eax, eax
je 0x430921
cmp byte [0x745ef7], 0
jne 0x42fcd2
cmp byte [0x732fa0], 0
jne 0x42fcd2
mov eax, dword [0x5bc2e0]
test eax, eax
jle 0x42fd1e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_running_in_IP_access_mode_on_port__d___d_
mov dword [esp + 0x10], eax
lea eax, [esp + 0x2cb0]
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 1
mov dword [esp + 4], eax
call sym.__applog
cmp byte [0x745ed0], 0
jne 0x430764
mov dword [esp + 0x1c], 0x13b8
mov dword [esp + 0x18], 0x5cc650
mov dword [esp + 0x14], str.api.c
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0xc
mov dword [esp], str.StrBufs
call sym.__k_new_list
cmp byte [0x732b9c], 0
mov dword [0x732b80], eax
jne 0x4306eb
mov byte [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x44]
jmp 0x42fdb1
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
cmp byte [0x732b9c], 0
jne 0x4306eb
lea eax, [esp + 0x64]
mov dword [esp + 0x64], pe_nt_image_headers32
mov dword [esp + 8], eax
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_accept]
sub esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x2c], eax
je 0x43067d
lea ecx, [esp + 0x5e]
lea edx, [esp + 0x60]
lea eax, [esp + 0x130]
call sym._check_connect
cmp byte [0x732fa1], 0
mov ebx, eax
je 0x42fe77
cmp byte [0x745ef7], 0
jne 0x42fe25
cmp byte [0x732fa0], 0
jne 0x42fe25
cmp dword [0x5bc2e0], 3
jle 0x42fe77
test bl, bl
mov edx, 0x5cb9fa
mov eax, str.Ignored
cmovne eax, edx
lea edi, [esp + 0x2b0]
mov dword [esp + 8], str.API:_connection_from__s____s
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0xa00
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], 4
call sym.__applog
test bl, bl
je 0x42fd94
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xcb0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xfff
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_recv]
sub esp, 0x10
cmp eax, 0xffffffff
mov edi, eax
je 0x430604
cmp byte [0x732fa1], 0
mov byte [esp + eax + 0xcb0], 0
je 0x42ff20
cmp byte [0x745ef7], 0
jne 0x42fee1
cmp byte [0x732fa0], 0
jne 0x42fee1
cmp dword [0x5bc2e0], 3
jle 0x42ff20
lea ebp, [esp + 0x2b0]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.API:_recv_command:___d___s
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
mov dword [esp], 0
mov eax, dword [esp + 0x4c]
call eax
mov dword [0x732b90], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
mov byte [eax], 0
mov byte [esi + 0xd], 0
cmp byte [esp + 0xcb0], 0x7b
je 0x430368
mov dword [esp + 4], 0x7c
mov dword [esp], ebx
call sym._strchr
test eax, eax
mov ebp, eax
je 0x430447
mov byte [eax], 0
add ebp, 1
mov byte [esp + 0x28], 0
mov dword [esp + 4], 0x2b
mov dword [esp], ebx
call sym._strchr
test eax, eax
je 0x430430
mov dword [esp], ebx
mov byte [esp + 0x5f], 1
xor ebp, ebp
call sym._strlen
add eax, 3
mov dword [esp + 0xc], 0x1414
mov dword [esp + 8], 0x5cc650
mov dword [esp + 4], str.api.c
mov dword [esp], eax
call sym.__cgmalloc
mov ecx, 0x7c
mov dword [esp + 0x44], eax
mov byte [esp + 0x30], 1
mov word [eax], cx
movzx eax, byte [esp + 0x28]
cmp byte [esp + 0x30], 0
mov dword [esp + 0x34], eax
jne 0x4301a7
mov eax, dword [0x5bbb20]
test eax, eax
je 0x430334
mov dword [esp + 0x40], ebx
xor edi, edi
mov edx, 0x5bbb2c
mov dword [esp + 0x48], esi
mov esi, edi
mov edi, edx
jmp 0x430014
add edi, 0xc
mov eax, dword [edi - 0xc]
add esi, 1
test eax, eax
je 0x430325
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._strcmp
test eax, eax
jne 0x430003
lea eax, [esp + 0xcc]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x5cb5c4
mov dword [esp + 4], 0x64
mov edi, esi
mov esi, dword [esp + 0x48]
mov dword [esp], eax
call sym._snprintf_2
cmp byte [esp + 0x30], 0
je 0x4300c1
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sym._strstr
test eax, eax
jne 0x430213
mov eax, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._strcat
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sym._strlen
mov ecx, dword [esp + 0x44]
mov edx, 0x7c
mov word [ecx + eax], dx
lea eax, [esp + 0x5f]
mov ecx, dword [esp + 0x34]
mov edx, ebx
mov dword [esp], eax
mov eax, esi
call sym._head_join
lea eax, [edi + edi*2]
cmp byte [eax*4 + 0x5bbb29], 0
je 0x430451
movsx ebx, byte [esp + 0x5e]
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp], 0x57
mov dword [esp + 0x48], eax
call dword [sym.imp.msvcrt.dll_toupper]
cmp dword [esp + 0x48], eax
je 0x43011b
mov dword [esp], 0x41
call dword [sym.imp.msvcrt.dll_toupper]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0xcc]
mov dword [esp + 4], edx
sub ecx, eax
mov eax, dword [ecx*4 + 0x746380]
mov dword [esp], eax
call sym._strstr
test eax, eax
je 0x43046f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
lea eax, [edi + edi*2]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], ebp
mov dword [esp], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call dword [eax*4 + 0x5bbb24]
cmp byte [esp + 0x30], 0
jne 0x430a34
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, esi
call sym._send_result
movzx ebx, byte [esp + 0x28]
test bl, bl
je 0x42fd94
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
test edx, edx
jne 0x42fd94
mov ecx, eax
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x42fd94
sub eax, 1
test eax, eax
mov dword [ecx + 4], eax
jne 0x42fd94
mov dword [esp], ecx
call sym._json_delete
jmp 0x42fd94
cmp byte [esp + 0x30], 0
je 0x43021f
mov dword [esp + 4], 0x2b
mov dword [esp], ebx
call sym._strchr
test eax, eax
mov dword [esp + 0x40], eax
je 0x4301c9
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x40], eax
cmp byte [ebx], 0
je 0x430213
mov eax, dword [0x5bbb20]
test eax, eax
jne 0x42fff2
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x5f]
mov edx, ebx
mov dword [esp], eax
mov eax, esi
mov ecx, edi
call sym._head_join
mov dword [esp + 4], edi
mov dword [esp], 0
xor ecx, ecx
mov edx, 0xe
mov eax, esi
call sym._message
mov edx, edi
mov eax, esi
call sym._tail_join
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x40]
test eax, eax
jne 0x4301a0
movzx ebx, byte [esp + 0x28]
jmp 0x4303d0
call sym._WSAErrorMsg
mov dword [esp], 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
call eax
sub eax, edi
mov edx, dword [esp + 0x28]
cmp eax, 0x3d
jg 0x4302c0
cmp byte [0x745ef7], 0
jne 0x43026d
cmp byte [0x732fa0], 0
jne 0x43026d
mov edx, dword [0x5bc2e0]
test edx, edx
jle 0x4302af
lea eax, [esp + 0x2cb0]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_bind_to_port__d_failed___trying_again_in_30sec
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 1
mov dword [esp + 4], eax
call sym.__applog
mov dword [esp], 0x7530
call sym._cgsleep_ms
jmp 0x42fc52
mov eax, dword [esp + 0x68]
mov esi, edx
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
cmp byte [0x745ef7], 0
jne 0x4302f1
cmp byte [0x732fa0], 0
jne 0x4302f1
mov eax, dword [0x5bc2e0]
test eax, eax
js 0x42ebae
lea eax, [esp + 0x2cb0]
mov dword [esp + 0x14], str.___API_will_not_be_available
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_bind_to_port__d_failed___s__s
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
jmp 0x42fa08
cmp byte [esp + 0x30], 0
mov esi, dword [esp + 0x48]
jne 0x4301db
mov edi, dword [esp + 0x34]
xor ecx, ecx
mov edx, 0xe
mov eax, esi
mov dword [esp], 0
mov dword [esp + 4], edi
call sym._message
mov edx, dword [esp + 0x2c]
mov ecx, edi
mov eax, esi
call sym._send_result
movzx ebx, byte [esp + 0x28]
jmp 0x43015f
lea eax, [esp + 0x1b4]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call sym._json_loadb
test eax, eax
mov dword [esp + 0x38], eax
je 0x430395
mov edi, dword [eax]
test edi, edi
je 0x4303f0
mov dword [esp + 4], 1
mov dword [esp], 0
xor ecx, ecx
mov edx, 0x17
mov eax, esi
call sym._message
mov edx, dword [esp + 0x2c]
mov ecx, 1
mov eax, esi
call sym._send_result
mov ebx, dword [esp + 0x38]
mov byte [esp + 0x28], 1
test ebx, ebx
setne bl
cmp byte [esp + 0x30], 0
je 0x43015f
movzx ecx, byte [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, esi
call sym._send_result
jmp 0x43015f
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.command
mov dword [esp], eax
call sym._json_object_get
test eax, eax
je 0x43058d
cmp dword [eax], 2
je 0x430510
mov dword [esp + 4], 1
mov dword [esp], 0
xor ecx, ecx
mov edx, 0xe
jmp 0x4303ab
mov byte [esp + 0x5f], 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x30], 0
jmp 0x42ffcd
mov byte [esp + 0x28], 0
jmp 0x42ff72
mov edi, dword [esp + 0x34]
mov eax, dword [eax*4 + 0x5bbb20]
xor ecx, ecx
mov edx, 0x2d
mov dword [esp + 4], edi
mov dword [esp], eax
jmp 0x430203
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov edx, 0x2d
mov dword [esp + 4], eax
lea eax, [edi + edi*2]
mov eax, dword [eax*4 + 0x5bbb20]
mov dword [esp], eax
mov eax, esi
call sym._message
cmp byte [0x732fa1], 0
je 0x430140
cmp byte [0x745ef7], 0
jne 0x4304be
cmp byte [0x732fa0], 0
jne 0x4304be
cmp dword [0x5bc2e0], 3
jle 0x430140
lea eax, [edi + edi*2]
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], str.API:_access_denied_to__s_for__s_command
mov dword [esp + 4], 0xa00
mov eax, dword [eax*4 + 0x5bbb20]
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
jmp 0x430140
mov dword [esp], eax
call sym._json_string_value
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.parameter
mov dword [esp], eax
call sym._json_object_get
test eax, eax
je 0x4305f8
mov edx, dword [eax]
cmp edx, 2
je 0x4305e4
cmp edx, 3
je 0x4305a8
xor ebp, ebp
cmp edx, 4
mov byte [esp + 0x28], 1
jne 0x42ff72
mov dword [esp], eax
lea ebp, [esp + 0x2cb0]
call sym._json_real_value
lea eax, [esp + 0x2cb0]
fstp qword [esp + 0xc]
mov dword [esp + 8], 0x5cb31b
mov dword [esp + 4], 0x2000
mov dword [esp], eax
call sym._snprintf_2
jmp 0x42ff72
mov dword [esp + 4], 1
mov dword [esp], 0
xor ecx, ecx
mov edx, 0x18
jmp 0x4303ab
mov dword [esp], eax
lea ebp, [esp + 0x2cb0]
call sym._json_integer_value
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0x5cb308
mov dword [esp + 4], 0x2000
mov dword [esp], eax
call sym._snprintf_2
mov byte [esp + 0x28], 1
jmp 0x42ff72
mov dword [esp], eax
call sym._json_string_value
mov byte [esp + 0x28], 1
mov ebp, eax
jmp 0x42ff72
mov byte [esp + 0x28], 1
xor ebp, ebp
jmp 0x42ff72
cmp byte [0x732fa1], 0
mov byte [esp + 0xcb0], 0
je 0x42fd94
cmp byte [0x745ef7], 0
jne 0x430638
cmp byte [0x732fa0], 0
jne 0x430638
cmp dword [0x5bc2e0], 3
jle 0x42fd94
lea ebx, [esp + 0x2b0]
call sym._WSAErrorMsg
mov dword [esp + 8], str.API:_recv_failed:__s
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
jmp 0x42fd94
cmp byte [0x745ef7], 0
jne 0x430699
cmp byte [0x732fa0], 0
jne 0x430699
mov ebp, dword [0x5bc2e0]
test ebp, ebp
js 0x4306eb
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax]
call sym._WSAErrorMsg
mov dword [esp + 0x10], str.___API_will_not_be_available
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], str.API_failed___s__s___d_
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym.__applog
call sym._pthread_getclean
mov edx, dword [esp + 0xa0]
mov dword [eax], edx
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call dword [esp + 0x98]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym._free
cmp byte [0x732fa1], 0
jne 0x430892
mov dword [esp], 0x732b98
call dbg.pthread_mutex_lock
test eax, eax
jne 0x43087e
cmp byte [0x732b94], 0
jne 0x4307bb
cmp byte [0x732b95], 0
jne 0x43077f
mov dword [esp], 0x732b98
call dbg.pthread_mutex_unlock
test eax, eax
jne 0x43076e
call dword [0x5bb9e0]
jmp 0x42ebba
call sym._mcast_init
jmp 0x42fd2b
mov edx, 0x147c
mov eax, 0x5cc650
call sym.__mutex_unlock_noyield.part.5.constprop.29
jmp 0x430759
lea eax, [esp + 0x98]
mov dword [esp + 8], sym._quit_thread
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov dword [esp], eax
call sym._thr_info_create
test eax, eax
jne 0x43084f
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call dbg.pthread_detach
jmp 0x430749
lea eax, [esp + 0x98]
mov dword [esp + 8], sym._restart_thread_1
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov dword [esp], eax
call sym._thr_info_create
test eax, eax
je 0x4307aa
mov dword [esp], 0x732b98
call dbg.pthread_mutex_unlock
test eax, eax
je 0x430801
mov edx, 0x1470
mov eax, 0x5cc650
call sym.__mutex_unlock_noyield.part.5.constprop.29
call dword [0x5bb9e0]
mov dword [esp + 8], str.API_failed_to_initiate_a_restart___aborting
lea ebx, [esp + 0x2b0]
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym.__applog
mov dword [esp], 1
call sym.__quit
jmp 0x4307aa
mov dword [esp], 0x732b98
call dbg.pthread_mutex_unlock
test eax, eax
je 0x43086e
mov edx, 0x1476
mov eax, 0x5cc650
call sym.__mutex_unlock_noyield.part.5.constprop.29
call dword [0x5bb9e0]
mov dword [esp + 8], str.API_failed_to_initiate_a_clean_quit___aborting
jmp 0x43080f
mov edx, 0x146c
mov eax, 0x5cc650
call sym.__mutex_lock.part.3.constprop.24
jmp 0x430737
cmp byte [0x745ef7], 0
jne 0x4308b1
cmp byte [0x732fa0], 0
jne 0x4308b1
cmp dword [0x5bc2e0], 3
jle 0x430723
cmp byte [0x732b95], 0
mov eax, 0x5cc08f
jne 0x4308e1
cmp byte [0x732b94], 0
mov eax, str.RESTART
jne 0x4308e1
cmp byte [0x732b9c], 0
mov edx, 0x5cb15c
mov eax, str.UNKNOWN_
cmovne eax, edx
lea ebx, [esp + 0x2b0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.API:_terminating_due_to:__s
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
jmp 0x430723
cmp byte [0x745371], 0
je 0x430964
cmp byte [0x745ef7], 0
jne 0x430949
cmp byte [0x732fa0], 0
jne 0x430949
mov eax, dword [0x5bc2e0]
test eax, eax
jle 0x42fd1e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_running_in_UNRESTRICTED_read_access_mode_on_port__d___d_
mov dword [esp + 0x10], eax
jmp 0x42fce8
cmp byte [0x745ef7], 0
jne 0x430983
cmp byte [0x732fa0], 0
jne 0x430983
mov eax, dword [0x5bc2e0]
test eax, eax
jle 0x42fd1e
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_running_in_local_read_access_mode_on_port__d___d_
mov dword [esp + 0x10], eax
jmp 0x42fce8
mov eax, dword [esp + 0x3c]
xor ebp, ebp
mov eax, dword [eax]
jmp 0x42fba5
cmp byte [0x745ef7], 0
jne 0x4309c6
cmp byte [0x732fa0], 0
jne 0x4309c6
mov eax, dword [0x5bc2e0]
test eax, eax
js 0x430a15
call sym._WSAErrorMsg
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2cb0]
mov dword [esp + 0x10], str.___API_will_not_be_available
mov dword [esp + 8], str.API3_initialisation_failed___s__s
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_2
lea eax, [esp + 0x2cb0]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.__applog
mov esi, dword [esp + 0x3c]
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
mov dword [esp], esi
call sym._free
jmp 0x42ebba
mov edx, dword [esp + 0x34]
mov eax, esi
call sym._tail_join
jmp 0x430213