Function at 0x10002f10
Capabilities:
Get common file path

Disassembly:
sub esp, 0x2d8
mov eax, dword [esp + 0x2e8]
push ebx
push ebp
mov ebp, dword [esp + 0x2f8]
push esi
push edi
mov byte [eax], 0
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x34]
mov esi, 1
push 0x100
rep stosd dword es:[edi], eax
push ebp
mov dword [esp + 0x40], 2
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
call fcn.10007300
add esp, 8
cmp eax, 0xffffffff
jne 0x10002f6d
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x2f0]
test eax, eax
je 0x10002fb3
cmp byte [eax], 0
je 0x10002fb3
push 0x100
lea ecx, [esp + 0x18]
push ebp
lea edx, [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x300]
push eax
call fcn.100075f0
add esp, 0x18
cmp eax, 0xffffffff
jne 0x10002fca
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x2d8
ret
push 0x100
lea ecx, [esp + 0x18]
push ebp
lea edx, [esp + 0x3c]
push ecx
push edx
push str.2003
jmp 0x10002f8e
mov ecx, dword [esp + 0x14]
push 0x100
push ebp
push esi
push esi
push ecx
call fcn.100073d0
add esp, 0x14
cmp eax, 0xffffffff
mov dword [0x10039e84], eax
jne 0x10002ff9
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x2d8
ret
lea edx, [esp + 0x10]
lea ecx, [esp + 0x54]
push edx
push ecx
push eax
mov dword [esp + 0x1c], 0x80
call dword [sym.imp.WS2_32.dll_accept]
mov edx, dword [0x10039e84]
mov ebx, eax
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp ebx, 0xffffffff
mov dword [0x10039e84], 0
jne 0x10003053
push 0x100
push ebp
push str.accept__:
call fcn.100071f0
add esp, 0xc
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [0x10032c34]
test eax, eax
jne 0x10003232
mov eax, dword [0x10032c28]
mov dword [esp + 0x1c], str.getaddrinfo
test eax, eax
mov dword [esp + 0x20], 0x100026b0
mov dword [esp + 0x24], str.getnameinfo
mov dword [esp + 0x28], 0x100033f0
mov dword [esp + 0x2c], str.freeaddrinfo
mov dword [esp + 0x30], 0x10002660
jne 0x10003228
lea ecx, [esp + 0x1e0]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x1000321e
lea edi, [esp + 0x1e0]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xd4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xd4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.ws2_32
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
and ecx, 3
lea eax, [esp + 0xd4]
rep movsb byte es:[edi], byte [esi]
push eax
call ebp
mov esi, eax
test esi, esi
je 0x1000314d
push str.getaddrinfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x100031d2
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea edi, [esp + 0x1e0]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xd4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xd4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.wship6
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0xd4]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call ebp
mov esi, eax
test esi, esi
je 0x10003217
push str.getaddrinfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x100031d2
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10003217
mov ecx, dword [0x100201f0]
xor ebp, ebp
test ecx, ecx
jle 0x10003201
lea edi, [esp + 0x20]
mov ecx, dword [edi - 4]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [edi], eax
je 0x100031c9
mov ecx, dword [0x100201f0]
inc ebp
add edi, 8
cmp ebp, ecx
jl 0x100031e2
xor eax, eax
test ecx, ecx
jle 0x10003217
mov edx, dword [esp + eax*8 + 0x20]
mov dword [eax*8 + 0x1002d24c], edx
inc eax
cmp eax, ecx
jl 0x10003207
mov ebp, dword [esp + 0x300]
mov dword [0x10032c28], 1
mov eax, dword [0x1002d254]
mov dword [0x10032c34], eax
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x18]
push 2
push 0
push 0
push 0x400
push ecx
lea ecx, [esp + 0x68]
push edx
push ecx
call eax
mov esi, eax
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
test esi, esi
push 0x100
push ebp
je 0x10003294
push str.getnameinfo__:
call fcn.100071f0
push 0
push 0xb
push ebp
push ebx
call fcn.100069a0
push 0
push 0
push ebx
call fcn.100075b0
add esp, 0x28
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2d8
ret
mov eax, dword [esp + 0x2fc]
lea edx, [esp + 0x5c]
push edx
push str.____n_r
push eax
call fcn.10007ab0
add esp, 0x14
test eax, eax
jge 0x100032d8
push 0
push 0xb
push ebp
push ebx
call fcn.100069a0
push 0
push 0
push ebx
call fcn.100075b0
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2d8
ret
mov ecx, dword [esp + 0x2fc]
push ebp
push ecx
push ebx
call fcn.10006a90
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10003317
push 0
push 0xb
push ebp
push ebx
call fcn.100069a0
push 0
push 0
push ebx
call fcn.100075b0
add esp, 0x1c
mov eax, 0xfffffffd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2d8
ret
mov esi, dword [0x10039a64]
test esi, esi
je 0x1000335c
lea edx, [esp + 0x54]
push edx
push esi
call fcn.10008070
add esp, 8
test eax, eax
je 0x100033de
mov edi, esi
mov esi, dword [esi + 0x84]
test esi, esi
jne 0x10003321
test edi, edi
je 0x1000335c
push 0x88
call fcn.100169d2
add esp, 4
mov dword [edi + 0x84], eax
jmp 0x1000336e
push 0x88
call fcn.100169d2
add esp, 4
mov dword [0x10039a64], eax
test eax, eax
jne 0x100033b6
call fcn.10016b7f
mov eax, dword [eax]
push eax
call sym.wpcap.dll_pcap_strerror
push eax
push str.malloc___failed:__s
push 0x100
push ebp
call fcn.10016898
push 0
push 0xb
push ebp
push ebx
call fcn.100069a0
push 0
push 0
push ebx
call fcn.100075b0
add esp, 0x30
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2d8
ret
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x54]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [eax + 0x80], ebx
mov dword [eax + 0x84], 0
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x2d8
ret