Function at 0x472ba0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x4e412c]
xor eax, ebp
mov dword [ebp - 4], eax
push str.LTaddPort_P2PNT4___start_n
push 0
call fcn.004718a0
add esp, 8
call fcn.00473800
and eax, 0x500
jne 0x472bd5
xor eax, eax
jmp 0x472f78
lea eax, [ebp - 0x424]
push eax
call fcn.004609e0
add esp, 4
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
je 0x472c92
mov dword [ebp - 0x40c], 0
jmp 0x472c12
mov ecx, dword [ebp - 0x40c]
add ecx, 1
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x410]
jge 0x472c47
mov eax, dword [ebp - 0x40c]
shl eax, 4
mov ecx, dword [ebp - 0x424]
mov edx, dword [ecx + eax]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00468510
add esp, 8
test eax, eax
jne 0x472c45
jmp 0x472c47
jmp 0x472c03
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.00460db0
add esp, 4
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x410]
jge 0x472c92
mov eax, dword [ebp + 0xc]
push eax
push str.LTaddPort_P2PNT4___already_existing_port__return_it___s__n
push 0
call fcn.004718a0
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
push 0x540118
call fcn.00489ae0
add esp, 8
mov eax, 0x540118
jmp 0x472f78
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x418], 0
lea edx, [ebp - 0x42c]
push edx
call fcn.004609e0
add esp, 4
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
push eax
push str.LTaddPort_P2PNT4___oldportnum_is__d_n
push 0
call fcn.004718a0
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
push str.LTaddPort_P2PNT4___hOwner__x___addr__s__n
push 0
call fcn.004718a0
add esp, 0x10
push 4
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x408]
push ecx
call fcn.00489120
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x404]
push eax
call fcn.00489ae0
add esp, 8
push 4
lea ecx, [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00489c70
add esp, 4
lea eax, [ebp + eax - 0x403]
push eax
call fcn.00489120
add esp, 0xc
push str.LTaddPort_P2PNT4___start_threadCheckAddLocalPortUI_n
push 0
call fcn.004718a0
add esp, 8
lea ecx, [ebp - 0x414]
push ecx
push 0
lea edx, [ebp - 0x408]
push edx
push 0x472f90
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x41c], eax
push str.Local_Port
mov eax, dword [ebp + 8]
push eax
push 0
call sub.WINSPOOL.DRV_AddPortA
test eax, eax
jne 0x472dc0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0x70a
jne 0x472daa
mov ecx, dword [ebp - 0x434]
push ecx
push str.LTaddPort_P2PNT4___AddPort___err_existing_port_name___d__n
push 0
call fcn.004718a0
add esp, 0xc
jmp 0x472dc0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.LTaddPort_P2PNT4___AddPort___error___d__n
push 0
call fcn.004718a0
add esp, 0xc
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x418]
push eax
call fcn.004609e0
add esp, 4
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x430]
push ecx
push str.LTaddPort_P2PNT4___newportnum_is__d_n
push 0
call fcn.004718a0
add esp, 0xc
mov dword [ebp - 0x40c], 0
jmp 0x472e13
mov edx, dword [ebp - 0x40c]
add edx, 1
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp - 0x430]
jge 0x472f36
mov dword [ebp - 0x428], 0
jmp 0x472e40
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
cmp edx, dword [ebp - 0x420]
jge 0x472ebc
mov eax, dword [ebp - 0x428]
shl eax, 4
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx + eax]
push edx
mov eax, dword [ebp - 0x40c]
shl eax, 4
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx + eax]
push edx
push str.LTaddPort_P2PNT4___new_i___s___old_j___s__n
push 0
call fcn.004718a0
add esp, 0x10
mov eax, dword [ebp - 0x40c]
shl eax, 4
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx + eax]
push edx
mov eax, dword [ebp - 0x428]
shl eax, 4
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ecx + eax]
push edx
call fcn.0048a3e0
add esp, 8
test eax, eax
jne 0x472eb7
jmp 0x472ebc
jmp 0x472e31
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x420]
jne 0x472f31
mov ecx, dword [ebp - 0x40c]
shl ecx, 4
mov edx, dword [ebp - 0x418]
mov eax, dword [edx + ecx]
push eax
push str.LTaddPort_P2PNT4___found_new_port___s__n
push 0
call fcn.004718a0
add esp, 0xc
mov ecx, dword [ebp - 0x40c]
shl ecx, 4
mov edx, dword [ebp - 0x418]
mov eax, dword [edx + ecx]
push eax
push 0x540050
call fcn.00489ae0
add esp, 8
mov ecx, dword [ebp - 0x42c]
push ecx
call fcn.00460db0
add esp, 4
mov edx, dword [ebp - 0x418]
push edx
call fcn.00460db0
add esp, 4
mov eax, 0x540050
jmp 0x472f78
jmp 0x472e04
mov eax, dword [ebp - 0x42c]
push eax
call fcn.00460db0
add esp, 4
mov ecx, dword [ebp - 0x418]
push ecx
call fcn.00460db0
add esp, 4
mov edx, dword [ebp - 0x40c]
shl edx, 4
mov eax, dword [ebp - 0x418]
mov ecx, dword [eax + edx]
push ecx
push str.LTaddPort_P2PNT4___not_found_new_port_n
push 0
call fcn.004718a0
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00488550
mov esp, ebp
pop ebp
ret