Function at 0x472060
Capabilities:
Get common file path

Disassembly:
sub esp, 0x32c
mov eax, dword [0x4951c0]
xor eax, esp
mov dword [esp + 0x324], eax
mov eax, dword [0x49ab6c]
mov edx, dword [0x52db00]
mov ecx, dword [0x4ec0a0]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x24], eax
mov esi, 1
mov al, byte [ecx + edx]
cmp al, 0x20
je 0x47209d
cmp al, 9
jne 0x4720a1
add ecx, esi
jmp 0x472092
mov dword [0x4ec0a0], ecx
mov cl, byte [ecx + edx]
cmp cl, 0x73
je 0x4726e6
cmp cl, 0x53
je 0x4726e6
lea ecx, [esp + 0x30]
xor ebx, ebx
push ecx
mov dword [0x49ab68], ebx
mov dword [0x58f96c], ebx
call fcn.00424210
mov edx, dword [0x4965ec]
mov eax, dword [0x4967f0]
add esp, 4
lea ecx, [esp + 0x30]
push ebx
push ecx
mov dword [0x49a318], ebx
mov dword [0x49aa64], ebx
mov dword [0x49ac74], edx
mov dword [0x49a52c], eax
xor ebp, ebp
call fcn.00408562
add esp, 8
test eax, eax
je 0x472198
xor eax, eax
mov cl, byte [esp + eax + 0x30]
mov byte [esp + eax + 0x130], cl
add eax, esi
cmp cl, bl
jne 0x472113
lea edx, [esp + 0x130]
push edx
call fcn.00474a50
add esp, 4
test eax, eax
jne 0x472174
cmp dword [0x58fe3c], ebx
jne 0x4727c8
mov ecx, dword [0x49a31c]
lea eax, [esp + 0x130]
push eax
push 0x48aefc
push ecx
call fcn.004081b3
mov edx, dword [0x49a31c]
add esp, 0xc
push edx
push 0x48af18
call fcn.00458fe0
add esp, 8
mov dword [0x58f968], esi
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x130]
mov byte [eax + 0x49a538], cl
add eax, esi
cmp cl, bl
jne 0x472180
jmp 0x472220
cmp byte [esp + 0x31], 0x3a
je 0x472220
lea eax, [esp + 0x130]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esp + 0x133], bl
je 0x4721d9
lea edi, [esp + 0x130]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x4721c7
mov cx, word [0x48af28]
mov word [edi], cx
lea eax, [esp + 0x30]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4721e0
lea edi, [esp + 0x130]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4721f1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x58f968], ebx
mov esi, 1
jmp 0x472220
mov edx, dword [0x52db00]
mov ecx, dword [0x4ec0a0]
lea esp, [esp]
mov al, byte [ecx + edx]
cmp al, 0x20
je 0x47223b
cmp al, 9
jne 0x47223f
add ecx, esi
jmp 0x472230
cmp byte [ecx + edx], 0x2c
mov dword [0x4ec0a0], ecx
jne 0x4723d9
call fcn.00401d40
lea edi, [esp + 0x230]
call fcn.0045a660
mov ecx, str.position
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472287
cmp dl, bl
je 0x472283
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472287
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x472267
xor eax, eax
jmp 0x47228c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x472398
mov ecx, 0x48af38
lea eax, [esp + 0x230]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4722c0
cmp dl, bl
je 0x4722bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4722c0
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4722a0
xor eax, eax
jmp 0x4722c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x472398
mov ecx, str.click
lea eax, [esp + 0x230]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472300
cmp dl, bl
je 0x4722fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472300
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4722e0
xor eax, eax
jmp 0x472305
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x472310
mov ebp, esi
jmp 0x472220
mov ecx, str.loop
lea eax, [esp + 0x230]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472340
cmp dl, bl
je 0x47233c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472340
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x472320
xor eax, eax
jmp 0x472345
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x472354
mov dword [0x49ab68], esi
jmp 0x472220
mov ecx, str.async
lea eax, [esp + 0x230]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x472380
cmp dl, bl
je 0x47237c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x472380
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x472360
xor eax, eax
jmp 0x472385
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4726d7
mov dword [0x58f96c], esi
jmp 0x472220
call fcn.00401d40
call fcn.004240f0
mov dword [0x49a318], eax
call fcn.00401d40
call fcn.004240f0
mov dword [0x49aa64], eax
call fcn.00401d40
call fcn.004240f0
mov dword [0x49ac74], eax
call fcn.00401d40
call fcn.004240f0
mov dword [0x49a52c], eax
jmp 0x472220
push 0x104
push 0x49a320
push 0xffffffffffffffff
lea edx, [esp + 0x3c]
push edx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x49a530
push 0x47d070
push esi
push ebx
push 0x47d010
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x4727de
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x49a844
push 0x47d020
push eax
call edx
test eax, eax
jne 0x4727de
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x49a94c
push 0x47d030
push eax
call edx
test eax, eax
jne 0x4727de
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x49a950
push 0x47d050
push eax
call edx
test eax, eax
jne 0x4727de
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x49a95c
push 0x47d060
push eax
call edx
test eax, eax
jne 0x4727de
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push ebx
push 0x49a320
push eax
call edx
mov eax, dword [0x49a950]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push 0x40000000
push eax
call edx
mov edx, dword [0x49ab6c]
mov eax, dword [0x49a950]
mov edx, dword [edx + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x7c]
call eax
mov edx, dword [0x49ab6c]
mov eax, dword [0x49a950]
mov edx, dword [edx + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x74]
call eax
mov edx, dword [0x49a52c]
mov eax, dword [0x49a950]
mov ecx, dword [eax]
push edx
mov edx, dword [0x49ac74]
push edx
mov edx, dword [0x49aa64]
push edx
mov edx, dword [0x49a318]
push edx
push eax
mov eax, dword [ecx + 0x9c]
call eax
mov eax, dword [0x49a844]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push eax
call edx
mov eax, dword [0x54ad08]
cmp eax, 0x64
jne 0x472526
mov esi, 0xffffd8f1
jmp 0x47252b
imul eax, eax, 0xffffffe7
mov esi, eax
mov eax, dword [0x49a844]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x47d040
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jne 0x47255e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push esi
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 1
xor esi, esi
mov dword [0x58f960], eax
mov dword [0x58f964], eax
cmp dword [0x58f96c], ebx
jne 0x47264e
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x24]
push eax
call fcn.004013f0
cmp dword [0x58faec], ebx
je 0x472597
cmp ebp, ebx
jne 0x4725fa
cmp dword [0x58fe6c], ebx
jne 0x472658
mov eax, dword [0x49a94c]
mov ecx, dword [eax]
push 0xa
lea edx, [esp + 0x24]
push edx
lea edx, [esp + 0x24]
push edx
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
test eax, eax
jne 0x4725f4
mov edx, dword [esp + 0x20]
mov eax, dword [0x49a94c]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x4725ff
cmp eax, 3
je 0x4725ff
cmp eax, 2
je 0x4725ff
push 2
call edi
jmp 0x472581
mov esi, 1
cmp dword [0x58fe6c], ebx
jne 0x472658
cmp dword [0x49ab68], ebx
je 0x472658
cmp esi, ebx
jne 0x472658
mov eax, dword [0x49a95c]
push ebx
push ebx
push 0x21
lea edx, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x38]
call eax
mov eax, 1
xor esi, esi
mov dword [0x58f960], eax
mov dword [0x58f964], eax
cmp dword [0x58f96c], ebx
je 0x472581
mov eax, 1
jmp 0x4727e0
mov eax, dword [0x49a844]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push eax
call edx
mov eax, dword [0x49a95c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a950]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a844]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a94c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x58f964], ebx
mov dword [0x58f960], ebx
cmp dword [0x58f968], ebx
je 0x4726cd
push 0x49a538
call fcn.004087dd
add esp, 4
mov dword [0x58f968], ebx
mov eax, 1
jmp 0x4727e0
push str.movie
push 0x48af84
jmp 0x4727d6
xor ebx, ebx
cmp dword [0x58f964], ebx
je 0x4727c8
lea edi, [esp + 0x30]
call fcn.0045a660
mov edx, str.stop
mov ecx, edi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x472724
cmp al, bl
je 0x472720
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x472724
add ecx, 2
add edx, 2
cmp al, bl
jne 0x472704
xor eax, eax
jmp 0x472729
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4727cc
mov eax, dword [0x49a844]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push eax
call edx
mov eax, dword [0x49a95c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a950]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push ebx
push eax
call edx
mov eax, dword [0x49a950]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x74]
push ebx
push eax
call edx
mov eax, dword [0x49a950]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a530]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a844]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x49a94c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x58f964], ebx
mov dword [0x58f960], ebx
mov dword [0x58f96c], ebx
cmp dword [0x58f968], ebx
je 0x4727c8
push 0x49a538
call fcn.004087dd
add esp, 4
mov dword [0x58f968], ebx
mov eax, esi
jmp 0x4727e0
push 0x48aed0
push 0x48aef4
call fcn.00458fe0
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x334]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407f40
add esp, 0x32c
ret