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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac8
push esi
push edi
lea edi, [ebp - 0xac8]
mov ecx, 0x2b2
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4c83a4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
add eax, 0x4a8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x18], 0xffffffff
mov al, byte [0x4c9758]
mov byte [ebp - 0x120], al
push 0xff
push 0
lea ecx, [ebp - 0x11f]
push ecx
call fcn.00487550
add esp, 0xc
lea edx, [ebp - 0x1a8]
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d0]
mov dword [ebp - 0x5d8], ecx
mov dword [ebp - 0x9ec], 0
mov edx, 4
imul eax, edx, 0xc
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + eax + 0x92c]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9f8], 0
xor eax, eax
mov word [ebp - 0xa00], ax
xor ecx, ecx
mov word [ebp - 0xa04], cx
mov byte [ebp - 0xa09], 1
mov dword [ebp - 0xa98], 0
mov edx, 4
imul eax, edx, 0xc
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax + 0x92c], 0
je 0x45b3b8
mov edx, 4
imul eax, edx, 0xc
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + eax + 0x92c]
push edx
call fcn.0048f060
add esp, 4
cmp eax, 1
jbe 0x45b3b8
mov eax, dword [ebp - 0x9f0]
push eax
call fcn.0048f060
add esp, 4
cmp eax, 0x41
jae 0x45b089
mov dword [ebp - 0xab8], 0x41
jmp 0x45b09e
mov ecx, dword [ebp - 0x9f0]
push ecx
call fcn.0048f060
add esp, 4
mov dword [ebp - 0xab8], eax
mov edx, dword [ebp - 0xab8]
mov dword [ebp - 0xa9c], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xaa4], 0
mov dword [ebp - 0xaa8], 0
mov dword [ebp - 0xaac], 0
mov esi, esp
push 1
mov ecx, dword [ebp - 0xa9c]
add ecx, 1
push ecx
call dword [0x4bc010]
add esp, 8
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0xa98], eax
cmp dword [ebp - 0xa98], 0
jne 0x45b10b
mov eax, 0x1b
jmp 0x45bd2e
mov edx, dword [ebp - 0x9f0]
movsx eax, byte [edx]
cmp eax, 0x5b
jne 0x45b170
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0xaa0], ecx
push 0x5d
mov edx, dword [ebp - 0x9f0]
push edx
call fcn.00487c30
add esp, 8
mov dword [ebp - 0xaa4], eax
cmp dword [ebp - 0xaa4], 0
je 0x45b16b
mov eax, dword [ebp - 0xaa4]
sub eax, dword [ebp - 0xaa0]
push eax
mov ecx, dword [ebp - 0xaa0]
push ecx
mov edx, dword [ebp - 0xa98]
push edx
call fcn.00496490
add esp, 0xc
jmp 0x45b240
mov eax, dword [ebp - 0x9f0]
movsx ecx, byte [eax]
cmp ecx, 0x3a
jne 0x45b18f
mov edx, dword [ebp - 0x9f0]
mov dword [ebp - 0xaa4], edx
jmp 0x45b240
push 0x3a
mov eax, dword [ebp - 0x9f0]
push eax
call fcn.00487c30
add esp, 8
mov dword [ebp - 0xaa4], eax
cmp dword [ebp - 0xaa4], 0
je 0x45b22a
mov ecx, dword [ebp - 0x5d8]
push ecx
mov edx, dword [ebp - 0x9f0]
push edx
push 0x17
call fcn.00444f40
add esp, 0xc
cmp eax, 1
jne 0x45b205
xor eax, eax
mov word [ebp - 0xa04], ax
mov cx, word [ebp - 0xa04]
mov word [ebp - 0xa00], cx
mov edx, dword [ebp - 0x9f0]
push edx
mov eax, dword [ebp - 0xa98]
push eax
call fcn.004952f0
add esp, 8
mov dword [ebp - 0xaa4], 0
jmp 0x45b228
mov ecx, dword [ebp - 0xaa4]
sub ecx, dword [ebp - 0xaa0]
push ecx
mov edx, dword [ebp - 0x9f0]
push edx
mov eax, dword [ebp - 0xa98]
push eax
call fcn.00496490
add esp, 0xc
jmp 0x45b240
mov ecx, dword [ebp - 0x9f0]
push ecx
mov edx, dword [ebp - 0xa98]
push edx
call fcn.004952f0
add esp, 8
cmp dword [ebp - 0xaa4], 0
je 0x45b2e9
push 0x3a
mov eax, dword [ebp - 0xaa4]
push eax
call fcn.00487c30
add esp, 8
mov dword [ebp - 0xaa8], eax
cmp dword [ebp - 0xaa8], 0
je 0x45b2e9
push 0xa
push 0
mov ecx, dword [ebp - 0xaa8]
add ecx, 1
push ecx
call fcn.0049520b
add esp, 0xc
push eax
call fcn.0042e8c0
add esp, 4
mov word [ebp - 0xa00], ax
push 0x2d
mov edx, dword [ebp - 0xaa8]
push edx
call fcn.00487c30
add esp, 8
mov dword [ebp - 0xaac], eax
cmp dword [ebp - 0xaac], 0
je 0x45b2db
push 0xa
push 0
mov eax, dword [ebp - 0xaac]
add eax, 1
push eax
call fcn.0049520b
add esp, 0xc
push eax
call fcn.0042e8c0
add esp, 4
mov word [ebp - 0xa04], ax
jmp 0x45b2e9
mov cx, word [ebp - 0xa00]
mov word [ebp - 0xa04], cx
movzx edx, word [ebp - 0xa00]
movzx eax, word [ebp - 0xa04]
cmp edx, eax
jle 0x45b312
xor ecx, ecx
mov word [ebp - 0xa04], cx
mov dx, word [ebp - 0xa04]
mov word [ebp - 0xa00], dx
mov eax, dword [ebp - 0xa98]
movsx ecx, byte [eax]
test ecx, ecx
je 0x45b3ae
push 0x401
lea edx, [ebp - 0x5c8]
push edx
mov eax, dword [ebp - 0xa98]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x8c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00472a40
add esp, 4
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx + 4]
push edx
call fcn.00472c20
add esp, 0x18
mov dword [ebp - 0xabc], eax
cmp dword [ebp - 0xabc], 0
je 0x45b388
cmp dword [ebp - 0xabc], 1
je 0x45b396
cmp dword [ebp - 0xabc], 2
je 0x45b3a0
jmp 0x45b3ac
mov eax, dword [ebp - 0xa98]
mov dword [ebp - 0x9ec], eax
jmp 0x45b3ac
mov eax, 0x1e
jmp 0x45bd2e
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 0x9ec], ecx
jmp 0x45b3b8
mov dword [ebp - 0x9ec], 0
cmp dword [ebp - 0x9ec], 0
jne 0x45b4db
mov dword [ebp - 0x1bc], 0x80
mov esi, esp
lea edx, [ebp - 0x1bc]
push edx
mov eax, dword [ebp - 0x5d0]
push eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x1a8]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
cmp esi, esp
call fcn.00485c0f
test eax, eax
je 0x45b45c
push 0x80
lea edx, [ebp - 0xa90]
push edx
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
push eax
call fcn.00471b20
add esp, 0xc
push eax
push 0x4c1acc
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042abc0
add esp, 0xc
mov esi, esp
mov ecx, dword [ebp - 0xa98]
push ecx
call dword [0x4bc004]
add esp, 4
cmp esi, esp
call fcn.00485c0f
mov eax, 0x1e
jmp 0x45bd2e
mov edx, dword [ebp - 0x5d0]
movzx eax, word [edx]
mov dword [ebp - 0xac0], eax
cmp dword [ebp - 0xac0], 0x17
je 0x45b476
jmp 0x45b4a0
push 0x401
lea ecx, [ebp - 0x5c8]
push ecx
mov edx, dword [ebp - 0x5d8]
add edx, 8
push edx
mov eax, dword [ebp - 0x5d0]
movzx ecx, word [eax]
push ecx
call fcn.004462b0
add esp, 0x10
jmp 0x45b4c8
push 0x401
lea edx, [ebp - 0x5c8]
push edx
mov eax, dword [ebp - 0x5d4]
add eax, 4
push eax
mov ecx, dword [ebp - 0x5d0]
movzx edx, word [ecx]
push edx
call fcn.004462b0
add esp, 0x10
lea eax, [ebp - 0x5c8]
mov dword [ebp - 0x9ec], eax
mov byte [ebp - 0xa09], 0
lea ecx, [ebp - 0x9f8]
push ecx
push 0
mov edx, dword [ebp - 0x9ec]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004193f0
add esp, 0x10
mov dword [ebp - 0x9e4], eax
cmp dword [ebp - 0x9e4], 1
jne 0x45b519
lea ecx, [ebp - 0x9f8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00418920
add esp, 8
cmp dword [ebp - 0x9f8], 0
je 0x45b545
mov eax, dword [ebp - 0x9f8]
mov ecx, dword [eax]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x9f8]
push edx
mov eax, dword [ebp - 0x10]
push eax
call fcn.004196f0
add esp, 8
jmp 0x45b54f
mov dword [ebp - 0x1b0], 0
cmp dword [ebp - 0x1b0], 0
jne 0x45b593
mov ecx, dword [ebp - 0x9ec]
push ecx
push str.failed_to_resolve_the_address_provided_to_PORT:__s
mov edx, dword [ebp - 0x10]
push edx
call fcn.0042abc0
add esp, 0xc
mov esi, esp
mov eax, dword [ebp - 0xa98]
push eax
call dword [0x4bc004]
add esp, 4
cmp esi, esp
call fcn.00485c0f
mov eax, 0x1e
jmp 0x45bd2e
mov esi, esp
mov ecx, dword [ebp - 0xa98]
push ecx
call dword [0x4bc004]
add esp, 4
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x9ec], 0
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x9e8], 0
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b4], edx
jmp 0x45b5e4
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1b4], ecx
cmp dword [ebp - 0x1b4], 0
je 0x45b62a
lea edx, [ebp - 0x18]
push edx
push 0
mov eax, dword [ebp - 0x1b4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d110
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45b626
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x9e8], eax
jmp 0x45b5d5
jmp 0x45b62a
cmp dword [ebp - 0x1b4], 0
jne 0x45b66a
push 0x80
lea edx, [ebp - 0xa90]
push edx
mov eax, dword [ebp - 0x9e8]
push eax
call fcn.00471b20
add esp, 0xc
push eax
push 0x4c1b1c
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0042abc0
add esp, 0xc
mov eax, 0x1e
jmp 0x45bd2e
mov edx, dword [ebp - 0x1b4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x5d0]
push eax
call fcn.004876b0
add esp, 0xc
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x1bc], edx
mov ax, word [ebp - 0xa00]
mov word [ebp - 0xa08], ax
movzx ecx, word [ebp - 0xa08]
movzx edx, word [ebp - 0xa04]
cmp ecx, edx
jg 0x45b8cb
mov eax, dword [ebp - 0x5d0]
movzx ecx, word [eax]
cmp ecx, 2
jne 0x45b6f1
mov esi, esp
movzx edx, word [ebp - 0xa08]
push edx
call dword [sym.imp.WS2_32.dll_htons]
cmp esi, esp
call fcn.00485c0f
mov ecx, dword [ebp - 0x5d4]
mov word [ecx + 2], ax
jmp 0x45b712
mov esi, esp
movzx edx, word [ebp - 0xa08]
push edx
call dword [sym.imp.WS2_32.dll_htons]
cmp esi, esp
call fcn.00485c0f
mov ecx, dword [ebp - 0x5d8]
mov word [ecx + 2], ax
mov esi, esp
mov edx, dword [ebp - 0x1bc]
push edx
mov eax, dword [ebp - 0x5d0]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_bind]
cmp esi, esp
call fcn.00485c0f
test eax, eax
je 0x45b8b2
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x9e8], eax
movzx edx, byte [ebp - 0xa09]
test edx, edx
je 0x45b84c
cmp dword [ebp - 0x9e8], 0x2741
jne 0x45b84c
push 0x80
lea eax, [ebp - 0xa90]
push eax
mov ecx, dword [ebp - 0x9e8]
push ecx
call fcn.00471b20
add esp, 0xc
push eax
movzx edx, word [ebp - 0xa08]
push edx
push str.bind_port_hu__on_non_local_address_failed:__s_n
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042aa70
add esp, 0x10
mov dword [ebp - 0x1bc], 0x80
mov esi, esp
lea ecx, [ebp - 0x1bc]
push ecx
mov edx, dword [ebp - 0x5d0]
push edx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x1a8]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
cmp esi, esp
call fcn.00485c0f
test eax, eax
je 0x45b832
push 0x80
lea ecx, [ebp - 0xa90]
push ecx
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
push eax
call fcn.00471b20
add esp, 0xc
push eax
push 0x4c1b60
mov edx, dword [ebp - 0x10]
push edx
call fcn.0042abc0
add esp, 0xc
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d010
add esp, 8
mov eax, 0x1e
jmp 0x45bd2e
mov dx, word [ebp - 0xa00]
mov word [ebp - 0xa08], dx
mov byte [ebp - 0xa09], 0
jmp 0x45b6aa
cmp dword [ebp - 0x9e8], 0x2740
je 0x45b8b0
cmp dword [ebp - 0x9e8], 0xd
je 0x45b8b0
push 0x80
lea eax, [ebp - 0xa90]
push eax
mov ecx, dword [ebp - 0x9e8]
push ecx
call fcn.00471b20
add esp, 0xc
push eax
movzx edx, word [ebp - 0xa08]
push edx
push str.bind_port_hu__failed:__s
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042abc0
add esp, 0x10
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042d010
add esp, 8
mov eax, 0x1e
jmp 0x45bd2e
jmp 0x45b8b4
jmp 0x45b8cb
mov ax, word [ebp - 0xa08]
add ax, 1
mov word [ebp - 0xa08], ax
jmp 0x45b6aa
movzx ecx, word [ebp - 0xa08]
movzx edx, word [ebp - 0xa04]
cmp ecx, edx
jle 0x45b908
push str.bind___failed__we_ran_out_of_ports_
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042abc0
add esp, 8
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042d010
add esp, 8
mov eax, 0x1e
jmp 0x45bd2e
mov dword [ebp - 0x1bc], 0x80
mov esi, esp
lea eax, [ebp - 0x1bc]
push eax
mov ecx, dword [ebp - 0x5d0]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
cmp esi, esp
call fcn.00485c0f
test eax, eax
je 0x45b987
push 0x80
lea eax, [ebp - 0xa90]
push eax
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
push eax
call fcn.00471b20
add esp, 0xc
push eax
push str.getsockname___failed:__s
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0042abc0
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042d010
add esp, 8
mov eax, 0x1e
jmp 0x45bd2e
mov esi, esp
push 1
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_listen]
cmp esi, esp
call fcn.00485c0f
test eax, eax
je 0x45b9f0
push 0x80
lea edx, [ebp - 0xa90]
push edx
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
push eax
call fcn.00471b20
add esp, 0xc
push eax
push str.socket_failure:__s
mov eax, dword [ebp - 0x10]
push eax
call fcn.0042abc0
add esp, 0xc
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042d010
add esp, 8
mov eax, 0x1e
jmp 0x45bd2e
push 0x100
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x1b4]
push ecx
call fcn.00419910
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x284]
shr eax, 0x12
and eax, 1
jne 0x45ba45
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x284]
shr edx, 0xa
and edx, 1
je 0x45ba45
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x284]
or ecx, 0x40000
mov edx, dword [ebp + 8]
mov dword [edx + 0x284], ecx
jmp 0x45ba50
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 2
je 0x45bce0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x284]
shr edx, 0x12
and edx, 1
jne 0x45ba73
cmp dword [ebp + 0xc], 0
jne 0x45ba73
jmp 0x45ba47
cmp dword [ebp + 0xc], 1
jne 0x45ba89
mov eax, dword [ebp - 0x5d0]
movzx ecx, word [eax]
cmp ecx, 2
je 0x45ba89
jmp 0x45ba47
mov edx, dword [ebp - 0x5d0]
movzx eax, word [edx]
mov dword [ebp - 0xac4], eax
cmp dword [ebp - 0xac4], 2
je 0x45baac
cmp dword [ebp - 0xac4], 0x17
je 0x45bacf
jmp 0x45baf2
mov esi, esp
mov ecx, dword [ebp - 0x5d4]
movzx edx, word [ecx + 2]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
cmp esi, esp
call fcn.00485c0f
mov word [ebp - 0xa08], ax
jmp 0x45baf7
mov esi, esp
mov eax, dword [ebp - 0x5d8]
movzx ecx, word [eax + 2]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
cmp esi, esp
call fcn.00485c0f
mov word [ebp - 0xa08], ax
jmp 0x45baf7
jmp 0x45ba47
cmp dword [ebp + 0xc], 0
jne 0x45bbb3
mov edx, dword [ebp - 0x5d0]
movzx eax, word [edx]
cmp eax, 2
jne 0x45bb1b
mov dword [ebp - 0xac8], 1
jmp 0x45bb25
mov dword [ebp - 0xac8], 2
movzx ecx, word [ebp - 0xa08]
push ecx
lea edx, [ebp - 0x120]
push edx
mov eax, dword [ebp - 0xac8]
push eax
imul ecx, dword [ebp + 0xc], 5
add ecx, str.EPRT
push ecx
push str._s__d_s_hu
mov edx, dword [ebp - 0xc]
push edx
call fcn.0047b3a0
add esp, 0x18
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45bbae
mov eax, dword [ebp - 8]
push eax
call fcn.00471540
add esp, 4
push eax
push str.Failure_sending_EPRT_command:__s
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0042abc0
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042d010
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x6c], 1
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00457120
add esp, 8
mov eax, dword [ebp - 8]
jmp 0x45bd2e
jmp 0x45bce0
cmp dword [ebp + 0xc], 1
jne 0x45bcdb
lea eax, [ebp - 0x120]
mov dword [ebp - 0xab0], eax
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0xab4], ecx
cmp dword [ebp - 0xab0], 0
je 0x45bc34
mov edx, dword [ebp - 0xab0]
movsx eax, byte [edx]
test eax, eax
je 0x45bc34
mov ecx, dword [ebp - 0xab0]
movsx edx, byte [ecx]
cmp edx, 0x2e
jne 0x45bc04
mov eax, dword [ebp - 0xab4]
mov byte [eax], 0x2c
jmp 0x45bc14
mov ecx, dword [ebp - 0xab4]
mov edx, dword [ebp - 0xab0]
mov al, byte [edx]
mov byte [ecx], al
mov ecx, dword [ebp - 0xab4]
add ecx, 1
mov dword [ebp - 0xab4], ecx
mov edx, dword [ebp - 0xab0]
add edx, 1
mov dword [ebp - 0xab0], edx
jmp 0x45bbd5
mov eax, dword [ebp - 0xab4]
mov byte [eax], 0
movzx ecx, word [ebp - 0xa08]
and ecx, 0xff
push ecx
movzx edx, word [ebp - 0xa08]
sar edx, 8
push edx
push str.__d__d
push 0x14
mov eax, dword [ebp - 0xab4]
push eax
call fcn.00441b00
add esp, 0x14
lea ecx, [ebp - 0x9dc]
push ecx
imul edx, dword [ebp + 0xc], 5
add edx, str.EPRT
push edx
push 0x4c1c28
mov eax, dword [ebp - 0xc]
push eax
call fcn.0047b3a0
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45bcd9
mov ecx, dword [ebp - 8]
push ecx
call fcn.00471540
add esp, 4
push eax
push str.Failure_sending_PORT_command:__s
mov edx, dword [ebp - 0x10]
push edx
call fcn.0042abc0
add esp, 0xc
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042d010
add esp, 8
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00457120
add esp, 8
mov eax, dword [ebp - 8]
jmp 0x45bd2e
jmp 0x45bce0
jmp 0x45ba47
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x6c], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0045a260
add esp, 4
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov dword [ecx + eax + 0x1a8], edx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov byte [ecx + eax + 0x282], 1
push 0x1c
mov edx, dword [ebp + 8]
push edx
call fcn.00457120
add esp, 8
mov eax, dword [ebp - 8]
push edx
mov ecx, ebp
push eax
lea edx, [0x45bd5c]
call fcn.00485bbb
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004854a8
add esp, 0xac8
cmp ebp, esp
call fcn.00485c0f
mov esp, ebp
pop ebp
ret