Function at 0x4351c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a728c
mov eax, dword fs:[0]
push eax
sub esp, 0x30c
mov eax, dword [0x610044]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
mov ecx, 0x2f
mov esi, ebx
lea edi, [ebp - 0x308]
rep movsd dword es:[edi], dword [esi]
mov ecx, 2
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x314], ebx
cmp dword [eax + 0x21b78], ecx
je 0x43545e
xor edi, edi
cmp dword [eax + 0x88], edi
je 0x43559e
mov esi, 1
add dword [eax + 0x12f8], esi
add dword [eax + 0xac], esi
fld dword [ebx + 8]
push ecx
fstp dword [esp]
mov word [ebx + 0x9e], 0x302
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x234], edi
call fcn.0040dbf0
fstp dword [ebp - 0x30c]
fld dword [0x5e4d78]
add esp, 4
fld dword [ebp - 0x30c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x435295
fstp st(0)
mov dword [ebp - 0x234], esi
jmp 0x43530a
fcom qword [0x5e4d70]
fnstsw ax
test ah, 5
jp 0x4352ac
fstp st(0)
mov dword [ebp - 0x238], esi
jmp 0x43530a
mov ecx, dword [ebp - 0x310]
mov eax, dword [ecx + 0x1254]
fild dword [ecx + 0x1254]
test eax, eax
jns 0x4352c8
fadd dword [0x5e4d68]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4352db
fstp st(0)
mov dword [ebp - 0x23c], esi
jmp 0x43530a
mov ecx, dword [ecx + 0x1250]
mov dword [ebp - 0x30c], ecx
fild dword [ebp - 0x30c]
test ecx, ecx
jns 0x4352f7
fadd dword [0x5e4d68]
fcompp
fnstsw ax
test ah, 0x41
jne 0x435308
mov dword [ebp - 0x240], esi
jmp 0x43530a
mov edi, esi
mov esi, 0x3ff
test edi, edi
jne 0x435318
mov esi, 0x2ff
cmp dword [ebp - 0x240], 0
jne 0x435327
and esi, 0x3fffff7f
cmp dword [ebp - 0x23c], 0
jne 0x435336
and esi, 0x1fffffbf
cmp dword [ebp - 0x238], 0
jne 0x435345
and esi, 0xfffffdf
cmp dword [ebp - 0x234], 0
jne 0x435354
and esi, 0x7ffffef
mov edi, dword [ebp - 0x310]
add edi, 0x1aa74
and esi, 0x7ffff0
mov dword [edi], 0
call fcn.0044196e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x435386
push 0x80004005
call fcn.004028f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30c], eax
mov dword [ebp - 4], 1
push esi
lea ecx, [ebp - 0x30c]
push str.0x_X
push ecx
call fcn.00402010
mov esi, dword [ebp - 0x30c]
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
add esp, 0xc
or ecx, eax
jge 0x4353dc
push 0
lea ecx, [ebp - 0x30c]
call fcn.00402380
mov esi, dword [ebp - 0x30c]
push edi
push str.0x_X
push esi
call fcn.0057c792
mov ecx, dword [ebp - 0x310]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x88]
add esp, 0xc
push ebx
push eax
mov eax, dword [ebp + 0xc]
lea ebx, [ecx + 0x2a48]
mov ecx, dword [edi]
call fcn.00404060
call fcn.0044699f
test eax, eax
je 0x435420
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x435422
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0x2710
push 3
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x435458
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ebx, dword [ebp - 0x314]
push str.KATracking
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x4354a9
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebp - 0x310]
lea edx, [ebp - 0x22c]
push edx
mov edx, dword [ecx + 0x20]
push edx
push 0x4a
push eax
mov dword [ebp - 0x22c], 0x2710
mov dword [ebp - 0x228], 0xbc
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x310]
cmp dword [eax + 0x21ef8], 1
jne 0x43559e
lea ecx, [ebp - 0x118]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.TrgInfo
lea edx, [ebp - 0x118]
push 0x104
push edx
call fcn.0057c2aa
lea eax, [ebp - 0x118]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4354f0
sub eax, edx
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0041e6f0
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x44]
push ecx
mov ecx, dword [ebx + 0x40]
push edx
mov edx, dword [ebx + 0x3c]
push eax
mov eax, dword [ebx + 0x38]
push ecx
mov ecx, dword [ebx + 0x34]
push edx
mov edx, dword [ebx + 0x30]
push eax
mov eax, dword [ebx + 0x2c]
push ecx
push edx
push eax
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x220]
push str._s_04d_02d_02d_02d_02d_02d__03d__01d__02d.trg
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x38
lea ecx, [ebp - 0x234]
call fcn.004cd755
mov dword [ebp - 4], 3
push 0
push 0x9001
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x234]
call fcn.004cdd44
push 0xbc
push ebx
lea ecx, [ebp - 0x234]
call fcn.004cd423
lea ecx, [ebp - 0x234]
call fcn.004cd6f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.004cd947
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0057a982
mov esp, ebp
pop ebp
ret 8