Function at 0x4b21fc
Capabilities:
Copy file
Create directory
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x45
push 0
push 0
dec ecx
jne 0x4b2204
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x7c]
mov edx, dword [0x4ae460]
call fcn.00403efc
xor eax, eax
push ebp
push 0x4b3a53
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [ebp - 0x29], 0
mov dl, 1
mov eax, dword [0x4ae4e8]
call fcn.0043abf8
cmp byte [0x4d8868], 0
je 0x4b2260
mov ecx, 0x2011f
mov dl, 1
mov eax, dword [0x4ae4e8]
call fcn.0043ac3c
mov dword [ebp - 0x10], eax
jmp 0x4b2274
mov ecx, 0x20019
mov dl, 1
mov eax, dword [0x4ae4e8]
call fcn.0043ac3c
mov dword [ebp - 0x10], eax
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.0043acd4
mov edx, 0x4b3a70
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
mov edx, 0x4b3aa0
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
mov edx, 0x4b3ad8
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
mov edx, 0x4b3b0c
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
lea edx, [ebp - 0x88]
mov eax, 0x4b3b64
call fcn.004aad90
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
mov edx, 0x4b3bb0
call fcn.00403b98
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x80]
call fcn.0040340c
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
mov edx, 0x4b3c28
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
jne 0x4b2332
mov edx, 0x4b3c60
mov eax, dword [ebp - 0x10]
call fcn.004ae620
test al, al
je 0x4b2336
mov byte [ebp - 0x29], 1
mov eax, dword [ebp - 0x10]
call fcn.004021f0
lea eax, [ebp - 0x18]
call fcn.004b20cc
mov eax, dword [ebp - 0x18]
call fcn.00408cf8
test al, al
je 0x4b2795
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.004090a0
cmp dword [ebp - 0x1c], 0
jne 0x4b2374
lea eax, [ebp - 0x1c]
mov edx, 0x4b3c98
call fcn.00403218
lea edx, [ebp - 0x90]
mov eax, 0x4b3cb8
call fcn.004aefbc
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.004b6278
push dword [ebp - 0x8c]
push 0x4b3cc8
push 0x4b3cd4
push 0x4b3cc8
push dword [ebp - 0x1c]
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.0040350c
lea edx, [ebp - 0x98]
mov eax, 0x4b3cb8
call fcn.004aefbc
push dword [ebp - 0x98]
push 0x4b3cc8
push 0x4b3cd4
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.0040350c
mov eax, dword [ebp - 0x94]
call fcn.00408d08
test al, al
jne 0x4b243c
push 0
lea edx, [ebp - 0xa0]
mov eax, 0x4b3cb8
call fcn.004aefbc
push dword [ebp - 0xa0]
push 0x4b3cc8
push 0x4b3cd4
lea eax, [ebp - 0x9c]
mov edx, 3
call fcn.0040350c
mov eax, dword [ebp - 0x9c]
call fcn.00403614
push eax
call sub.kernel32.dll_CreateDirectoryA
lea edx, [ebp - 0xac]
mov eax, 0x4b3cb8
call fcn.004aefbc
push dword [ebp - 0xac]
push 0x4b3cc8
push 0x4b3cd4
push 0x4b3cc8
push dword [ebp - 0x1c]
lea eax, [ebp - 0xa8]
mov edx, 5
call fcn.0040350c
mov eax, dword [ebp - 0xa8]
call fcn.00403614
mov edx, eax
lea eax, [ebp - 0xa4]
call fcn.00403398
mov eax, dword [ebp - 0xa4]
call fcn.00408e50
push 0
mov eax, dword [ebp - 0x14]
call fcn.00403614
push eax
mov eax, dword [ebp - 0x18]
call fcn.00403614
push eax
call sub.kernel32.dll_CopyFileA
mov eax, dword [ebp - 0x14]
call fcn.00408e50
mov eax, dword [ebp - 0x14]
call fcn.00408cf8
test al, al
jne 0x4b24ef
push 0x4b3ce4
push 0x4b3cf0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x418b18]
call fcn.0041dc3c
mov ebx, eax
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.0041da38
mov eax, ebx
call fcn.004021f0
mov eax, 0x4b3d00
call fcn.004b1e10
test al, al
je 0x4b252b
cmp byte [0x4d886b], 0
jne 0x4b2521
lea edx, [ebp - 0xb0]
mov eax, 0x4b3d14
call fcn.004aad90
mov eax, dword [ebp - 0xb0]
call fcn.004b0614
mov eax, 0x4b3d00
call fcn.004b1ee8
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
call fcn.00408f84
push dword [ebp - 0xb8]
push 0x4b3cc8
push 0x4b3d00
lea eax, [ebp - 0xb4]
mov edx, 3
call fcn.0040350c
mov eax, dword [ebp - 0xb4]
call fcn.00408cf8
test al, al
je 0x4b26b7
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0x18]
call fcn.00408f84
push dword [ebp - 0xc0]
push 0x4b3cc8
push 0x4b3d00
lea eax, [ebp - 0xbc]
mov edx, 3
call fcn.0040350c
mov eax, dword [ebp - 0xbc]
call fcn.00403614
push eax
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x4b260f
cmp byte [0x4d886b], 0
jne 0x4b25e6
lea edx, [ebp - 0xc4]
mov eax, 0x4b3d14
call fcn.004aad90
mov eax, dword [ebp - 0xc4]
call fcn.004b0614
push 0
push 0x4b3d7c
push 0x4b3d80
push 0x4b3da0
push 0x4b3da8
push 0
call sub.shell32.dll_ShellExecuteA
push 0x64
call sub.kernel32.dll_Sleep_1
jmp 0x4b26b7
push eax
call sub.kernel32.dll_CloseHandle
jmp 0x4b26b7
lea edx, [ebp - 0xcc]
mov eax, 0x4b3db4
call fcn.004aad90
push dword [ebp - 0xcc]
push 0x4b3ddc
push 0x4b3ddc
lea edx, [ebp - 0xd0]
mov eax, 0x4b3de8
call fcn.004aad90
push dword [ebp - 0xd0]
push 0x4b3ddc
lea edx, [ebp - 0xd4]
mov eax, 0x4b3e14
call fcn.004aad90
push dword [ebp - 0xd4]
lea eax, [ebp - 0xc8]
mov edx, 6
call fcn.00403c00
mov eax, dword [ebp - 0xc8]
call fcn.004b1074
mov eax, 0x4b3d00
call fcn.004b1e10
test al, al
je 0x4b26b7
lea edx, [ebp - 0xd8]
mov eax, 0x4b3e44
call fcn.004aad90
mov eax, dword [ebp - 0xd8]
call fcn.004b0b2c
test al, al
je 0x4b37d1
mov eax, 0x4b3d00
call fcn.004b1e10
test al, al
jne 0x4b261a
mov eax, dword [ebp - 0x14]
call fcn.00408cf8
test al, al
je 0x4b2795
mov eax, dword [ebp - 0x18]
call fcn.00408cf8
test al, al
je 0x4b2789
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 0x18]
call fcn.00408f84
cmp dword [ebp - 0xdc], 0
je 0x4b2789
push 0x4b3ebc
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x18]
call fcn.00408f84
push dword [ebp - 0xe4]
push 0x4b3ed0
lea eax, [ebp - 0xe0]
mov edx, 3
call fcn.0040350c
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x14]
call fcn.004b76d4
test al, al
jne 0x4b2770
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
lea edx, [ebp - 0xe8]
mov eax, 0x4b3ed8
call fcn.004aad90
mov eax, dword [ebp - 0xe8]
call fcn.004b1074
jmp 0x4b37d1
cmp byte [0x4d886b], 0
jne 0x4b2789
mov eax, dword [0x4d6700]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SetForegroundWindow
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0045d234
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004446f8
xor eax, eax
push ebp
push 0x4b28dd
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [0x4d8864]
call fcn.00403614
push eax
call sub.kernel32.dll_CreateDirectoryA
test eax, eax
jne 0x4b2814
mov eax, dword [0x4d8864]
call fcn.00408d08
test al, al
jne 0x4b2814
lea edx, [ebp - 0xf0]
mov eax, 0x4b3f90
call fcn.004aad90
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0xec]
call fcn.0040340c
mov eax, dword [ebp - 0xec]
call fcn.00433dd4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b37d1
mov ecx, 0x4b3d00
lea eax, [ebp - 0xf4]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0xf4]
call fcn.00408e50
mov ecx, 0x4b3d00
lea eax, [ebp - 0xf8]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0xf8]
call fcn.00408cf8
test al, al
jne 0x4b289e
push 0x4b3fcc
push 0x4b3cf0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x418b18]
call fcn.0041dc3c
mov ebx, eax
mov ecx, 0x4b3d00
lea eax, [ebp - 0xfc]
mov edx, dword [0x4d8864]
call fcn.00403498
mov edx, dword [ebp - 0xfc]
mov eax, ebx
call fcn.0041da38
mov eax, ebx
call fcn.004021f0
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov edx, 0xb
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b29aa
xor eax, eax
push ebp
push 0x4b29c2
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b29cc
xor eax, eax
push ebp
push 0x4b2ae5
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x4b3c98
lea eax, [ebp - 0x11c]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x11c]
call fcn.00408e50
mov ecx, 0x4b3c98
lea eax, [ebp - 0x120]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x120]
call fcn.00408cf8
test al, al
jne 0x4b2a64
push 0x4b3ce4
push 0x4b3cf0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x418b18]
call fcn.0041dc3c
mov ebx, eax
mov ecx, 0x4b3c98
lea eax, [ebp - 0x124]
mov edx, dword [0x4d8864]
call fcn.00403498
mov edx, dword [ebp - 0x124]
mov eax, ebx
call fcn.0041da38
mov eax, ebx
call fcn.004021f0
mov edx, 0x10
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
lea eax, [ebp - 0x128]
mov ecx, 0x4b4058
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x128]
call fcn.00408e50
mov edx, 0x16
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
lea eax, [ebp - 0x12c]
mov ecx, 0x4b406c
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x12c]
call fcn.00408e50
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2bb2
xor eax, eax
push ebp
push 0x4b2c03
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x4a965c]
call fcn.004a9a44
mov ebx, eax
mov byte [ebx + 0x29], 1
mov byte [ebx + 0x19], 1
mov dl, 1
mov eax, ebx
call fcn.004aa0fc
mov eax, ebx
call fcn.004a9e00
mov edx, 0x4b409c
mov eax, ebx
call fcn.004a9abc
mov eax, ebx
call fcn.004021f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2c17
xor eax, eax
push ebp
push 0x4b2c2f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2c39
mov edx, 0x1b
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov edx, 0x21
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
xor eax, eax
push ebp
push 0x4b2d83
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0x29], 0
je 0x4b2c84
call fcn.004b440c
cmp byte [0x4d8869], 0
je 0x4b2d76
mov dl, 1
mov eax, dword [0x4187ac]
call fcn.004021c0
mov dword [ebp - 0x28], eax
mov dl, 1
mov eax, dword [0x4ae4e8]
call fcn.0043abf8
mov dword [ebp - 0x10], eax
mov edx, 0x80000002
mov eax, dword [ebp - 0x10]
call fcn.0043acd4
xor ecx, ecx
mov edx, 0x4b40c0
mov eax, dword [ebp - 0x10]
call fcn.0043ad3c
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov ecx, 0x4b40fc
xor edx, edx
call fcn.004aea48
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
cmp esi, 0
jl 0x4b2d4d
lea ecx, [ebp - 0x150]
mov edx, esi
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x150]
lea edx, [ebp - 0x14c]
call fcn.00407e44
mov eax, dword [ebp - 0x14c]
push eax
lea edx, [ebp - 0x154]
mov eax, 0x4b4120
call fcn.00407e44
mov eax, dword [ebp - 0x154]
pop edx
call fcn.0040374c
test eax, eax
je 0x4b2d47
mov edx, esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov bl, 1
dec esi
cmp esi, 0xffffffff
jne 0x4b2cf3
test bl, bl
je 0x4b2d6e
mov edx, 0x4b40fc
mov eax, dword [ebp - 0x10]
call fcn.0043afd8
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b40fc
mov eax, dword [ebp - 0x10]
call fcn.004ae8ac
mov eax, dword [ebp - 0x10]
call fcn.004021f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2e50
xor eax, eax
push ebp
push 0x4b2e8d
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
xor eax, eax
call fcn.004b47bc
mov edx, 0x26
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b2f5a
xor eax, eax
push ebp
push 0x4b32d4
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x2001f
mov dl, 1
mov eax, dword [0x4ae4e8]
call fcn.0043ac3c
mov dword [ebp - 0x10], eax
cmp byte [0x4d8869], 0
je 0x4b2f94
mov edx, 0x80000002
mov eax, dword [ebp - 0x10]
call fcn.0043acd4
jmp 0x4b2fa1
mov edx, 0x80000001
mov eax, dword [ebp - 0x10]
call fcn.0043acd4
mov cl, 1
mov edx, 0x4b4164
mov eax, dword [ebp - 0x10]
call fcn.0043ad3c
test al, al
je 0x4b32a6
mov dl, 1
mov eax, dword [0x4187ac]
call fcn.004021c0
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x4b3006
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x4b3d00
lea eax, [ebp - 0x190]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x7c]
call fcn.004af474
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b30db
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x78]
call fcn.00403218
cmp dword [ebp - 0x20], 0
jne 0x4b30f7
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x64]
call fcn.00403218
mov ecx, dword [ebp - 0x28]
mov edx, 0x4b41c8
mov eax, dword [ebp - 0x20]
call fcn.004ae540
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x4b3153
lea ecx, [ebp - 0x1b0]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1b0]
call fcn.004087ec
mov ebx, eax
lea ecx, [ebp - 0x1b4]
mov edx, 1
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x1b4]
call fcn.004087ec
mov esi, eax
jmp 0x4b3157
xor ebx, ebx
xor esi, esi
lea eax, [ebp - 0x28]
call fcn.0040f100
mov ecx, 0x4b3d00
lea eax, [ebp - 0x1b8]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x1b8]
mov edx, 0x4b41d4
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, dword [ebp - 0x20]
mov edx, 0x4b41e8
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, dword [ebp - 0x20]
mov edx, 0x4b4200
mov eax, dword [ebp - 0x10]
call fcn.0043b268
push 0
push 0x400
mov ecx, 0x4b3d00
lea eax, [ebp - 0x1bc]
mov edx, dword [0x4d8864]
call fcn.00403498
mov eax, dword [ebp - 0x1bc]
mov dl, 1
call fcn.004b1cb0
call fcn.0040448c
mov ecx, eax
mov edx, 0x4b4210
mov eax, dword [ebp - 0x10]
call fcn.0043b30c
mov ecx, 0x4b4228
mov edx, 0x4b4248
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, 0x4b4228
mov edx, 0x4b4260
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, 0x4b4120
mov edx, 0x4b4278
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, 0x4b3c98
lea eax, [ebp - 0x1c0]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x1c0]
mov edx, 0x4b428c
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, 0x4b42a4
mov edx, 0x4b42bc
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov ecx, ebx
mov edx, 0x4b42d0
mov eax, dword [ebp - 0x10]
call fcn.0043b30c
mov ecx, esi
mov edx, 0x4b42e8
mov eax, dword [ebp - 0x10]
call fcn.0043b30c
mov ecx, ebx
mov edx, 0x4b4300
mov eax, dword [ebp - 0x10]
call fcn.0043b30c
mov ecx, esi
mov edx, 0x4b4318
mov eax, dword [ebp - 0x10]
call fcn.0043b30c
mov ecx, dword [0x4d8864]
mov edx, 0x4b4330
mov eax, dword [ebp - 0x10]
call fcn.0043b268
mov edx, 0x2c
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov eax, dword [ebp - 0x10]
call fcn.0043aca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b33a1
xor eax, eax
push ebp
push 0x4b33f3
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004b179c
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov edx, 0x37
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b34c0
mov edx, 0x3d
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov edx, 0x42
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
push 0x4b4120
xor ecx, ecx
mov dl, 3
mov eax, 0x4b4378
call fcn.004afe50
push 0x4b4120
xor ecx, ecx
mov dl, 3
mov eax, 0x4b4394
call fcn.004afe50
cmp byte [0x4d8869], 0
je 0x4b356e
cmp byte [0x4d886a], 0
je 0x4b356e
push 0x4b4120
xor ecx, ecx
xor edx, edx
mov eax, 0x4b4394
call fcn.004afe50
push 0
push 0
push 0x4b4120
mov ecx, 0x4b3d00
lea eax, [ebp - 0x1fc]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x1fc]
xor edx, edx
mov eax, 0x4b4378
call fcn.004b7138
cmp byte [0x4d8869], 0
je 0x4b35d6
push 0
push 0
push 0x4b4120
mov ecx, 0x4b3d00
lea eax, [ebp - 0x200]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x200]
mov dl, 5
mov eax, 0x4b4378
call fcn.004b7138
mov edx, 0x53
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
push 0x4b4120
xor ecx, ecx
mov dl, 5
mov eax, 0x4b4394
call fcn.004afe50
jmp 0x4b3607
push 0
push 0
push 0x4b4120
mov ecx, 0x4b3d00
lea eax, [ebp - 0x204]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x204]
mov dl, 5
mov eax, 0x4b4394
call fcn.004b7138
mov edx, 0x53
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
push 0
push 0x4b4120
push 0x4b4120
mov ecx, 0x4b3d00
lea eax, [ebp - 0x208]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x208]
mov dl, 5
mov eax, 0x4b4394
call fcn.004b7138
mov edx, 0x53
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
push 0
push 0x4b4120
lea edx, [ebp - 0x210]
mov eax, 0x4b43ac
call fcn.004aad90
mov edx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
call fcn.0040340c
mov eax, dword [ebp - 0x20c]
push eax
mov ecx, 0x4b3c98
lea eax, [ebp - 0x214]
mov edx, dword [0x4d8864]
call fcn.00403498
mov ecx, dword [ebp - 0x214]
mov dl, 5
mov eax, 0x4b4394
call fcn.004b7138
mov edx, 0x58
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
lea eax, [ebp - 0xc]
push eax
push 0xb
mov eax, dword [0x4d6700]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.shell32.dll_SHGetSpecialFolderLocation
test eax, eax
jne 0x4b3709
push 0
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0x1000
call sub.shell32.dll_SHChangeNotify
xor eax, eax
push ebp
push 0x4b376b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x218]
mov eax, 0x4b43dc
call fcn.0049536c
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x40]
call fcn.004153b4
push 0x4b43f0
lea eax, [ebp - 0x40]
push eax
push 0
call fcn.00410e58
add esp, 0xc
lea eax, [ebp - 0x228]
call fcn.0041682c
lea edx, [ebp - 0x228]
lea eax, [ebp - 0x40]
call fcn.0041549c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b3775
lea eax, [ebp - 0x24]
push eax
push 0x1388
push 2
push 0x4b4400
push 0
push 0x1a
push 0xffff
call sub.user32.dll_SendMessageTimeoutA
mov edx, 0x5e
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004446f8
mov eax, dword [0x4d6700]
mov eax, dword [eax]
call fcn.0047d568
mov eax, dword [ebp - 0x10]
call fcn.004021f0
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b3a5d
lea eax, [ebp - 0x228]
call fcn.00410e50
lea eax, [ebp - 0x218]
call fcn.00404ff0
lea eax, [ebp - 0x214]
call fcn.00403114
lea eax, [ebp - 0x210]
call fcn.004038f0
lea eax, [ebp - 0x20c]
mov edx, 5
call fcn.0040317c
lea eax, [ebp - 0x1f8]
mov edx, 3
call fcn.00403908
lea eax, [ebp - 0x1ec]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x1e4]
mov edx, 5
call fcn.00403908
lea eax, [ebp - 0x1d0]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0x1c0]
mov edx, 5
call fcn.0040317c
lea eax, [ebp - 0x1ac]
mov edx, 3
call fcn.00403908
lea eax, [ebp - 0x1a0]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x198]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0x190]
call fcn.00403114
lea eax, [ebp - 0x18c]
mov edx, 3
call fcn.00403908
lea eax, [ebp - 0x180]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x178]
mov edx, 5
call fcn.00403908
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x15c]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0x154]
mov edx, 3
call fcn.0040317c
lea eax, [ebp - 0x148]
mov edx, 3
call fcn.00403908
lea eax, [ebp - 0x13c]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x134]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0x12c]
mov edx, 5
call fcn.0040317c
lea eax, [ebp - 0x118]
mov edx, 3
call fcn.00403908
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040317c
lea eax, [ebp - 0x104]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0xfc]
mov edx, 3
call fcn.0040317c
lea eax, [ebp - 0xf0]
call fcn.004038f0
lea eax, [ebp - 0xec]
call fcn.00403114
lea eax, [ebp - 0xe8]
call fcn.004038f0
lea eax, [ebp - 0xe4]
mov edx, 3
call fcn.0040317c
lea eax, [ebp - 0xd8]
mov edx, 6
call fcn.00403908
lea eax, [ebp - 0xc0]
mov edx, 4
call fcn.0040317c
lea eax, [ebp - 0xb0]
call fcn.004038f0
lea eax, [ebp - 0xac]
mov edx, 7
call fcn.0040317c
lea eax, [ebp - 0x8c]
call fcn.00403114
lea eax, [ebp - 0x90]
call fcn.00403114
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.00403908
lea eax, [ebp - 0x80]
call fcn.00403114
lea eax, [ebp - 0x7c]
mov edx, dword [0x4ae460]
call fcn.0040403c
lea eax, [ebp - 0x40]
call fcn.00410e50
lea eax, [ebp - 0x20]
mov edx, 4
call fcn.0040317c
ret