Function at 0x462087
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5245d4
mov eax, dword fs:[0]
push eax
mov eax, 0xa893c
call fcn.004ade10
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa88b4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0xa891c], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xa8918], eax
mov eax, dword [ebp - 0xa891c]
mov dword [ebp - 0xa88c0], eax
mov eax, dword [ebp - 0xa8918]
mov dword [ebp - 0xa88bc], eax
and dword [ebp - 4], 0
and dword [ebp - 0xa88fc], 0
push dword [ebp - 0xa88bc]
push dword [ebp - 0xa88c0]
push str.TCLSHostApp::FetchServerDirForTgp____gameID:__llu
call fcn.0046c4d6
add esp, 0xc
lea eax, [ebp - 0xa88c0]
push eax
lea eax, [ebp - 0xa88f4]
push eax
mov ecx, dword [ebp - 0xa88b4]
add ecx, 0x48
call fcn.0046bf14
mov eax, dword [ebp - 0xa88b4]
add eax, 0x48
mov dword [ebp - 0xa8914], eax
mov eax, dword [ebp - 0xa8914]
mov eax, dword [eax]
mov dword [ebp - 0xa88f0], eax
mov eax, dword [ebp - 0xa88f0]
mov dword [ebp - 0xa8934], eax
mov eax, dword [ebp - 0xa88f4]
cmp eax, dword [ebp - 0xa8934]
jne 0x46216c
mov dword [ebp - 0xa88dc], 1
jmp 0x462173
and dword [ebp - 0xa88dc], 0
movzx eax, byte [ebp - 0xa88dc]
test eax, eax
je 0x462263
push dword [ebp - 0xa88bc]
push dword [ebp - 0xa88c0]
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0xa88b4]
call fcn.0045f9c6
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xa8930], eax
cmp dword [ebp - 0xa8930], 0
jne 0x4621bf
mov dword [ebp - 0xa88e0], 1
jmp 0x4621c6
and dword [ebp - 0xa88e0], 0
movzx eax, byte [ebp - 0xa88e0]
test eax, eax
jne 0x4621ef
lea ecx, [ebp - 0x50]
call fcn.0040a5f1
mov dword [ebp - 0xa892c], eax
push dword [ebp - 0xa892c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46223a
push dword [ebp - 0xa88bc]
push dword [ebp - 0xa88c0]
push str.TCLSHostApp::FetchServerDirForTgp___gameID:__llu_not_found
call fcn.0046c5d3
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call fcn.0040a62b
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0xa893c], eax
mov byte [ebp - 4], 4
mov byte [ebp - 4], 5
mov byte [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
jmp 0x462641
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
call fcn.0040a62b
mov byte [ebp - 4], 7
mov byte [ebp - 4], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0xa8940], eax
mov byte [ebp - 4], 8
mov byte [ebp - 4], 9
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xa88c0]
mov dword [ebp - 0xa8924], eax
mov eax, dword [ebp - 0xa88bc]
mov dword [ebp - 0xa8920], eax
cmp dword [ebp - 0xa8924], 0x11
jne 0x4622c7
cmp dword [ebp - 0xa8920], 0
jne 0x4622c7
push 0xa811d
push 0
lea eax, [ebp - 0xa88b0]
push eax
call fcn.004b0090
add esp, 0xc
lea eax, [ebp - 0xa88b0]
push eax
call fcn.00421e42
pop ecx
lea eax, [ebp - 0xa88b0]
push eax
mov ecx, dword [ebp - 0xa88b4]
call fcn.00462661
jmp 0x46263d
mov eax, dword [ebp - 0xa88b4]
cmp dword [eax + 0x15f8], 0
je 0x462365
mov eax, dword [ebp - 0xa88b4]
mov eax, dword [eax + 0x15f8]
mov al, byte [eax + 0x20]
mov byte [ebp - 0xa88b5], al
movzx eax, byte [ebp - 0xa88b5]
test eax, eax
je 0x46230b
mov eax, dword [ebp - 0xa88b4]
mov ecx, dword [eax + 0x15f8]
call fcn.0041fb46
mov eax, dword [ebp - 0xa88b4]
mov eax, dword [eax + 0x15f8]
mov dword [ebp - 0xa8928], eax
mov eax, dword [ebp - 0xa8928]
mov dword [ebp - 0xa88d0], eax
cmp dword [ebp - 0xa88d0], 0
je 0x462351
push 1
mov ecx, dword [ebp - 0xa88d0]
add ecx, 8
mov eax, dword [ebp - 0xa88d0]
mov eax, dword [eax + 8]
call dword [eax + 8]
mov dword [ebp - 0xa8938], eax
jmp 0x462358
and dword [ebp - 0xa8938], 0
mov eax, dword [ebp - 0xa88b4]
and dword [eax + 0x15f8], 0
push 0x61e60
call fcn.004ad961
pop ecx
mov dword [ebp - 0xa88e4], eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0xa88e4], 0
je 0x462396
mov ecx, dword [ebp - 0xa88e4]
call fcn.0041f75a
mov dword [ebp - 0xa88e8], eax
jmp 0x46239d
and dword [ebp - 0xa88e8], 0
mov eax, dword [ebp - 0xa88e8]
mov dword [ebp - 0xa88f8], eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xa88b4]
mov ecx, dword [ebp - 0xa88f8]
mov dword [eax + 0x15f8], ecx
push 1
mov eax, dword [ebp - 0xa88b4]
add eax, 0xc
push eax
mov eax, dword [ebp - 0xa88b4]
mov ecx, dword [eax + 0x15f8]
call fcn.0041fa38
movzx eax, al
test eax, eax
je 0x4625e3
push 0x728
push 0
lea eax, [ebp - 0x790]
push eax
call fcn.004b0090
add esp, 0xc
lea eax, [ebp - 0x790]
push eax
mov ecx, dword [ebp - 0xa88b4]
call fcn.00463e8c
movzx eax, al
test eax, eax
je 0x46243e
lea eax, [ebp - 0x790]
push eax
mov eax, dword [ebp - 0xa88b4]
mov eax, dword [eax + 0x15f8]
mov ecx, dword [ebp - 0xa88b4]
mov ecx, dword [ecx + 0x15f8]
add ecx, 4
mov eax, dword [eax + 4]
call dword [eax + 0x40]
mov eax, dword [ebp - 0xa88b4]
push dword [eax + 0x1628]
mov eax, dword [ebp - 0xa88b4]
mov ecx, dword [eax + 0x15f8]
call fcn.00422321
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x38]
rep stosd dword es:[edi], eax
push dword [ebp + 0xc]
push 0x536960
lea eax, [ebp - 0x38]
push eax
call fcn.00418a75
add esp, 0xc
lea eax, [ebp - 0x38]
mov dword [ebp - 0xa88c8], eax
cmp dword [ebp - 0xa88c8], 0
jne 0x462497
and dword [ebp - 0xa88ec], 0
jmp 0x46255e
push dword [ebp - 0xa88c8]
call fcn.004cc4f3
pop ecx
inc eax
mov dword [ebp - 0xa88d4], eax
cmp dword [ebp - 0xa88d4], 0x3fffffff
jle 0x4624c2
and dword [ebp - 0xa88c4], 0
jmp 0x462552
mov eax, dword [ebp - 0xa88d4]
shl eax, 1
call fcn.004ae160
mov dword [ebp - 0xa88cc], esp
mov eax, dword [ebp - 0xa8944]
mov dword [ebp - 0xa88c4], eax
cmp dword [ebp - 0xa88cc], 0
je 0x4624f3
cmp dword [ebp - 0xa88c8], 0
jne 0x4624fc
and dword [ebp - 0xa88c4], 0
jmp 0x462552
mov eax, dword [ebp - 0xa88cc]
mov byte [eax], 0
push 0
push 0
mov eax, dword [ebp - 0xa88d4]
shl eax, 1
push eax
push dword [ebp - 0xa88cc]
push 0xffffffffffffffff
push dword [ebp - 0xa88c8]
push 0
push dword [ebp - 0xa88fc]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xa8900], eax
cmp dword [ebp - 0xa8900], 0
jne 0x462546
and dword [ebp - 0xa88c4], 0
jmp 0x462552
mov eax, dword [ebp - 0xa88cc]
mov dword [ebp - 0xa88c4], eax
mov eax, dword [ebp - 0xa88c4]
mov dword [ebp - 0xa88ec], eax
push dword [ebp - 0xa88bc]
push dword [ebp - 0xa88c0]
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0xa88b4]
call fcn.0045f1ec
mov dword [ebp - 0xa8904], eax
mov eax, dword [ebp - 0xa8904]
mov dword [ebp - 0xa8908], eax
mov byte [ebp - 4], 0xb
push dword [ebp - 0xa88ec]
push dword [ebp - 0xa88bc]
push dword [ebp - 0xa88c0]
push dword [ebp - 0xa8908]
mov eax, dword [ebp - 0xa88b4]
mov ecx, dword [eax + 0x15f8]
call fcn.00420009
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x68]
call fcn.0040a62b
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0
lea eax, [ebp - 0x68]
mov dword [ebp - 0xa8948], eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0
jmp 0x46263d
mov eax, dword [ebp - 0xa88b4]
mov eax, dword [eax + 0x15f8]
mov dword [ebp - 0xa890c], eax
mov eax, dword [ebp - 0xa890c]
mov dword [ebp - 0xa88d8], eax
cmp dword [ebp - 0xa88d8], 0
je 0x462629
push 1
mov ecx, dword [ebp - 0xa88d8]
add ecx, 8
mov eax, dword [ebp - 0xa88d8]
mov eax, dword [eax + 8]
call dword [eax + 8]
mov dword [ebp - 0xa8910], eax
jmp 0x462630
and dword [ebp - 0xa8910], 0
mov eax, dword [ebp - 0xa88b4]
and dword [eax + 0x15f8], 0
or dword [ebp - 4], 0xffffffff
lea esp, [ebp - 0xa8950]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret 8