Function at 0x498bd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4922d0]
push ebx
push esi
push edi
test eax, eax
jne 0x49a501
mov eax, dword [0x480364]
xor edi, edi
mov ebx, 1
cmp eax, edi
mov dword [0x4922d0], ebx
jne 0x499369
add byte [eax], al
jne 0x498c02
je 0x498c02
add eax, 0x6808ec83
xor byte [ecx - 0x9bffb7], ch
xor eax, 0
sub esp, 8
push 0x49a930
push dword fs:[0]
mov dword fs:[0], esp
cmp dword [esp + 8], 0x17d037c
call fcn.004a4620
jle 0x498c2a
jg 0x498c2a
out 0x89, al
sbb eax, 0x492604
mov dword [0x492604], ebx
jb 0x498c35
jae 0x498c35
call 0x231d9200
dec ecx
add byte [eax + eax + 0x7c810000], dh
and al, 8
jne 0x498c48
mov dword [0x4922d4], 0xb4
cmp dword [esp + 8], 0x1740375
je 0x498c48
mov eax, dword [0x4922d4]
and eax, 0x80000007
aam 0x22
dec ecx
add byte [0x80000007], ah
jns 0x498c58
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x492600], eax
jl 0x498c62
jge 0x498c62
salc
cmp dword [0x492600], edi
je 0x498c81
jne 0x498c6f
je 0x498c6f
jp 0x498bfb
mov ecx, dword [0x492600]
or eax, 0x492600
mov eax, dword [0x4922d4]
sub eax, ecx
mov dword [0x4922d4], eax
jne 0x498c86
je 0x498c86
pop esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [0x492b8c], eax
jle 0x498c96
jg 0x498c96
call 0x4a9202
add byte [eax + 0x1c], ch
sub dword [ecx], ecx
push 0x105
push 0x49291c
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp dword [0x492b8c], 0x80000000
jae 0x498f60
push 0x49291c
call fcn.0049fb30
mov esi, eax
jbe 0x498cc7
ja 0x498cc7
call 0x2965f521
dec ecx
add byte [eax + 0x24], ch
sub cl, byte [ecx]
push esi
push 0x49291c
push 0x492a24
call fcn.0049fb10
jle 0x498cdc
jg 0x498cdc
out 0x53, eax
push ebx
lea edx, [esi + 0x492a24]
push 0x487bf8
push edx
call fcn.0049fb10
jne 0x498cf3
je 0x498cf3
and eax, 0x74037546
add dword [0x487a0c68], esp
inc esi
jne 0x498cf9
je 0x498cf9
and eax, 0x487a0c68
push 0x487a0c
call fcn.0049fb30
push eax
add al, ch
sub eax, 0x5000006e
lea eax, [esi + 0x492a24]
push 0x487a0c
push eax
call fcn.0049fb10
jp 0x498d1a
jnp 0x498d1a
call 0x48c39986
add al, ch
or al, 0x6e
add byte [eax], al
push 0x487a0c
call fcn.0049fb30
add esp, 0x30
mov byte [eax + esi + 0x492a24], 0
jbe 0x498d34
ja 0x498d34
call 0x4973b1a0
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
push 0x492a24
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, edi
mov dword [0x4922e4], eax
je 0x498f60
jb 0x498d51
jae 0x498d51
jmp 0x498d04
mov dl, 0x65
mov cl, 0x6f
mov byte [0x492435], dl
mov byte [0x492438], dl
mov bl, 0x6d
mov al, 0x66
mov dl, 0x6a
mov byte [0x492430], 0x56
mov byte [0x492431], cl
mov byte [0x492432], 0x69
mov byte [0x492433], 0x62
mov byte [0x492434], cl
mov byte [0x492436], bl
mov byte [0x492437], al
and al, 0x49
add byte [edx + 0x492437], ah
mov byte [0x492439], 0x46
mov byte [0x49243a], 0x79
mov byte [0x49243b], 0x64
mov byte [0x49243c], al
mov byte [0x49243d], 0x71
mov byte [0x49243e], 0x75
mov byte [0x49243f], dl
mov byte [0x492440], 0x70
mov byte [0x492441], cl
mov byte [0x492442], 0x47
mov byte [0x492443], dl
mov byte [0x492444], bl
mov byte [0x492445], 0x75
mov byte [0x492446], al
mov byte [0x492447], 0x73
mov byte [0x492448], 0
jne 0x498e00
je 0x498e00
jmp 0x498d8b
mov cl, byte [0x492430]
mov al, byte [0x492431]
mov bl, byte [0x492432]
mov dl, byte [0x492433]
dec cl
dec al
mov byte [0x492430], cl
mov cl, byte [0x492434]
dec bl
mov byte [0x492431], al
mov al, byte [0x492435]
dec dl
mov byte [0x492432], bl
mov bl, byte [0x492436]
mov byte [0x492433], dl
mov dl, byte [0x492437]
dec cl
dec al
mov byte [0x492434], cl
mov cl, byte [0x492438]
dec bl
mov byte [0x492435], al
mov al, byte [0x492439]
dec dl
mov byte [0x492436], bl
mov bl, byte [0x49243a]
mov byte [0x492437], dl
mov dl, byte [0x49243b]
dec cl
dec al
mov byte [0x492438], cl
mov cl, byte [0x49243c]
dec bl
mov byte [0x492439], al
mov al, byte [0x49243d]
dec dl
mov byte [0x49243a], bl
mov bl, byte [0x49243e]
mov byte [0x49243b], dl
mov dl, byte [0x49243f]
dec cl
dec al
dec bl
dec dl
mov byte [0x49243c], cl
mov cl, byte [0x492440]
mov byte [0x49243d], al
mov byte [0x49243e], bl
mov byte [0x49243f], dl
mov al, byte [0x492441]
mov bl, byte [0x492442]
mov dl, byte [0x492443]
dec cl
dec al
mov byte [0x492440], cl
mov cl, byte [0x492444]
dec bl
mov byte [0x492441], al
mov al, byte [0x492445]
dec dl
mov byte [0x492442], bl
mov bl, byte [0x492446]
mov byte [0x492443], dl
mov dl, byte [0x492447]
dec cl
dec al
dec bl
dec dl
mov byte [0x492444], cl
mov byte [0x492445], al
mov byte [0x492446], bl
mov byte [0x492447], dl
jle 0x498f49
jg 0x498f49
out 0x8b, eax
or eax, 0x4922e4
mov ecx, dword [0x4922e4]
push 0x492430
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x492b7c], eax
sub ecx, dword [ecx]
cmp dword [0x485438], edi
je 0x49915a
jle 0x498f71
jg 0x498f71
out 0xe8, eax
stosb byte es:[edi], al
in eax, 0xff
invalid
call fcn.00497520
jle 0x498f7b
jg 0x498f7b
out 0x8b, eax
adc eax, 0x492b8c
mov edx, dword [0x492b8c]
mov dword [0x4854c8], edx
jle 0x498f8c
jg 0x498f8c
out 0xe8, eax
pop ds
jmp 0xf8cd8f92
call 0x4978b0
cmp eax, 0x11
jne 0x498fe5
jl 0x498f9b
jge 0x498f9b
call 0x230d9566
dec ecx
add byte [edx], al
add byte [eax], al
add byte [edx + 3], dh
mov dword [0x4922c4], 2
jb 0x498faa
jae 0x498faa
sbb edi, eax
add eax, 0x49244c
ror byte [ebx - 0x47afffb7], 1
je 0x498f5d
mov dword [0x49244c], entry0
push eax
mov eax, case.0x49a366.1
mov dword [0x492ba4], eax
dec ecx
add byte [ebx + 0x492ba4], ah
pop eax
cmp dword [esp + 4], 0x1730372
mov eax, dword [0x49244c]
mov ecx, dword [0x492ba4]
sub ecx, eax
mov dword [0x492ba4], ecx
jle 0x498fe0
add edi, dword [edi + 1]
jg 0x498fe0
call 0x5f1fcd
add byte [esi + 3], dh
jmp case.0x49a366.1
jbe 0x498fea
ja 0x498fea
call 0x7ba1d6
add byte [esi + 3], bh
call 0x49c200
jle 0x498ff4
jg 0x498ff4
call 0x23019d83
dec ecx
add byte [ebx + 0x4925f815], cl
add byte [ebx], al
ror dword [ecx + 0x48549015], 1
add byte [edx + 3], dh
mov ecx, dword [0x4922b8]
mov edx, dword [0x4925f8]
add edx, ecx
mov dword [0x485490], edx
jb 0x49900d
jae 0x49900d
sub eax, 0x4925f8a1
add byte [ebx + 0x4922b815], cl
add cl, al
mov eax, dword [0x4925f8]
mov edx, dword [0x4922b8]
shr edx, 3
lea ecx, [eax + eax]
sub edx, ecx
mov dword [0x485494], edx
jb 0x49902b
mov eax, 0xc1004922
ljmp 0xd12b:0xc8d03
add byte [ebx], ch
ror dword [ecx + 0x48549415], 1
add byte [edx + 3], dh
add esi, dword [ebx + 1]
jae 0x49902b
jmp 0x499014
call 0x4a2f80
cmp dword [esp + 4], 0x1770376
mov eax, dword [0x4925f8]
mov esi, dword [0x485490]
add esi, eax
mov dword [0x485490], esi
jne 0x499050
je 0x499050
jmp 0x498fdc
mov ecx, dword [0x4922b8]
mov eax, dword [0x485494]
shr ecx, 2
add eax, ecx
mov dword [0x485494], eax
jle 0x49906a
jg 0x49906a
call 0x54bda5f9
dec eax
add byte [ecx + 0x48549815], cl
add byte [ebp + 3], dh
mov edx, dword [0x485474]
mov dword [0x485498], edx
jne 0x49907b
je 0x49907b
jge 0x49901d
mov eax, dword [0x485478]
mov dword [0x48549c], eax
js 0x4990d2
dec eax
add byte [ebx + 0x48549c], ah
pushfd
push esp
dec eax
add byte [esi + 3], dh
jbe 0x49908a
ja 0x49908a
mov ebx, 0x547c0d8b
dec eax
add byte [ecx + 0x4854a00d], cl
add byte [edx + 3], dh
mov ecx, dword [0x48547c]
mov dword [0x4854a0], ecx
jb 0x49909b
jae 0x49909b
jmp 0x499027
mov edx, dword [0x485480]
mov dword [0x4854a4], edx
cmp dword [esp + 8], 0x1740375
mov eax, dword [0x485484]
push esp
dec eax
add byte [ecx + 0x4854a415], cl
add byte [ecx + 0x7508247c], al
add esi, dword [ecx + eax - 0x5f]
test byte [eax + ecx*2], dl
mov dword [0x4854a8], eax
cmp dword [esp + 8], 0x17d037c
mov ecx, dword [0x485488]
mov dword [0x4854ac], ecx
cmp dword [esp + 4], 0x1730372
add esi, dword [ebx + 1]
mov edx, dword [0x48548c]
mov dword [0x4854b0], edx
jbe 0x4990e6
ja 0x4990e6
call 0x489e258b
add byte [ebx + 0x4854b4], ah
mov eax, dword [0x485494]
mov dword [0x4854b4], eax
jne 0x4990f5
je 0x4990f5
jmp 0x499081
mov ecx, dword [0x485490]
mov dword [0x4854b8], ecx
cmp dword [esp + 8], 0x1740375
mov dword [0x4854bc], edi
jne 0x499114
je 0x499114
jg 0x49909e
mov dword [0x4854c0], edi
cmp eax, 0x4854c0
jl 0x49911f
jge 0x49911f
ror dword [ecx + 0x4854c43d], 1
add byte [ecx + 0x7204247c], al
add esi, dword [ebx + 1]
mov dword [0x4854c4], edi
cmp dword [esp + 4], 0x1730372
mov edx, dword [0x492b8c]
mov dword [0x4854c8], edx
jb 0x49913e
jae 0x49913e
pop ss
mov eax, dword [0x492b7c]
mov dword [0x4854cc], eax
cmp dword [esp + 4], 0x1770376
mov dword [0x4854dc], 0x49a930
cmp dword [esp + 8], 0x17d037c
mov dword [0x49244c], 0x498bd0
push eax
mov eax, case.0x49a366.1
mov dword [0x492ba4], eax
pop eax
mov ecx, dword [0x49244c]
mov edx, dword [0x492ba4]
sub edx, ecx
mov dword [0x492ba4], edx
jp 0x499191
jnp 0x499191
lcall 0xe800, 0x49262068
invalid
push 0x492620
call fcn.00497860
jns 0x4991a0
js 0x4991a0
call 0x2beda72f
dec ecx
add byte [ecx + 0x49244c], ah
mov edx, dword [0x492ba4]
mov eax, dword [0x49244c]
push edx
push eax
push 0x492620
call fcn.004a1990
jp 0x4991bc
jnp 0x4991bc
lcall 0x6800, 0x49262068
xchg esp, eax
sub ecx, dword [ecx]
push 0x492620
push 0x492b94
call fcn.0049fbd0
add esp, 0x18
jne 0x4991d3
je 0x4991d3
ljmp 0x49:0x2b980d8b
mov ecx, dword [0x492b98]
mov dword [0x492678], ecx
jp 0x4991e4
jnp 0x4991e4
cmp cl, byte [ebx + 0x492ba015]
add byte [ecx + 0x49245015], cl
add byte [ecx + 0x7604247c], al
add esi, dword [edi + 1]
mov edx, dword [0x492ba0]
mov dword [0x492450], edx
cmp dword [esp + 4], 0x1770376
cmp dword [0x485438], edi
je 0x49933e
jle 0x499209
jg 0x499209
call 0x20c4f5
push dword [esi + 3]
call 0x496940
jbe 0x499213
ja 0x499213
call int.007fcaff
add byte [esi + 3], dh
call 0x49c850
jbe 0x49921d
ja 0x49921d
call 0x1bc9593
jb 0x499222
jae 0x499222
call 0x1aac0e
push dword [esi + 3]
call 0x496340
jbe 0x49922c
ja 0x49922c
mov edx, dword [di]
mov ah, 0x54
dec eax
add byte [eax + 0x4d], bh
mov edx, dword [0x4854b4]
mov eax, 0x4d
sub edx, eax
mov dword [0x4854b4], edx
jb 0x499244
jae 0x499244
call 0x55019749
dec eax
add byte [edx + 3], bh
add dword [0x4854b8], eax
jp 0x49924f
jnp 0x49924f
call 0xe2ef3b
add byte [ebx + 0x4854b41d], cl
add byte [eax + 0x33], bh
call 0x4a2bb0
mov ebx, dword [0x4854b4]
mov eax, 0x33
sub ebx, eax
mov dword [0x4854b4], ebx
jne 0x49926c
je 0x49926c
and eax, 0x54b80501
dec eax
add byte [ecx + 3], bh
add dword [0x4854b8], eax
jns 0x499277
js 0x499277
call 0x985763
add byte [ebp + 3], dh
call 0x49e140
jne 0x499281
je 0x499281
and eax, 0x54b4158b
dec eax
add byte [eax + 0x48], bh
mov edx, dword [0x4854b4]
mov eax, 0x48
sub edx, eax
mov dword [0x4854b4], edx
jp 0x499299
jnp 0x499299
call 0x5501979e
dec eax
add byte [esi + 3], dh
add dword [0x4854b8], eax
jbe 0x4992a4
ja 0x4992a4
call 0xb84a90
add byte [edx + 3], dh
call 0x4a0160
jb 0x4992ae
jae 0x4992ae
call 0x54fdb03d
dec eax
add byte [eax + 0x39], bh
mov ebx, dword [0x4854b4]
mov eax, 0x39
sub ebx, eax
mov dword [0x4854b4], ebx
jp 0x4992c6
jnp 0x4992c6
call 0x550197cb
dec eax
add byte [edx + 3], bh
add dword [0x4854b8], eax
jp 0x4992d1
jnp 0x4992d1
call 0x489e4b76
add byte [ebx + 0x485490], ah
mov eax, dword [0x4854b8]
mov dword [0x485490], eax
jne 0x4992e0
je 0x4992e0
and eax, 0x54b40d8b
dec eax
add byte [ecx + 0x4854940d], cl
add byte [edx + 3], bh
mov ecx, dword [0x4854b4]
mov dword [0x485494], ecx
jp 0x4992f1
jnp 0x4992f1
call 0xd6cddd
add byte [ecx + 2], bh
call 0x4a2030
mov ecx, 2
cmp eax, ecx
jne 0x499314
jl 0x499304
jge 0x499304
call 0x230da091
dec ecx
add byte [esi + 3], bh
mov dword [0x4922c4], ecx
jle 0x49930f
jg 0x49930f
call 0x5bf3fc
add byte [edx + 3], bh
jmp case.0x49a366.1
jp 0x499319
jnp 0x499319
call 0x7ab9d056
dec eax
add byte [eax + ecx + 0x39], dh
cmp eax, 0x487a74
cmp dword [0x487a70], edi
je 0x499329
cmp dword [0x487a74], edi
jne 0x499369
jl 0x49932e
jge 0x49932e
call 0x230da0bb
dec ecx
add byte [esi + 3], bh
mov dword [0x4922c4], ecx
jle 0x499339
jg 0x499339
call 0x5bca26
add byte [ebx + 0x4854780d], cl
add byte [ecx + 0x485474], ah
jmp case.0x49a366.1
mov ecx, dword [0x485478]
mov eax, dword [0x485474]
lea edx, [ecx + eax]
sub eax, ecx
mov dword [0x4922b8], edx
mov dword [0x4925f8], eax
mov dword [0x485490], edx
mov dword [0x485494], eax
call fcn.00497520
mov edi, 8
mov esi, 4