Function at 0x40b7e5
Capabilities:
Get common file path

Disassembly:
mov eax, 0x40edcc
call fcn.0040dca0
push ecx
mov eax, 0x1398
call fcn.0040dc40
and byte [ebp - 0x158], 0
push ebx
push esi
push edi
mov esi, ecx
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x157]
and dword [esi + 0xb74], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x158]
lea ebx, [esi + 0xb74]
push eax
push 0x104
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x158]
push eax
call sub.MSVCRT.dll_strlen
lea eax, [ebp - 0x158]
push eax
call sub.MSVCRT.dll_strlen
mov edi, dword [sym.imp.MSVCRT.dll_strncat]
mov ecx, 0x103
sub ecx, eax
lea eax, [ebp - 0x158]
push ecx
push 0x412030
push eax
call edi
lea eax, [ebp - 0x158]
push eax
call sub.MSVCRT.dll_strlen
mov ecx, 0x103
sub ecx, eax
lea eax, [ebp - 0x158]
push ecx
push str.qqdownload.dll
push eax
call edi
lea edi, [esi + 8]
push 0
push edi
push 0x40f3e0
push 0x40f3f0
lea eax, [ebp - 0x158]
push 0
push eax
push ebx
mov dword [ebp - 0x18], edi
call fcn.00401419
add esp, 0x40
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x40bd22
mov edi, 0x114a
push edi
push eax
lea eax, [ebp - 0x13a8]
push eax
call sub.MSVCRT.dll_memset
and dword [ebp - 0x13a8], 0
push edi
lea eax, [ebp - 0x13a8]
push 0
push eax
call sub.MSVCRT.dll_memset
mov ebx, dword [esi + 0x1b8c]
mov edi, dword [sym.imp.MSVCRT.dll_strncpy]
add ebx, 0x6048
add esp, 0x18
movsx eax, word [ebx]
dec eax
je 0x40b9cd
dec eax
je 0x40b952
dec eax
jne 0x40ba28
push 0x1003
push dword [ebx + 0x20c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x13a4]
push eax
call edi
mov ax, word [ebx + 0x210]
add esp, 0xc
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x3a0], ax
mov dword [ebp - 0x13a8], 2
jmp 0x40ba28
push 0x1003
push dword [ebx + 0x214]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x13a4]
push eax
call edi
mov ax, word [ebx + 0x218]
add esp, 0xc
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x3a0], ax
lea eax, [ebx + 0x21a]
push 0x1f
push eax
lea eax, [ebp - 0x39e]
push eax
call edi
lea eax, [ebx + 0x31a]
push 0x1f
push eax
lea eax, [ebp - 0x37e]
push eax
call edi
add ebx, 0x41a
push 0xff
lea eax, [ebp - 0x35e]
push ebx
push eax
call edi
add esp, 0x24
mov dword [ebp - 0x13a8], 3
jmp 0x40ba28
push 0x1003
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x13a4]
push eax
call edi
mov ax, word [ebx + 8]
add esp, 0xc
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x3a0], ax
lea eax, [ebx + 0xa]
push 0x20
push eax
lea eax, [ebp - 0x39e]
push eax
call edi
add ebx, 0x10a
push 0x20
lea eax, [ebp - 0x37e]
push ebx
push eax
call edi
add esp, 0x18
mov dword [ebp - 0x13a8], 1
lea ecx, [ebp - 0x54]
call fcn.0040bf4d
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x54]
mov dword [ebp - 0x50], 0x1388
mov dword [ebp - 0x4c], 5
mov eax, dword [eax]
mov dword [ebp - 0x48], 0x1e
mov dword [ebp - 0x54], 0x2710
mov byte [ebp - 0x44], 1
mov ecx, dword [eax]
push 0x34
push edx
push eax
call dword [ecx + 0xc0]
lea eax, [esi + 0xc]
push 0xb68
push 0
push eax
mov dword [ebp - 0x20], eax
call sub.MSVCRT.dll_memset
call fcn.0040bd8d
mov ebx, 0x100
lea eax, [esi + 0x242]
push ebx
push str.pdlxf.qq.com
push eax
call edi
and byte [esi + 0x341], 0
lea eax, [esi + 0x344]
push ebx
push str.fs_tcp_conn.qq.com
push eax
mov word [esi + 0x342], 0x1f40
call edi
and byte [esi + 0x443], 0
lea eax, [esi + 0x447]
push ebx
push str.stun.qq.com
push eax
mov word [esi + 0x444], 0x1bb
call edi
and byte [esi + 0x546], 0
push ebx
lea eax, [esi + 0x549]
push str.xuanfengnet.qq.com
push eax
mov word [esi + 0x547], 0x1f40
call edi
and byte [esi + 0x648], 0
push ebx
lea eax, [esi + 0x64b]
push str.xuanfengnet.qq.com
push eax
mov word [esi + 0x649], 0x1f40
call edi
and byte [esi + 0x74a], 0
add esp, 0x48
lea eax, [esi + 0x74d]
mov word [esi + 0x74b], 0x50
push ebx
push str.fs_hello.qq.com
push eax
call edi
and byte [esi + 0x84c], 0
push ebx
lea eax, [esi + 0x851]
push str.fs_conn.qq.com
push eax
mov word [esi + 0x84d], 0x1f40
mov word [esi + 0x84f], 0x1bb
call edi
and byte [esi + 0x950], 0
push ebx
lea eax, [esi + 0x953]
push str.fs_h2u.qq.com
push eax
mov word [esi + 0x951], 0x1bb
call edi
and byte [esi + 0xa52], 0
mov word [esi + 0xa53], 0x1bb
push ebx
lea eax, [esi + 0xa55]
push str.fs_report.qq.com
push eax
call edi
and byte [esi + 0xb54], 0
lea eax, [esi + 0x2e]
push 0x104
push 0x4134c4
push eax
mov word [esi + 0xb55], 0x1bb
mov dword [ebp - 0x14], eax
call edi
mov eax, dword [esi + 0x1b8c]
and dword [esi + 0x26], 0
and byte [esi + 0x131], 0
and dword [esi + 0x2a], 0
add eax, 0x1018
push ebx
push eax
lea eax, [esi + 0x242]
push eax
call edi
and byte [esi + 0x341], 0
mov eax, dword [esi + 0x1b8c]
add esp, 0x48
mov ax, word [eax + 0x201c]
mov word [esi + 0x342], ax
mov eax, dword [esi + 0x1b8c]
add eax, 0x2020
push ebx
push eax
lea eax, [esi + 0x344]
push eax
call edi
mov eax, dword [esi + 0x1b8c]
and byte [esi + 0x443], 0
push ebx
mov cx, word [eax + 0x3024]
add eax, 0x3028
push eax
lea eax, [esi + 0x447]
push eax
mov word [esi + 0x444], cx
call edi
and byte [esi + 0x546], 0
push 0
call dword [sym.imp.MSVCRT.dll_time]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
mov ebx, dword [sym.imp.MSVCRT.dll_rand]
add esp, 0x20
call ebx
mov edi, 0x3e8
and dword [esi + 0x236], 0
cdq
mov ecx, edi
idiv ecx
add edx, 0x7530
mov word [esi + 0x23a], dx
call ebx
cdq
mov ecx, edi
and dword [esi + 0x23c], 0
idiv ecx
push 5
mov word [esi + 0x10], 0xa4
pop eax
mov dword [esi + 0x16], edi
mov dword [esi + 0xb68], eax
mov dword [esi + 0xb6c], eax
mov eax, dword [ebp + 8]
push 0x40
mov dword [esi + 0x1a], 4
mov word [esi + 0x547], 0x1f40
mov byte [esi + 0xb73], 7
mov dword [esi + 0x1e], eax
pop ecx
add edx, 0x1f40
and byte [ebp - 0x25c], 0
mov word [esi + 0x240], dx
xor eax, eax
lea edi, [ebp - 0x25b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x25c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.resdl.cch
push 0x103
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll__snprintf]
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov eax, dword [eax]
push dword [ebp - 0x20]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
jmp 0x40bd34
mov ecx, dword [esi + 0xb7c]
push 0
push 0x41309c
call fcn.00406c92
xor esi, esi
cmp dword [ebp - 0x14], esi
je 0x40bd74
cmp dword [ebx], esi
je 0x40bd74
mov eax, dword [edi]
cmp eax, esi
je 0x40bd55
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [edi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [edi], esi
mov eax, dword [ebx]
cmp eax, esi
je 0x40bd6d
push str.ReleaseCommLib
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
je 0x40bd6d
call eax
push ebx
call fcn.00401502
pop ecx
mov ecx, dword [ebp - 0xc]
xor eax, eax
cmp dword [ebp - 0x14], esi
pop edi
pop esi
pop ebx
sete al
mov dword fs:[0], ecx
leave
ret 4