Function at 0x407d10
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x416458
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push str.FPort_v2.0___TCP_IP_Process_to_Port_Mapper
push 0x41bf18
call fcn.00402370
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004029e0
mov ecx, esi
call fcn.00401b90
push str.Copyright_2000_by_Foundstone__Inc.
push 0x41bf18
call fcn.00402370
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004029e0
mov ecx, esi
call fcn.00401b90
push str.http:__www.foundstone.com
push 0x41bf18
call fcn.00402370
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004029e0
mov ecx, esi
call fcn.00401b90
mov eax, dword [ebp + 8]
cmp eax, 2
jg 0x407fd7
jne 0x407f32
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov edi, 0x417504
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407dcf
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd7
mov edi, 0x417500
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407dee
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd7
mov edi, 0x4174fc
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407e0d
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd7
mov edi, 0x4174f8
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407e2c
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd7
mov edi, 0x4174f4
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407e4b
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd0
mov edi, 0x4174f0
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407e6a
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fd0
mov edi, 0x4174ec
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407e89
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fc9
mov edi, 0x4174e8
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407ea8
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fc9
mov edi, 0x4174e4
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407ec7
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fc2
mov edi, 0x4174e0
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407ee6
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407fc2
mov edi, 0x4174dc
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x407f05
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
je 0x407f28
mov esi, eax
mov edi, 0x4174d8
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x407f20
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x407fd7
push 3
call fcn.004012b0
add esp, 4
push 0xa
mov ecx, 0x41bf18
call fcn.004029e0
mov ecx, 0x41bf18
call fcn.00401b90
lea ecx, [ebp - 0x18]
call fcn.004012c0
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp + 8]
push edx
lea eax, [ebp + 8]
push eax
mov dword [ebp - 4], 0
call fcn.00401130
add esp, 0x18
test eax, eax
je 0x407fef
push eax
push str.Failed:_Result_code
push 0x41bf18
call fcn.00402370
add esp, 8
mov ecx, eax
call fcn.00402850
mov esi, eax
push 0xa
mov ecx, esi
call fcn.004029e0
mov ecx, esi
call fcn.00401b90
lea ecx, [ebp - 0x18]
call fcn.00401330
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
jmp 0x407f2a
push 2
jmp 0x407f2a
push 1
jmp 0x407f2a
call fcn.00402e50
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp eax, 7
jne 0x40800d
call fcn.00401220
mov dword [0x41bdf8], eax
call fcn.00402ee0
call fcn.00407b30
jmp 0x407fa7
cmp eax, 6
jne 0x407fa7
push str.SeDebugPrivilege
mov byte [ebp - 4], 1
call fcn.004015d0
add esp, 4
call fcn.00401220
test eax, eax
mov dword [0x41bdf8], eax
je 0x407fa7
push str.DeviceTcp
call fcn.00401470
mov esi, eax
push str.DeviceUdp
mov dword [ebp - 0x20], esi
call fcn.00401470
add esp, 8
mov dword [ebp + 8], eax
call fcn.004014e0
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push esi
mov ebx, eax
call edi
push eax
push ebx
call fcn.00401540
mov ecx, dword [ebp + 8]
add esp, 0xc
push ecx
mov esi, eax
call edi
push eax
push ebx
call fcn.00401540
shl esi, 4
mov edx, dword [esi + ebx + 0xc]
add esi, ebx
mov dword [ebp - 0x1c], eax
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x24], esi
call fcn.00401720
mov esi, eax
mov eax, dword [ebp - 0x1c]
shl eax, 4
mov edx, dword [eax + ebx + 0xc]
add eax, ebx
mov dword [ebp - 0x1c], eax
push edx
mov ecx, 0x1c
lea edi, [ebp - 0x104]
lea eax, [ebp - 0x18]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x174]
push ecx
call fcn.00401720
mov edx, dword [ebp - 0x20]
mov esi, eax
add esp, 0x24
mov ecx, 0x1c
lea edi, [ebp - 0x94]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [ebp + 8]
push eax
call esi
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x100]
xor eax, eax
mov al, byte [edx + 8]
push 0x417430
push ecx
lea ecx, [ebp - 0x18]
push eax
push ebx
push ecx
call fcn.00407680
add esp, 0x14
call fcn.00402ee0
call fcn.004078f0
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
push 0x41742c
push edx
xor ecx, ecx
mov cl, byte [eax + 8]
lea edx, [ebp - 0x18]
push ecx
push ebx
push edx
call fcn.00407680
add esp, 0x14
call fcn.004078f0
lea ecx, [ebp - 0x18]
call fcn.00401330
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret