Function at 0x493780
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9bc
mov eax, dword [0x70e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
lea eax, [ebp - 0x108]
push 0x100
push 0
push eax
mov edi, dword [esi]
mov ebx, edx
mov dword [ebp - 0x9a8], edi
call fcn.005f46f0
mov edi, dword [edi + 0x3f0]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x9ac], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x9b8], 0
mov byte [ebp - 0x99d], 1
mov dword [ebp - 0x99c], eax
test edi, edi
je 0x4939ed
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4937f8
sub ecx, edx
cmp ecx, 1
jbe 0x4939ed
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493810
sub ecx, edx
cmp ecx, 0x41
jae 0x493825
mov ecx, 0x41
jmp 0x493839
mov ecx, edi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x493830
sub ecx, edx
lea eax, [ecx + 1]
push 1
push eax
call dword [0x725408]
add esp, 8
mov dword [ebp - 0x99c], eax
test eax, eax
jne 0x493868
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov al, byte [edi]
cmp al, 0x5b
jne 0x4938aa
push 0x5d
push edi
call fcn.005fa980
mov ecx, eax
add esp, 8
mov dword [ebp - 0x9a4], ecx
test ecx, ecx
je 0x49392f
lea eax, [edi + 1]
sub ecx, eax
push ecx
push eax
mov eax, dword [ebp - 0x99c]
push eax
call fcn.00601480
mov ecx, dword [ebp - 0x9a4]
add esp, 0xc
jmp 0x49392f
cmp al, 0x3a
jne 0x4938b2
mov ecx, edi
jmp 0x49392f
push 0x3a
push edi
call fcn.005fa980
mov ecx, eax
add esp, 8
mov dword [ebp - 0x9a4], ecx
test ecx, ecx
je 0x49391a
lea edx, [ebp - 0x998]
mov ecx, edi
call fcn.00488f30
cmp eax, 1
jne 0x4938f9
mov ecx, dword [ebp - 0x99c]
sub ecx, edi
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x4938e3
xor edi, edi
xor edx, edx
jmp 0x493989
mov eax, dword [ebp - 0x9a4]
sub eax, edi
push eax
mov eax, dword [ebp - 0x99c]
push edi
push eax
call fcn.00601480
mov ecx, dword [ebp - 0x9a4]
add esp, 0xc
jmp 0x49392f
mov edx, dword [ebp - 0x99c]
sub edx, edi
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [edx + edi - 1], al
test al, al
jne 0x493922
xor edi, edi
xor edx, edx
test ecx, ecx
je 0x493989
push 0x3a
push ecx
call fcn.005fa980
add esp, 8
mov dword [ebp - 0x914], eax
xor edx, edx
test eax, eax
je 0x493989
push 0xa
push edx
lea ecx, [eax + 1]
push ecx
call fcn.00611a1c
add esp, 0xc
movzx edi, ax
push 0x2d
push dword [ebp - 0x914]
call fcn.005fa980
add esp, 8
test eax, eax
je 0x493987
push 0xa
inc eax
push 0
push eax
call fcn.00611a1c
add esp, 0xc
movzx edx, ax
jmp 0x493989
mov edx, edi
xor ecx, ecx
movzx eax, dx
cmp di, dx
cmovbe ecx, eax
movzx eax, cx
xor ecx, ecx
cmp di, dx
mov dword [ebp - 0x9a4], eax
movzx eax, di
mov edi, dword [ebp - 0x99c]
cmovbe ecx, eax
movzx ecx, cx
cmp byte [edi], 0
je 0x4939d4
mov edx, ecx
mov eax, edi
mov ecx, dword [ebp - 0x9a4]
movzx ecx, cx
mov dword [ebp - 0x9b0], edx
mov dword [ebp - 0x9b8], ecx
jmp 0x493a8c
mov eax, ecx
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9b0], eax
movzx eax, cx
mov dword [ebp - 0x9b8], eax
jmp 0x4939ef
xor edi, edi
lea eax, [ebp - 0x918]
mov dword [ebp - 0x918], 0x80
push eax
lea eax, [ebp - 0x998]
push eax
push dword [esi + 0x1a8]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x493a40
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
push edi
jmp 0x494247
mov ax, word [ebp - 0x998]
push 0x401
cmp ax, 0x17
je 0x493a64
lea ecx, [ebp - 0x510]
push ecx
movzx ecx, ax
lea edx, [ebp - 0x994]
jmp 0x493a76
lea eax, [ebp - 0x510]
mov ecx, 0x17
push eax
lea edx, [ebp - 0x990]
call fcn.00489530
add esp, 8
lea eax, [ebp - 0x510]
xor cl, cl
mov byte [ebp - 0x99d], cl
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 0x914], eax
push ecx
push 0
mov edx, eax
mov ecx, esi
call fcn.0046fa30
add esp, 8
cmp eax, 1
jne 0x493ab9
lea edx, [ebp - 0x9ac]
mov ecx, esi
call fcn.0047a480
mov edx, dword [ebp - 0x9ac]
test edx, edx
je 0x494227
mov edi, dword [edx]
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x9b4], edi
call fcn.0046fc00
test edi, edi
je 0x494227
mov eax, dword [ebp - 0x99c]
push eax
call dword [0x725400]
add esp, 4
mov dword [ebp - 0x9ac], 0xffffffff
mov dword [ebp - 0x99c], 0
lea eax, [ebp - 0x9ac]
mov edx, edi
push eax
push 0
mov ecx, esi
call fcn.0046e9d0
add esp, 8
mov dword [ebp - 0x9a4], eax
test eax, eax
je 0x493b40
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [edi + 0x1c]
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x9b4], edi
test edi, edi
jne 0x493b06
jmp 0x493b4a
test edi, edi
jne 0x493b6c
mov eax, dword [ebp - 0x99c]
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
push str.socket_failure:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
jmp 0x494250
push dword [edi + 0x10]
lea eax, [ebp - 0x998]
push dword [edi + 0x18]
push eax
call fcn.005f40c0
mov eax, dword [edi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x9b0]
cmp cx, word [ebp - 0x9b8]
mov edi, dword [ebp - 0x9ac]
mov dword [ebp - 0x918], eax
movzx eax, cx
mov dword [ebp - 0x99c], eax
ja 0x49418c
mov ecx, dword [sym.imp.WS2_32.dll_htons]
push eax
call ecx
push dword [ebp - 0x918]
mov word [ebp - 0x996], ax
lea eax, [ebp - 0x998]
push eax
push edi
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x493d16
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp byte [ebp - 0x99d], 0
je 0x493c5a
cmp eax, 0x2741
jne 0x493c5a
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
mov eax, dword [ebp - 0x99c]
movzx eax, ax
push eax
push str.bind_port_hu__on_non_local_address_failed:__s_n
push dword [ebp - 0x9a8]
call fcn.0046c560
add esp, 0x10
mov dword [ebp - 0x918], 0x80
lea eax, [ebp - 0x918]
push eax
lea eax, [ebp - 0x998]
push eax
push dword [esi + 0x1a8]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x493c7d
mov eax, dword [ebp - 0x9b0]
xor cl, cl
movzx eax, ax
cmp ax, word [ebp - 0x9b8]
mov byte [ebp - 0x99d], cl
jmp 0x493ba0
cmp eax, 0x2740
je 0x493c6a
cmp eax, 0xd
jne 0x493ced
mov eax, dword [ebp - 0x99c]
inc eax
cmp ax, word [ebp - 0x9b8]
jmp 0x493ba0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
cmp dword [esi + 0x40], 0
je 0x493cbe
cmp edi, dword [esi + 0x1ac]
jne 0x493cd3
cmp byte [esi + 0x1b9], 0
je 0x493cd3
mov byte [esi + 0x1b9], 0
mov edx, edi
mov ecx, esi
call fcn.0046b4e0
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x494250
mov edx, edi
mov ecx, esi
call fcn.0046b4e0
mov eax, dword [esi + 0x40]
push edi
push dword [esi + 0x44]
call eax
add esp, 8
jmp 0x494250
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
mov eax, dword [ebp - 0x99c]
movzx eax, ax
push eax
push str.bind_port_hu__failed:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0x10
jmp 0x493ca0
mov eax, dword [ebp - 0x99c]
cmp ax, word [ebp - 0x9b8]
ja 0x49418c
lea eax, [ebp - 0x918]
mov dword [ebp - 0x918], 0x80
push eax
lea eax, [ebp - 0x998]
push eax
push edi
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x493e00
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
cmp dword [esi + 0x40], 0
je 0x493d99
cmp edi, dword [esi + 0x1ac]
jne 0x493cd3
cmp byte [esi + 0x1b9], 0
je 0x493cd3
mov byte [esi + 0x1b9], 0
mov eax, dword [esi]
mov ebx, dword [eax + 0x64]
test ebx, ebx
je 0x493df4
mov dword [ebp - 0x914], edi
cmp edi, 0xffffffff
je 0x493df4
push 4
lea edx, [ebp - 0x914]
lea ecx, [ebx + 0x60]
call fcn.00481f80
add esp, 4
test eax, eax
je 0x493df4
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x493ddb
push dword [eax + 0xc]
push dword [ebx + 0x38]
push 4
push edi
push dword [esi]
call edx
add esp, 0x14
push 4
lea edx, [ebp - 0x914]
mov dword [ebp - 0x914], edi
lea ecx, [ebx + 0x60]
call fcn.00481eb0
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x494250
push 1
push edi
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x493e27
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, esi
call fcn.00488d10
push eax
push str.socket_failure:__s
jmp 0x493c92
mov ecx, dword [ebp - 0x9b4]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x493e52
sub eax, 0x15
jne 0x493e6b
mov ecx, dword [ecx + 0x18]
lea edx, [ebp - 0x108]
add ecx, 8
push 0x100
call fcn.00489230
jmp 0x493e68
mov ecx, dword [ecx + 0x18]
lea edx, [ebp - 0x108]
add ecx, 4
push 0x100
call fcn.00489190
add esp, 4
cmp byte [esi + 0x2b1], 0
jne 0x493e84
cmp byte [esi + 0x2a7], 0
je 0x493e84
mov byte [esi + 0x2b1], 1
cmp ebx, 2
je 0x493ef0
mov edx, dword [sym.imp.WS2_32.dll_ntohs]
mov cx, word [ebp - 0x998]
cmp byte [esi + 0x2b1], 0
jne 0x493ea3
test ebx, ebx
je 0x493eea
cmp ebx, 1
jne 0x493eae
cmp cx, 2
jne 0x493eea
movzx eax, cx
sub eax, 2
je 0x493ebb
sub eax, 0x15
jne 0x493eea
push dword [ebp - 0x996]
call edx
movzx eax, ax
mov dword [ebp - 0x9b0], eax
test ebx, ebx
je 0x4940a4
cmp ebx, 1
je 0x493fcb
mov cx, word [ebp - 0x998]
mov edx, dword [sym.imp.WS2_32.dll_ntohs]
inc ebx
cmp ebx, 2
jne 0x493e96
mov dword [esi + 0x510], ebx
mov ebx, dword [esi + 0x1ac]
cmp ebx, 0xffffffff
je 0x493f9d
cmp dword [esi + 0x40], 0
je 0x493f1f
cmp byte [esi + 0x1b9], 0
je 0x494172
mov byte [esi + 0x1b9], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x9b4], eax
test eax, eax
je 0x493f8c
add eax, 0x60
mov dword [ebp - 0x914], ebx
push 4
lea edx, [ebp - 0x914]
mov dword [ebp - 0x9ac], eax
mov ecx, eax
call fcn.00481f80
add esp, 4
test eax, eax
je 0x493f8c
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x493f70
push dword [eax + 0xc]
push dword [ecx + 0x38]
push 4
push ebx
push dword [esi]
call edx
add esp, 0x14
mov ecx, dword [ebp - 0x9ac]
lea edx, [ebp - 0x914]
push 4
mov dword [ebp - 0x914], ebx
call fcn.00481eb0
add esp, 4
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esi + 0x1ac], 0xffffffff
mov eax, dword [ebp - 0x9a4]
mov dword [esi + 0x1ac], edi
mov byte [esi + 0x2aa], 1
mov dword [esi + 0x51c], 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x108]
mov edi, 0x2c
lea edx, [ebp - 0x910]
mov dword [ebp - 0x9b4], eax
mov cl, byte [eax]
test cl, cl
je 0x494005
cmp cl, 0x2e
movzx eax, cl
cmove eax, edi
mov byte [edx], al
inc edx
mov eax, dword [ebp - 0x9b4]
add eax, 1
mov dword [ebp - 0x9b4], eax
jne 0x493fe2
mov eax, dword [ebp - 0x9b0]
movzx ecx, ax
movzx eax, cl
push eax
shr ecx, 8
push ecx
push str.__d__d
push 0x14
push edx
mov byte [edx], 0
call sym.hrkill.exe_curl_msnprintf
add esp, 0x14
lea eax, [ebp - 0x910]
push eax
push str.PORT
lea eax, [esi + 0x4a8]
push 0x6f8f74
push eax
call fcn.004a74b0
mov edi, dword [ebp - 0x9ac]
add esp, 0x10
mov dword [ebp - 0x9a4], eax
test eax, eax
je 0x493ef0
push eax
call sym.hrkill.exe_curl_easy_strerror
add esp, 4
push eax
push str.Failure_sending_PORT_command:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.0046e980
mov eax, dword [ebp - 0x9a4]
mov dword [esi + 0x51c], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
movzx eax, ax
push eax
lea eax, [ebp - 0x108]
push eax
xor eax, eax
cmp word [ebp - 0x998], 2
setne al
inc eax
push eax
push str.EPRT
lea eax, [esi + 0x4a8]
push str._s__d_s_hu
push eax
call fcn.004a74b0
add esp, 0x18
mov dword [ebp - 0x9a4], eax
test eax, eax
je 0x493ef0
push eax
call sym.hrkill.exe_curl_easy_strerror
add esp, 4
push eax
push str.Failure_sending_EPRT_command:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 0xc
cmp dword [esi + 0x40], 0
je 0x494120
cmp edi, dword [esi + 0x1ac]
jne 0x49415b
cmp byte [esi + 0x1b9], 0
je 0x49415b
mov byte [esi + 0x1b9], 0
mov edx, edi
mov ecx, esi
call fcn.0046b4e0
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x9a4]
mov dword [esi + 0x510], 1
mov dword [esi + 0x51c], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, esi
call fcn.0046b4e0
mov eax, dword [esi + 0x40]
push edi
push dword [esi + 0x44]
call eax
add esp, 8
jmp 0x494130
mov edx, ebx
mov ecx, esi
call fcn.0046b4e0
mov eax, dword [esi + 0x40]
push ebx
push dword [esi + 0x44]
call eax
add esp, 8
jmp 0x493f93
push str.bind___failed__we_ran_out_of_ports_
push dword [ebp - 0x9a8]
call fcn.0046c5e0
add esp, 8
cmp dword [esi + 0x40], 0
je 0x493d99
cmp edi, dword [esi + 0x1ac]
jne 0x4941be
cmp byte [esi + 0x1b9], 0
jne 0x493d92
mov eax, dword [esi]
mov ebx, dword [eax + 0x64]
test ebx, ebx
je 0x494219
mov dword [ebp - 0x914], edi
cmp edi, 0xffffffff
je 0x494219
lea ecx, [ebx + 0x60]
push 4
lea edx, [ebp - 0x914]
call fcn.00481f80
add esp, 4
test eax, eax
je 0x494219
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x494200
push dword [eax + 0xc]
push dword [ebx + 0x38]
push 4
push edi
push dword [esi]
call edx
add esp, 0x14
push 4
lea edx, [ebp - 0x914]
mov dword [ebp - 0x914], edi
lea ecx, [ebx + 0x60]
call fcn.00481eb0
add esp, 4
mov eax, dword [esi + 0x40]
push edi
push dword [esi + 0x44]
call eax
add esp, 8
jmp 0x494250
push dword [ebp - 0x914]
push str.failed_to_resolve_the_address_provided_to_PORT:__s
push dword [ebp - 0x9a8]
call fcn.0046c5e0
mov eax, dword [ebp - 0x99c]
add esp, 0xc
push eax
call dword [0x725400]
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 0x1e
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aa758
mov esp, ebp
pop ebp
ret