Function at 0x4afca0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x5889b0
mov eax, dword fs:[0]
push eax
sub esp, 0x4f0
mov eax, dword [0x5cca0c]
xor eax, esp
mov dword [esp + 0x4ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5cca0c]
xor eax, esp
push eax
lea eax, [esp + 0x504]
mov dword fs:[0], eax
push 1
xor ebx, ebx
push 3
lea ecx, [esp + 0x108]
mov dword [esp + 0x20], ebx
mov byte [esp + 0x1e], bl
call fcn.00430200
push 1
push 3
lea ecx, [esp + 0x80]
mov dword [esp + 0x514], ebx
call fcn.00430200
lea eax, [esp + 0x108]
push str._lose_sys.php_dllnamersaenh.dllosversion
push eax
mov byte [esp + 0x514], 1
call fcn.00442aa0
lea ecx, [esp + 0x1e4]
push ecx
call fcn.004bfdf0
add esp, 0xc
test eax, eax
je 0x4b0142
mov edx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
push edx
mov edx, dword [esp + 0x1e4]
push 0x597fdc
push eax
push 0x597fdc
push ecx
push 0x597fdc
push edx
lea ecx, [esp + 0x124]
call fcn.00485dd0
push eax
call fcn.00442aa0
add esp, 8
mov ecx, eax
call fcn.00485dd0
push eax
call fcn.00442aa0
add esp, 8
mov ecx, eax
call fcn.00485dd0
push eax
call fcn.00442aa0
add esp, 8
mov ecx, eax
call fcn.00485dd0
push 0x50
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x94], esp
push eax
lea ecx, [esp + 0x124]
mov esi, 0x1388
call fcn.0042edc0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x11
mov ebp, 0xf
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.update.xunyou.com
mov byte [esp + 0x550], 2
mov byte [ecx + 4], bl
call fcn.0040c1c0
lea ecx, [esp + 0xb4]
push ecx
mov ecx, ebx
mov edx, esi
mov byte [esp + 0x54c], 1
call fcn.004af750
add esp, 0x40
cmp eax, ebx
je 0x4afe42
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x7c]
call fcn.0042edc0
push 2
push ebx
push 0x59a1a0
mov ecx, eax
mov dword [esp + 0x24], 1
call fcn.004050c0
test eax, eax
mov byte [esp + 0x17], 1
je 0x4afe46
mov byte [esp + 0x17], bl
test byte [esp + 0x18], 1
mov edi, 0x10
je 0x4afe6a
and dword [esp + 0x18], 0xfffffffe
cmp dword [esp + 0x38], edi
jb 0x4afe6a
mov eax, dword [esp + 0x24]
push eax
call fcn.0055215c
add esp, 4
cmp byte [esp + 0x17], bl
je 0x4b0142
push 0xb
push str._rsaenh.dll
lea ecx, [esp + 0x190]
mov dword [esp + 0x1a8], ebp
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x194], bl
call fcn.0040c1c0
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x510], 3
call fcn.004ae0d0
lea edx, [esp + 0x18c]
push edx
push eax
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x51c], 4
call fcn.0040cec0
add esp, 0x10
cmp dword [esp + 0x54], edi
mov byte [esp + 0x50c], 6
jb 0x4afeea
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0055215c
add esp, 4
push 0x206
lea edx, [esp + 0x2fe]
push ebx
push edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
mov word [esp + 0x304], bx
call fcn.00552500
add esp, 0xc
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x7c]
call fcn.0042edc0
mov esi, eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x1e4]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [esp + 0x534], 7
mov byte [ecx + 4], bl
call fcn.0040a080
mov ecx, esi
call fcn.004a5bf0
add esp, 0x1c
cmp dword [esp + 0x38], edi
mov byte [esp + 0x16], al
mov byte [esp + 0x50c], 6
jb 0x4aff77
mov eax, dword [esp + 0x24]
push eax
call fcn.0055215c
add esp, 4
push 0x104
lea ecx, [esp + 0x2fc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jbe 0x4b00e6
lea edx, [esp + 0x2f8]
push edx
lea ecx, [esp + 0x5c]
call fcn.0040dd80
lea ecx, [esp + 0x58]
lea esi, [esp + 0x20]
mov byte [esp + 0x50c], 8
call fcn.004ad680
lea ecx, [esp + 0x188]
push ecx
push eax
lea edx, [esp + 0x1ac]
push edx
mov byte [esp + 0x518], 9
call fcn.0040cec0
add esp, 0xc
cmp dword [esp + 0x38], edi
jb 0x4affec
mov eax, dword [esp + 0x24]
push eax
call fcn.0055215c
add esp, 4
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
cmp dword [esp + 0x70], 8
mov byte [esp + 0x50c], 0xc
jb 0x4b0014
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0055215c
add esp, 4
cmp dword [esp + 0x1bc], edi
mov dword [esp + 0x6c], ebx
mov word [esp + 0x5c], bx
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x70], 7
jae 0x4b003c
lea ebx, [esp + 0x1a8]
call fcn.004a1230
test al, al
jne 0x4b00b4
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x7c]
call fcn.0042edc0
mov esi, eax
or dword [esp + 0x18], 2
sub esp, 0x1c
lea eax, [esp + 0x1c0]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x52c], 0xd
call fcn.0040c140
mov ecx, esi
call fcn.004a5bf0
xor ebx, ebx
add esp, 0x1c
cmp al, bl
jne 0x4b0092
cmp byte [esp + 0x16], bl
mov byte [esp + 0x16], bl
je 0x4b0097
mov byte [esp + 0x16], 1
test byte [esp + 0x18], 2
mov dword [esp + 0x50c], 0xc
je 0x4b00b6
lea ecx, [esp + 0x3c]
call fcn.004074a0
jmp 0x4b00b6
xor ebx, ebx
cmp dword [esp + 0x1bc], edi
jb 0x4b00cf
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.0055215c
add esp, 4
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
mov dword [esp + 0x1bc], ebp
xor ebx, ebx
cmp dword [esp + 0x1d8], edi
jb 0x4b00ff
mov edx, dword [esp + 0x1c4]
push edx
call fcn.0055215c
add esp, 4
cmp dword [esp + 0x1a0], edi
mov dword [esp + 0x1d8], ebp
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
jb 0x4b012d
mov eax, dword [esp + 0x18c]
push eax
call fcn.0055215c
add esp, 4
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x19c], ebx
mov byte [esp + 0x18c], bl
lea ecx, [esp + 0xcc]
mov byte [esp + 0x50c], bl
call fcn.0042dc10
lea ecx, [esp + 0xcc]
mov esi, vtable.std::ios_base.0
push ecx
mov dword [esp + 0xd0], esi
call fcn.0055177f
add esp, 4
lea ecx, [esp + 0x154]
mov dword [esp + 0x50c], 0xffffffff
call fcn.0042dc10
lea edx, [esp + 0x154]
push edx
mov dword [esp + 0x158], esi
call fcn.0055177f
mov al, byte [esp + 0x1a]
add esp, 4
mov ecx, dword [esp + 0x504]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4ec]
xor ecx, esp
call fcn.00552d63
add esp, 0x4fc
ret