Function at 0x56ba60
Capabilities:
Get common file path
Link many functions at runtime
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58a097
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x5ed130]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x260], ecx
call fcn.00401fe0
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x248], 0
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
lea ecx, [ebp - 0x13c]
call fcn.00401550
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.004016a0
mov ecx, dword [ebp - 0x260]
add ecx, 0x44c
push ecx
lea ecx, [ebp - 0x13c]
call fcn.00401620
push 0x5dc058
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 1
push 0x7f
push 0x5dc064
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx edx, al
test edx, edx
jne 0x56bb41
push 0x65
push 0x6e
push 0x47a
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x514]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 0x244], 0
push 0x103
push 0
lea edx, [ebp - 0x243]
push edx
call fcn.0043fa10
add esp, 0xc
lea eax, [ebp - 0x244]
push eax
call fcn.0057da60
add esp, 4
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0x13c]
call fcn.00401640
push 0x5dc068
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x7c
push 0x5dc074
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx edx, al
test edx, edx
jne 0x56bbea
xor eax, eax
cmp dword [ebp - 0x248], 0
setne al
add eax, 0x67
push eax
push 0x6e
push 0x47a
mov ecx, dword [ebp - 0x120]
mov edx, dword [ecx + 0x514]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x13c]
call fcn.00401640
push 0x5dc078
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x7e
push 0x5dc088
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx ecx, al
test ecx, ecx
jne 0x56bc67
xor edx, edx
cmp dword [ebp - 0x248], 0
setne dl
add edx, 0x69
push edx
push 0x6e
push 0x47a
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x514]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0x13c]
call fcn.00401640
push 0x5dc08c
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x78
push 0x5dc098
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx eax, al
test eax, eax
jne 0x56bce4
xor ecx, ecx
cmp dword [ebp - 0x248], 0
setne cl
add ecx, 0x6b
push ecx
push 0x6e
push 0x47a
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0x514]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [ebp - 0x248], 0
je 0x56beab
push 0x5dc09c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x254], eax
push str.Wow64DisableWow64FsRedirection
mov ecx, dword [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
je 0x56bd30
lea edx, [ebp - 0x25c]
push edx
call dword [ebp - 0x258]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x13c]
call fcn.00401640
push 0x5dc0cc
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x7d
push 0x5dc0d8
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx ecx, al
test ecx, ecx
jne 0x56bd9f
push 0x67
push 0x6e
push 0x47a
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0x514]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0x13c]
call fcn.00401640
push 0x5dc0dc
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x79
push 0x5dc0e8
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx edx, al
test edx, edx
jne 0x56be0e
push 0x6b
push 0x6e
push 0x47a
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x514]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0x13c]
call fcn.00401640
push str.drivers_npf.sys
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 0
push 0x7b
push 0x5dc0fc
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx eax, al
test eax, eax
jne 0x56be7d
push 0x6d
push 0x6e
push 0x47a
mov ecx, dword [ebp - 0x120]
mov edx, dword [ecx + 0x514]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
push str.Wow64RevertWow64FsRedirection
mov eax, dword [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
je 0x56beab
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [ebp - 0x250]
lea edx, [ebp - 0x11c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov ecx, dword [ebp - 0x260]
add ecx, 0x44c
call fcn.00401700
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea ecx, [ebp - 0x13c]
call fcn.004016a0
mov eax, dword [ebp - 0x260]
add eax, 0x44c
push eax
lea ecx, [ebp - 0x13c]
call fcn.00401620
push 0x5dc120
lea ecx, [ebp - 0x13c]
call fcn.004020a0
mov dword [ebp - 0x24c], 0
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp dword [ebp - 0x24c], 0
jne 0x56bf81
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x5dc12c
mov edx, dword [0x5f9310]
push edx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x10
push 0x6e
push 0x6e
push 0x47a
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x514]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x56c194
push 0x5dc144
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x404], eax
push 0x5dc14c
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x408], eax
push 0x5dc15c
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x40c], eax
push 0x5dc16c
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x410], eax
push str.TZ_SetFilterUrl
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x418], eax
push 0x5dc18c
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x41c], eax
push str.TZ_GetWeiboInfo
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x420], eax
mov edx, dword [ebp - 0x260]
cmp dword [edx + 0x404], 0
je 0x56c0bc
mov eax, dword [ebp - 0x260]
cmp dword [eax + 0x408], 0
je 0x56c0bc
mov ecx, dword [ebp - 0x260]
cmp dword [ecx + 0x410], 0
je 0x56c0bc
mov edx, dword [ebp - 0x260]
cmp dword [edx + 0x40c], 0
je 0x56c0bc
mov eax, dword [ebp - 0x260]
cmp dword [eax + 0x418], 0
je 0x56c0bc
mov ecx, dword [ebp - 0x260]
cmp dword [ecx + 0x41c], 0
je 0x56c0bc
mov edx, dword [ebp - 0x260]
cmp dword [edx + 0x420], 0
jne 0x56c0da
push 0x5dc1b0
mov eax, dword [0x5f9310]
push eax
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0xc
jmp 0x56c194
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx + 0x404]
call edx
test eax, eax
je 0x56c10a
push 0x5dc1c4
mov eax, dword [0x5f9310]
push eax
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0xc
jmp 0x56c194
push 0x5dc1dc
mov ecx, dword [0x5f9310]
push ecx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0xc
mov edx, dword [ebp - 0x260]
mov dword [edx + 0x408], 0
mov eax, dword [ebp - 0x260]
mov dword [eax + 0x410], 0
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x40c], 0
mov edx, dword [ebp - 0x260]
mov dword [edx + 0x414], 0
mov eax, dword [ebp - 0x260]
mov dword [eax + 0x418], 0
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x41c], 0
mov edx, dword [ebp - 0x260]
mov dword [edx + 0x420], 0
lea ecx, [ebp - 0x13c]
call fcn.004016a0
mov eax, dword [ebp - 0x260]
add eax, 0x44c
push eax
lea ecx, [ebp - 0x13c]
call fcn.00401620
push 0x5dc1f4
lea ecx, [ebp - 0x13c]
call fcn.004020a0
push 1
push 1
push 0x69
push 0x5dc200
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx ecx, al
test ecx, ecx
jne 0x56c208
push 0x6f
push 0x6e
push 0x47a
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0x514]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 0x260]
add ecx, 0x44c
push ecx
lea ecx, [ebp - 0x13c]
call fcn.00401620
push 0x5dc204
lea ecx, [ebp - 0x13c]
call fcn.004020a0
lea ecx, [ebp - 0x13c]
call fcn.00401700
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x56c271
push str.GetUrlInfo
mov edx, dword [ebp - 0x24c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x414], eax
jmp 0x56c28d
push 0x70
push 0x6e
push 0x47a
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0x514]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.00401600
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043dd0c
mov esp, ebp
pop ebp
ret