Function at 0x417e90
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x676314]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
add byte [ebx], dh
lds ecx, [ecx + 0x458bfc45]
or byte [ebx + 0x56], dl
push edi
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x214], 0
call fcn.00473925
test al, al
je 0x417edb
mov bh, 0x34
mov edx, dword [edx + eax*4 - 0x26]
jmp 0x417e9d
call fcn.004736fd
test al, al
je 0x417efd
int3
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004830b0
add esp, 0xc
call fcn.004732ad
test al, al
je 0x417f35
add eax, 0x74c08400
sbb dword [ebx - 0x666fbfa7], eax
sbb dword [ecx + 0x40], 0xffffff90
cdq
aas
or eax, 0xdea8fdc7
clc
daa
xor dword [ecx], esp
adc al, 0x3d
jns 0x417f57
jno 0x417f16
mov edi, 0xe8ba95f4
or byte [eax - 0x3f7bfffb], bh
call fcn.00473742
test al, al
mov eax, 0xc0840005
je 0x417f55
sub al, cl
or dword [eax], esi
xchg ebx, eax
dec esp
adc ah, byte [esi + 0x668fb79]
ret
call fcn.004732ad
test al, al
je 0x417f75
mov bl, 5
add byte [eax + eax*8 - 0x2883e88c], al
jl 0x417f37
or byte [esi + 0x42a22aea], 0xd6
ficom word [edi]
bound ebp, qword [esi - 0x47b3fb76]
lodsb al, byte [esi]
adc ebp, dword [esi - 7]
inc ecx
xchg ebx, eax
push 0
push 0x2b
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
call fcn.0047362e
test al, al
je 0x417fb1
rol al, cl
invalid
call fcn.0047351a
test al, al
je 0x417fd1
or byte [esi + ecx], dl
stc
inc ebx
sbb ch, byte [edx]
dec esp
mov ebp, esi
or eax, 0xa9e3149
neg esp
test al, 0x6b
inc ecx
je 0x418034
call fcn.004733c1
test al, al
je 0x417ff1
xchg esp, eax
push ds
lahf
adc bh, 0xbf
dec edi
call 0xba8dedc2
test dword [esi], edx
inc edi
test byte [edx + 0x7e], bl
jne 0x417f73
das
sbb al, 0x13
lea edi, [ebp - 0x20c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x418000
mov eax, dword [0x5e8aa0]
lea edx, [ebp - 0x20c]
mov dword [edi], eax
add edx, 0xfffffffe
nop dword [eax]
mov cx, word [edx + 2]
lea edx, [edx + 2]
test cx, cx
jne 0x418020
mov ecx, dword [0x5e8b28]
lea edi, [ebp - 0x20c]
mov dword [edx], ecx
add edi, 0xfffffffe
mov ecx, dword [str.iNengPY]
mov dword [edx + 4], ecx
mov ecx, dword [0x5e8b30]
mov dword [edx + 8], ecx
mov ecx, dword [0x5e8b34]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x5e8b38]
mov dword [edx + 0x10], ecx
hlt
cmp byte [ebx + 0x4a89005e], cl
adc byte [esi - 0x75], ah
dec edi
add cl, byte [ebp - 0x7a99fd81]
leave
mov cx, word [edi + 2]
lea edi, [edi + 2]
test cx, cx
jne 0x418061
mov dword [edi], eax
call fcn.00473811
test al, al
je 0x41808c
sal byte [esp + edx + 0x7e], 0xfb
jle 0x418075
mov esp, 0x6b22daa7
cmpsb byte [esi], byte es:[edi]
mov esp, 0x26aaf6c
stosb byte es:[edi], al
leave
inc edi
jae 0x418020
or dword [ebx + 0x5b8d9e8], 0
call fcn.0047396a
test al, al
je 0x4180a6
or ebp, dword [edx + esi*4 + 0xd8b07e8]
out 0x92, eax
aad 0xaa
jne 0x41805a
xchg ecx, eax
inc eax
xchg byte [esi], bh
lea eax, [ebp - 0x20c]
push eax
call fcn.00458ac6
mov ebx, dword [ebp - 0x210]
xor eax, eax
add esp, 4
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
cmp word [ebp - 0x20c], ax
jne 0x4180db
xor ecx, ecx
jmp 0x4180f3
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4180e4
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.00402650
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046ce06
mov esp, ebp
pop ebp
ret 4