Function at 0x472bd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x46d2d0]
push ebx
push esi
push edi
test eax, eax
jne 0x474501
mov eax, dword [0x45b364]
xor edi, edi
mov ebx, 1
cmp eax, edi
mov dword [0x46d2d0], ebx
jne 0x473369
add byte [eax], al
jne 0x472c02
je 0x472c02
add eax, 0x6808ec83
xor byte [ecx + 0x47], cl
add byte [edi + edi*8 + 0x35], ah
add byte [eax], al
add byte [eax], al
sub esp, 8
push 0x474930
push dword fs:[0]
mov dword fs:[0], esp
cmp dword [esp + 8], 0x17d037c
call fcn.0047e620
jle 0x472c2a
jg 0x472c2a
out 0x89, al
sbb eax, 0x46d604
mov dword [0x46d604], ebx
jb 0x472c35
jae 0x472c35
call 0xd31b3200
inc esi
add byte [eax + eax + 0x7c810000], dh
and al, 8
jne 0x472c48
mov dword [0x46d2d4], 0xb4
cmp dword [esp + 8], 0x1740375
je 0x472c48
mov eax, dword [0x46d2d4]
and eax, 0x80000007
aam 0xd2
inc esi
add byte [0x80000007], ah
jns 0x472c58
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x46d600], eax
jl 0x472c62
jge 0x472c62
salc
cmp dword [0x46d600], edi
je 0x472c81
jne 0x472c6f
je 0x472c6f
jp 0x472bfb
mov ecx, dword [0x46d600]
or eax, 0x46d600
mov eax, dword [0x46d2d4]
sub eax, ecx
mov dword [0x46d2d4], eax
jne 0x472c86
je 0x472c86
pop esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [0x46db8c], eax
jle 0x472c96
jg 0x472c96
call 0x483202
add byte [eax + 0x1c], ch
fld dword [esi]
push 0x105
push 0x46d91c
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp dword [0x46db8c], 0x80000000
jae 0x472f60
push 0x46d91c
call fcn.00479b30
mov esi, eax
jbe 0x472cc7
ja 0x472cc7
call 0xd9639521
inc esi
add byte [eax + 0x24], ch
fiadd dword [esi]
push esi
push 0x46d91c
push 0x46da24
call fcn.00479b10
jle 0x472cdc
jg 0x472cdc
out 0x53, eax
push ebx
lea edx, [esi + 0x46da24]
push 0x462bf8
push edx
call fcn.00479b10
jne 0x472cf3
je 0x472cf3
and eax, 0x74037546
add dword [0x462a0c68], esp
inc esi
jne 0x472cf9
je 0x472cf9
and eax, 0x462a0c68
push 0x462a0c
call fcn.00479b30
push eax
add al, ch
sub eax, 0x5000006e
lea eax, [esi + 0x46da24]
push 0x462a0c
push eax
call fcn.00479b10
jp 0x472d1a
jnp 0x472d1a
call 0x46713986
add al, ch
or al, 0x6e
add byte [eax], al
push 0x462a0c
call fcn.00479b30
add esp, 0x30
mov byte [eax + esi + 0x46da24], 0
jbe 0x472d34
ja 0x472d34
call 0x472151a0
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
push 0x46da24
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, edi
mov dword [0x46d2e4], eax
je 0x472f60
jb 0x472d51
jae 0x472d51
jmp 0x472d04
mov dl, 0x65
mov cl, 0x6f
mov byte [0x46d435], dl
mov byte [0x46d438], dl
mov bl, 0x6d
mov al, 0x66
mov dl, 0x6a
mov byte [0x46d430], 0x56
mov byte [0x46d431], cl
mov byte [0x46d432], 0x69
mov byte [0x46d433], 0x62
mov byte [0x46d434], cl
mov byte [0x46d436], bl
mov byte [0x46d437], al
aam 0x46
add byte [edx + 0x46d437], ah
mov byte [0x46d439], 0x46
mov byte [0x46d43a], 0x79
mov byte [0x46d43b], 0x64
mov byte [0x46d43c], al
mov byte [0x46d43d], 0x71
mov byte [0x46d43e], 0x75
mov byte [0x46d43f], dl
mov byte [0x46d440], 0x70
mov byte [0x46d441], cl
mov byte [0x46d442], 0x47
mov byte [0x46d443], dl
mov byte [0x46d444], bl
mov byte [0x46d445], 0x75
mov byte [0x46d446], al
mov byte [0x46d447], 0x73
mov byte [0x46d448], 0
jne 0x472e00
je 0x472e00
jmp 0x472d8b
mov cl, byte [0x46d430]
mov al, byte [0x46d431]
mov bl, byte [0x46d432]
mov dl, byte [0x46d433]
dec cl
dec al
mov byte [0x46d430], cl
mov cl, byte [0x46d434]
dec bl
mov byte [0x46d431], al
mov al, byte [0x46d435]
dec dl
mov byte [0x46d432], bl
mov bl, byte [0x46d436]
mov byte [0x46d433], dl
mov dl, byte [0x46d437]
dec cl
dec al
mov byte [0x46d434], cl
mov cl, byte [0x46d438]
dec bl
mov byte [0x46d435], al
mov al, byte [0x46d439]
dec dl
mov byte [0x46d436], bl
mov bl, byte [0x46d43a]
mov byte [0x46d437], dl
mov dl, byte [0x46d43b]
dec cl
dec al
mov byte [0x46d438], cl
mov cl, byte [0x46d43c]
dec bl
mov byte [0x46d439], al
mov al, byte [0x46d43d]
dec dl
mov byte [0x46d43a], bl
mov bl, byte [0x46d43e]
mov byte [0x46d43b], dl
mov dl, byte [0x46d43f]
dec cl
dec al
dec bl
dec dl
mov byte [0x46d43c], cl
mov cl, byte [0x46d440]
mov byte [0x46d43d], al
mov byte [0x46d43e], bl
mov byte [0x46d43f], dl
mov al, byte [0x46d441]
mov bl, byte [0x46d442]
mov dl, byte [0x46d443]
dec cl
dec al
mov byte [0x46d440], cl
mov cl, byte [0x46d444]
dec bl
mov byte [0x46d441], al
mov al, byte [0x46d445]
dec dl
mov byte [0x46d442], bl
mov bl, byte [0x46d446]
mov byte [0x46d443], dl
mov dl, byte [0x46d447]
dec cl
dec al
dec bl
dec dl
mov byte [0x46d444], cl
mov byte [0x46d445], al
mov byte [0x46d446], bl
mov byte [0x46d447], dl
jle 0x472f49
jg 0x472f49
out 0x8b, eax
or eax, 0x46d2e4
mov ecx, dword [0x46d2e4]
push 0x46d430
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x46db7c], eax
cmp dword [0x460438], edi
je 0x47315a
jle 0x472f71
jg 0x472f71
out 0xe8, eax
stosb byte es:[edi], al
in eax, 0xff
invalid
call fcn.00471520
jle 0x472f7b
jg 0x472f7b
out 0x8b, eax
adc eax, 0x46db8c
mov edx, dword [0x46db8c]
mov dword [0x4604c8], edx
jle 0x472f8c
jg 0x472f8c
out 0xe8, eax
pop ds
jmp 0xf8cb2f92
call 0x4718b0
cmp eax, 0x11
jne 0x472fe5
jl 0x472f9b
jge 0x472f9b
call 0xd30b3566
inc esi
add byte [edx], al
add byte [eax], al
add byte [edx + 3], dh
mov dword [0x46d2c4], 2
jb 0x472faa
jae 0x472faa
sbb edi, eax
add eax, 0x46d44c
shr byte [ebx], 1
inc edi
add byte [eax - 0x48], dl
je 0x472ffd
mov dword [0x46d44c], entry0
push eax
mov eax, case.0x474366.1
mov dword [0x46dba4], eax
inc edi
add byte [ebx + 0x46dba4], ah
pop eax
cmp dword [esp + 4], 0x1730372
mov eax, dword [0x46d44c]
mov ecx, dword [0x46dba4]
sub ecx, eax
mov dword [0x46dba4], ecx
jle 0x472fe0
add edi, dword [edi + 1]
jg 0x472fe0
call 0x5cbfcd
add byte [esi + 3], dh
jmp case.0x474366.1
jbe 0x472fea
ja 0x472fea
call 0x7941d6
add byte [esi + 3], bh
call 0x476200
jle 0x472ff4
jg 0x472ff4
call 0xd2ff3d83
inc esi
add byte [ebx + 0x46d5f815], cl
mov ecx, dword [0x46d2b8]
mov edx, dword [0x46d5f8]
add edx, ecx
mov dword [0x460490], edx
jb 0x47300d
aad 0x46
add byte [ebx], al
ror dword [ecx + 0x46049015], 1
add byte [edx + 3], dh
jae 0x47300d
sub eax, 0x46d5f8a1
add byte [ebx + 0x46d2b815], cl
add cl, al
mov eax, dword [0x46d5f8]
mov edx, dword [0x46d2b8]
shr edx, 3
lea ecx, [eax + eax]
sub edx, ecx
mov dword [0x460494], edx
jb 0x47302b
mov eax, 0xc10046d2
ljmp 0xd12b:0xc8d03
add byte [ebx], ch
ror dword [ecx + 0x46049415], 1
add byte [edx + 3], dh
add esi, dword [ebx + 1]
jae 0x47302b
jmp 0x473014
call 0x47cf80
cmp dword [esp + 4], 0x1770376
mov eax, dword [0x46d5f8]
mov esi, dword [0x460490]
add esi, eax
mov dword [0x460490], esi
jne 0x473050
je 0x473050
jmp 0x472fdc
mov ecx, dword [0x46d2b8]
mov eax, dword [0x460494]
shr ecx, 2
add eax, ecx
mov dword [0x460494], eax
jle 0x47306a
jg 0x47306a
call 0x4bb45f9
inc esi
add byte [ecx + 0x46049815], cl
add byte [ebp + 3], dh
mov edx, dword [0x460474]
mov dword [0x460498], edx
jne 0x47307b
je 0x47307b
jge 0x47301d
mov eax, dword [0x460478]
mov dword [0x46049c], eax
js 0x473082
inc esi
add byte [ebx + 0x46049c], ah
pushfd
add al, 0x46
add byte [esi + 3], dh
jbe 0x47308a
ja 0x47308a
mov ebx, 0x47c0d8b
inc esi
add byte [ecx + 0x4604a00d], cl
add byte [edx + 3], dh
mov ecx, dword [0x46047c]
mov dword [0x4604a0], ecx
jb 0x47309b
jae 0x47309b
jmp 0x473027
mov edx, dword [0x460480]
mov dword [0x4604a4], edx
cmp dword [esp + 8], 0x1740375
mov eax, dword [0x460484]
mov dword [0x4604a8], eax
add al, 0x46
add byte [ecx + 0x4604a415], cl
add byte [ecx + 0x7508247c], al
add esi, dword [ecx + eax - 0x5f]
test byte [esi + eax*2], al
add byte [ebx + 0x4604a8], ah
cmp dword [esp + 8], 0x17d037c
mov ecx, dword [0x460488]
mov dword [0x4604ac], ecx
cmp dword [esp + 4], 0x1730372
mov edx, dword [0x46048c]
mov dword [0x4604b0], edx
jbe 0x4730e6
ja 0x4730e6
call 0x464bc58b
add byte [ebx + 0x4604b4], ah
mov eax, dword [0x460494]
mov dword [0x4604b4], eax
jne 0x4730f5
je 0x4730f5
jmp 0x473081
mov ecx, dword [0x460490]
mov dword [0x4604b8], ecx
cmp dword [esp + 8], 0x1740375
mov dword [0x4604bc], edi
jne 0x473114
je 0x473114
jg 0x47309e
mov dword [0x4604c0], edi
cmp eax, 0x4604c0
jl 0x47311f
jge 0x47311f
ror dword [ecx + 0x4604c43d], 1
add byte [ecx + 0x7204247c], al
add esi, dword [ebx + 1]
mov dword [0x4604c4], edi
cmp dword [esp + 4], 0x1730372
mov edx, dword [0x46db8c]
mov dword [0x4604c8], edx
jb 0x47313e
jae 0x47313e
pop ss
mov eax, dword [0x46db7c]
mov dword [0x4604cc], eax
cmp dword [esp + 4], 0x1770376
mov dword [0x4604dc], 0x474930
cmp dword [esp + 8], 0x17d037c
mov dword [0x46d44c], 0x472bd0
push eax
mov eax, case.0x474366.1
mov dword [0x46dba4], eax
pop eax
mov ecx, dword [0x46d44c]
mov edx, dword [0x46dba4]
sub edx, ecx
mov dword [0x46dba4], edx
jp 0x473191
jnp 0x473191
lcall 0xe800, 0x46d62068
invalid
push 0x46d620
call fcn.00471860
jns 0x4731a0
js 0x4731a0
call 0xdbeb472f
inc esi
add byte [ecx + 0x46d44c], ah
mov edx, dword [0x46dba4]
mov eax, dword [0x46d44c]
push edx
push eax
push 0x46d620
call fcn.0047b990
jp 0x4731bc
jnp 0x4731bc
lcall 0x6800, 0x46d62068
xchg esp, eax
fild dword [esi]
push 0x46d620
push 0x46db94
call fcn.00479bd0
add esp, 0x18
jne 0x4731d3
je 0x4731d3
ljmp 0x46:0xdb980d8b
mov ecx, dword [0x46db98]
mov dword [0x46d678], ecx
jp 0x4731e4
jnp 0x4731e4
cmp cl, byte [ebx + 0x46dba015]
add byte [ecx + 0x46d45015], cl
add byte [ecx + 0x7604247c], al
add esi, dword [edi + 1]
mov edx, dword [0x46dba0]
mov dword [0x46d450], edx
cmp dword [esp + 4], 0x1770376
cmp dword [0x460438], edi
je 0x47333e
jle 0x473209
jg 0x473209
call 0x1e64f5
push dword [esi + 3]
call 0x470940
jbe 0x473213
ja 0x473213
call fcn.007d6aff
add byte [esi + 3], dh
call 0x476850
jbe 0x47321d
ja 0x47321d
call 0x1ba3593
jb 0x473222
jae 0x473222
call 0x184c0e
push dword [esi + 3]
call 0x470340
jbe 0x47322c
ja 0x47322c
mov edx, dword [di]
mov ah, 4
inc esi
add byte [eax + 0x4d], bh
mov edx, dword [0x4604b4]
mov eax, 0x4d
sub edx, eax
mov dword [0x4604b4], edx
jb 0x473244
jae 0x473244
call 0x4ff3749
inc esi
add byte [edx + 3], bh
add dword [0x4604b8], eax
jp 0x47324f
jnp 0x47324f
call 0xe08f3b
add byte [ebx + 0x4604b41d], cl
add byte [eax + 0x33], bh
call 0x47cbb0
mov ebx, dword [0x4604b4]
mov eax, 0x33
sub ebx, eax
mov dword [0x4604b4], ebx
jne 0x47326c
je 0x47326c
and eax, 0x4b80501
inc esi
add byte [ecx + 3], bh
add dword [0x4604b8], eax
jns 0x473277
js 0x473277
call int.0095f763
add byte [ebp + 3], dh
call 0x478140
jne 0x473281
je 0x473281
and eax, 0x4b4158b
inc esi
add byte [eax + 0x48], bh
mov edx, dword [0x4604b4]
mov eax, 0x48
sub edx, eax
mov dword [0x4604b4], edx
jp 0x473299
jnp 0x473299
call 0x4ff379e
inc esi
add byte [esi + 3], dh
add dword [0x4604b8], eax
jbe 0x4732a4
ja 0x4732a4
call 0xb5ea90
add byte [edx + 3], dh
call 0x47a160
jb 0x4732ae
jae 0x4732ae
call 0x4fb503d
inc esi
add byte [eax + 0x39], bh
mov ebx, dword [0x4604b4]
mov eax, 0x39
sub ebx, eax
mov dword [0x4604b4], ebx
jp 0x4732c6
jnp 0x4732c6
call 0x4ff37cb
inc esi
add byte [edx + 3], bh
add dword [0x4604b8], eax
jp 0x4732d1
jnp 0x4732d1
call 0x464beb76
add byte [ebx + 0x460490], ah
mov eax, dword [0x4604b8]
mov dword [0x460490], eax
jne 0x4732e0
je 0x4732e0
and eax, 0x4b40d8b
inc esi
add byte [ecx + 0x4604940d], cl
add byte [edx + 3], bh
mov ecx, dword [0x4604b4]
mov dword [0x460494], ecx
jp 0x4732f1
jnp 0x4732f1
call 0xd46ddd
add byte [ecx + 2], bh
call 0x47c030
mov ecx, 2
cmp eax, ecx
jne 0x473314
jl 0x473304
jge 0x473304
call 0xd30b4091
inc esi
add byte [esi + 3], bh
mov dword [0x46d2c4], ecx
jle 0x47330f
jg 0x47330f
call 0x5993fc
add byte [edx + 3], bh
jmp case.0x474366.1
jp 0x473319
jnp 0x473319
call 0x2ab77056
inc esi
add byte [eax + ecx + 0x39], dh
cmp eax, 0x462a74
cmp dword [0x462a70], edi
je 0x473329
cmp dword [0x462a74], edi
jne 0x473369
jl 0x47332e
jge 0x47332e
call 0xd30b40bb
inc esi
add byte [esi + 3], bh
mov dword [0x46d2c4], ecx
jle 0x473339
jg 0x473339
call 0x596a26
add byte [ebx + 0x4604780d], cl
add byte [ecx + 0x460474], ah
jmp case.0x474366.1
mov ecx, dword [0x460478]
mov eax, dword [0x460474]
lea edx, [ecx + eax]
sub eax, ecx
mov dword [0x46d2b8], edx
mov dword [0x46d5f8], eax
mov dword [0x460490], edx
mov dword [0x460494], eax
call fcn.00471520
mov edi, 8
mov esi, 4