Function at 0x408520
Capabilities:
Copy file
Get common file path
Persist via windows service
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd2c
mov eax, 0x481fbc
push ebx
push esi
push edi
call fcn.004734f8
mov word [ebp - 0x1a0], 0x14
xor edx, edx
mov eax, dword [0x487d78]
mov dword [ebp - 0xc], edx
lea edx, [ebp - 0xc]
inc dword [ebp - 0x194]
mov eax, dword [eax]
call fcn.0045c9d4
lea eax, [ebp - 0xc]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x10]
inc dword [ebp - 0x194]
call fcn.00421244
lea eax, [ebp - 0x10]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 4], edx
lea edx, [ebp - 4]
inc dword [ebp - 0x194]
call fcn.00425108
dec dword [ebp - 0x194]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 8
mov word [ebp - 0x1a0], 0x20
mov edx, str.C:SpsbPnpPnpReg.Dat
lea eax, [ebp - 0x14]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov eax, dword [eax]
call fcn.00420f78
xor edx, edx
mov dl, al
lea eax, [ebp - 0x14]
cmp edx, 1
mov edx, 2
sbb ecx, ecx
neg ecx
push ecx
dec dword [ebp - 0x194]
call fcn.0047c298
pop ecx
test cl, cl
je 0x408628
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 4]
dec dword [ebp - 0x194]
call fcn.0047c298
pop eax
mov edx, dword [ebp - 0x1b0]
mov dword fs:[0], edx
jmp 0x40a2d1
push 1
push 0x47f0a3
call fcn.00401b24
add esp, 8
push 1
push 0x47f0b6
call fcn.00401b24
add esp, 8
push 0x100
lea ecx, [ebp - 0x2d4]
push ecx
call sub.KERNEL32.DLL_GetWindowsDirectoryA
mov word [ebp - 0x1a0], 0x2c
lea edx, [ebp - 0x2d4]
lea eax, [ebp - 0x18]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 8], edx
lea edx, [ebp - 8]
inc dword [ebp - 0x194]
call fcn.00425108
dec dword [ebp - 0x194]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 8
mov dl, 1
mov eax, dword [0x41d964]
call fcn.0041da64
mov dword [ebp - 0x1b4], eax
mov edx, Ordinal_5
mov eax, dword [ebp - 0x1b4]
call fcn.0047c18c
mov word [ebp - 0x1a0], 0x38
mov edx, 0x47f0c8
lea eax, [ebp - 0x1c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dc90
dec dword [ebp - 0x194]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0047c298
mov edx, 0x47f0d8
lea eax, [ebp - 0x24]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, 0x47f0d0
mov ecx, dword [eax]
lea eax, [ebp - 0x20]
push ecx
mov word [ebp - 0x1a0], 0x44
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
pop ecx
call fcn.0041e294
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x40a27c
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov word [ebp - 0x1a0], 8
jmp 0x408ff1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x31c]
mov edx, dword [ebp - 0x1b8]
call fcn.0040e76c
test al, al
je 0x408bee
mov word [ebp - 0x1a0], 0x5c
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x3c]
inc dword [ebp - 0x194]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x328]
mov edx, dword [ebp - 0x1b8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x3c]
push eax
mov edx, 0x47f0ee
lea eax, [ebp - 0x40]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x34]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x40]
pop eax
call fcn.0047c2dc
dec dword [ebp - 0x194]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x50
mov word [ebp - 0x1a0], 0x68
xor ecx, ecx
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x194]
mov word [ebp - 0x1a0], 0x50
jmp 0x408b6e
mov word [ebp - 0x1a0], 0x8c
mov edx, 0x47f0f1
lea eax, [ebp - 0x48]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x34]
call fcn.0047c3b8
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x80
mov word [ebp - 0x1a0], 0x98
xor ecx, ecx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
push eax
inc dword [ebp - 0x194]
lea eax, [ebp - 0x34]
lea ecx, [ebx - 1]
mov edx, 1
call fcn.0047c464
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x38]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xa4
xor ecx, ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], ecx
push eax
inc dword [ebp - 0x194]
cmp dword [ebp - 0x34], 0
je 0x408900
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx - 4]
jmp 0x408902
xor ecx, ecx
lea edx, [ebx + 1]
lea eax, [ebp - 0x34]
call fcn.0047c464
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x34]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xb0
mov edx, 0x47f0f3
lea eax, [ebp - 0x54]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x54]
lea eax, [ebp - 0x38]
call fcn.0047c380
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x408bba
mov word [ebp - 0x1a0], 0xbc
xor eax, eax
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x58]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x38]
mov eax, 0x47f0f4
call fcn.0047c548
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041e3a0
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x408a03
mov word [ebp - 0x1a0], 0xc8
xor eax, eax
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x5c]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x38]
mov eax, 0x47f104
call fcn.0047c548
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041dc90
dec dword [ebp - 0x194]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.0047c298
push 1
xor ecx, ecx
mov word [ebp - 0x1a0], 0xd4
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x60]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x38]
mov eax, 0x47f11d
call fcn.0047c548
cmp dword [ebp - 0x60], 0
je 0x408a34
mov eax, dword [ebp - 0x60]
jmp 0x408a39
mov eax, 0x47f12e
push eax
xor edx, edx
mov dword [ebp - 0x64], edx
lea ecx, [ebp - 0x64]
inc dword [ebp - 0x194]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x328]
mov edx, dword [ebp - 0x1b8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea edx, [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x68]
inc dword [ebp - 0x194]
mov eax, 0x47f114
call fcn.0047c548
cmp dword [ebp - 0x68], 0
je 0x408a82
mov edx, dword [ebp - 0x68]
jmp 0x408a87
mov edx, 0x47f12d
push edx
push Ordinal_5
push Ordinal_5
call fcn.0040c274
add esp, 0x14
dec dword [ebp - 0x194]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xe0
xor eax, eax
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x6c]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x38]
mov eax, 0x47f12f
call fcn.0047c548
lea edx, [ebp - 0x6c]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xec
mov edx, 0x47f13f
lea eax, [ebp - 0x70]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x1b4]
call fcn.0041e098
dec dword [ebp - 0x194]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], 0x50
mov word [ebp - 0x1a0], 0x74
mov edx, 0x47f0f0
lea eax, [ebp - 0x44]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x34]
call fcn.0047c380
test al, al
lea eax, [ebp - 0x44]
setne dl
and edx, 1
push edx
mov edx, 2
dec dword [ebp - 0x194]
call fcn.0047c298
pop ecx
test ecx, ecx
jne 0x40884f
dec dword [ebp - 0x194]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 8
jmp 0x408feb
mov word [ebp - 0x1a0], 0x104
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x7c]
inc dword [ebp - 0x194]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x328]
mov edx, dword [ebp - 0x1b8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x7c]
push eax
mov edx, 0x47f148
lea eax, [ebp - 0x80]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor ecx, ecx
mov dword [ebp - 0x74], ecx
lea ecx, [ebp - 0x74]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x80]
pop eax
call fcn.0047c2dc
dec dword [ebp - 0x194]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xf8
mov word [ebp - 0x1a0], 0x110
xor ecx, ecx
mov dword [ebp - 0x78], ecx
inc dword [ebp - 0x194]
mov word [ebp - 0x1a0], 0xf8
jmp 0x408f67
mov word [ebp - 0x1a0], 0x134
mov edx, 0x47f14b
lea eax, [ebp - 0x88]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x88]
lea eax, [ebp - 0x74]
call fcn.0047c3b8
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x128
mov word [ebp - 0x1a0], 0x140
xor ecx, ecx
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], ecx
push eax
inc dword [ebp - 0x194]
lea eax, [ebp - 0x74]
lea ecx, [ebx - 1]
mov edx, 1
call fcn.0047c464
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x78]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x14c
xor ecx, ecx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], ecx
push eax
inc dword [ebp - 0x194]
cmp dword [ebp - 0x74], 0
je 0x408d64
mov edx, dword [ebp - 0x74]
mov ecx, dword [edx - 4]
jmp 0x408d66
xor ecx, ecx
lea edx, [ebx + 1]
lea eax, [ebp - 0x74]
call fcn.0047c464
lea edx, [ebp - 0x90]
lea eax, [ebp - 0x74]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x158
mov edx, 0x47f14d
lea eax, [ebp - 0x94]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x78]
call fcn.0047c380
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x408fbc
mov word [ebp - 0x1a0], 0x164
xor eax, eax
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x98]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x78]
mov eax, 0x47f14e
call fcn.0047c548
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041e3a0
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x408f5e
mov word [ebp - 0x1a0], 0x170
xor eax, eax
mov dword [ebp - 0x9c], eax
lea ecx, [ebp - 0x9c]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x78]
mov eax, 0x47f15e
call fcn.0047c548
lea edx, [ebp - 0x9c]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x17c
mov word [ebp - 0x1a0], 0x188
mov edx, 0x47f16e
lea eax, [ebp - 0xa0]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041e0a4
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x128
jmp 0x408efc
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
test bl, bl
je 0x408f5e
mov word [ebp - 0x1a0], 0x194
xor edx, edx
mov dword [ebp - 0xa4], edx
lea ecx, [ebp - 0xa4]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x78]
mov eax, 0x47f177
call fcn.0047c548
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041dc90
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0xf8
mov word [ebp - 0x1a0], 0x11c
mov edx, 0x47f14a
lea eax, [ebp - 0x84]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x84]
lea eax, [ebp - 0x74]
call fcn.0047c380
test al, al
lea eax, [ebp - 0x84]
setne cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebp - 0x194]
call fcn.0047c298
pop ecx
test ecx, ecx
jne 0x408c98
dec dword [ebp - 0x194]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 8
inc dword [ebp - 0x1b8]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0x31c]
add ebx, 0x218
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x1b8]
jg 0x408789
mov word [ebp - 0x1a0], 0x1a0
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x28], ecx
xor edx, edx
inc dword [ebp - 0x194]
mov word [ebp - 0x1a0], 0x1ac
mov word [ebp - 0x1a0], 0x1b8
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0xa8]
inc dword [ebp - 0x194]
mov word [ebp - 0x1a0], 0x1ac
mov word [ebp - 0x1a0], 0x1c4
mov dword [ebp - 0x30], edx
mov edx, str.SYSTEMCurrentControlSetServicesRichndis
inc dword [ebp - 0x194]
mov word [ebp - 0x1a0], 0x1ac
mov word [ebp - 0x1a0], 0x1d0
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa8]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x1dc
mov edx, str.Adapter
lea eax, [ebp - 0xac]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xb0]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfdc
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0x30]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], 0x1e8
mov edx, str.SystemSpsbPnp
lea eax, [ebp - 0xb4]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.0047c298
mov dl, 1
mov eax, dword [0x411918]
call fcn.004063e4
mov word [ebp - 0x1a0], 0x1ac
mov esi, eax
mov eax, dword [ebp - 0x1b4]
mov edx, esi
call fcn.0041de70
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
xor ebx, ebx
jmp 0x40a1e9
mov word [ebp - 0x1a0], 0x1f4
xor eax, eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov eax, esi
inc dword [ebp - 0x194]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0xc0]
xor eax, eax
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0xc4]
inc dword [ebp - 0x194]
mov eax, 0x47f1c9
call fcn.0047c548
lea edx, [ebp - 0xc4]
push edx
mov edx, 0x47f1d9
lea eax, [ebp - 0xc8]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0xcc], eax
lea edx, [ebp - 0xc8]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0xcc]
pop eax
call fcn.0047c2dc
lea edx, [ebp - 0xcc]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xcc]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc8]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc4]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc0]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x20c
mov edx, 0x47f1e1
lea eax, [ebp - 0xd0]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xb8]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfdc
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], pe_nt_image_headers32
cmp dword [ebp - 0xb8], 0
je 0x409314
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ecx - 4]
jmp 0x409316
xor edi, edi
mov word [ebp - 0x1a0], 0x218
xor eax, eax
lea edx, [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
push edx
inc dword [ebp - 0x194]
mov edx, 1
lea eax, [ebp - 0xb8]
lea ecx, [edi - 4]
call fcn.0047c464
lea ecx, [ebp - 0xd4]
push ecx
mov edx, str.1000
lea eax, [ebp - 0xd8]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0xdc], eax
lea edx, [ebp - 0xd8]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0xdc]
pop eax
call fcn.0047c2dc
lea edx, [ebp - 0xdc]
lea eax, [ebp - 0xb8]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0xdc]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd8]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x224
mov edx, str.Driver
lea eax, [ebp - 0xe0]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfb0
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe0]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x230
mov edx, str.NetCfgInstanceId
lea eax, [ebp - 0xe4]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfb0
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe4]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], 0x23c
xor edx, edx
mov eax, esi
mov dword [ebp - 0xe8], edx
mov edx, ebx
inc dword [ebp - 0x194]
lea ecx, [ebp - 0xe8]
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xec], eax
lea ecx, [ebp - 0xec]
inc dword [ebp - 0x194]
mov eax, 0x47f205
call fcn.0047c548
lea edx, [ebp - 0xec]
push edx
mov edx, str.PciInfo
lea eax, [ebp - 0xf0]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0xf4], eax
lea edx, [ebp - 0xf0]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0xf4]
pop eax
call fcn.0047c2dc
lea edx, [ebp - 0xf4]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf4]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf0]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xec]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe8]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x248
mov edx, 0x47f21e
lea eax, [ebp - 0xf8]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xbc]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfdc
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], pe_nt_image_headers32
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], 0x254
xor edx, edx
mov eax, esi
mov dword [ebp - 0xfc], edx
mov edx, ebx
inc dword [ebp - 0x194]
lea ecx, [ebp - 0xfc]
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0xfc]
xor eax, eax
mov dword [ebp - 0x100], eax
lea ecx, [ebp - 0x100]
inc dword [ebp - 0x194]
mov eax, 0x47f226
call fcn.0047c548
lea edx, [ebp - 0x100]
push edx
mov edx, 0x47f236
lea eax, [ebp - 0x104]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x104]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x108]
pop eax
call fcn.0047c2dc
lea edx, [ebp - 0x108]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x108]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x104]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xfc]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x260
mov edx, str.Start
lea eax, [ebp - 0x10c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041e054
dec dword [ebp - 0x194]
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
push 1
xor edx, edx
mov word [ebp - 0x1a0], 0x26c
mov dword [ebp - 0x110], edx
lea edx, [ebp - 0xbc]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x110]
mov eax, str.SystemCurrentControlSetServices_
call fcn.0047c548
cmp dword [ebp - 0x110], 0
je 0x409750
mov ecx, dword [ebp - 0x110]
jmp 0x409755
mov ecx, 0x47f282
push ecx
xor eax, eax
mov dword [ebp - 0x114], eax
mov eax, esi
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x114]
mov edi, dword [eax]
mov edx, ebx
call dword [edi + 0xc]
lea edx, [ebp - 0x114]
xor eax, eax
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0x118]
inc dword [ebp - 0x194]
mov eax, 0x47f245
call fcn.0047c548
lea edx, [ebp - 0x118]
push edx
mov edx, 0x47f255
lea eax, [ebp - 0x11c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x120], eax
lea edx, [ebp - 0x11c]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x120]
pop eax
call fcn.0047c2dc
cmp dword [ebp - 0x120], 0
je 0x4097e5
mov edx, dword [ebp - 0x120]
jmp 0x4097ea
mov edx, 0x47f281
push edx
push Ordinal_5
push Ordinal_5
call fcn.0040c274
add esp, 0x14
dec dword [ebp - 0x194]
lea eax, [ebp - 0x120]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x11c]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x118]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x114]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], pe_nt_image_headers32
lea eax, [ebp - 0x1c0]
xor ecx, ecx
push eax
mov eax, esi
mov word [ebp - 0x1a0], 0x278
mov dword [ebp - 0x124], ecx
lea ecx, [ebp - 0x124]
inc dword [ebp - 0x194]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x124]
xor eax, eax
mov dword [ebp - 0x128], eax
lea ecx, [ebp - 0x128]
inc dword [ebp - 0x194]
mov eax, 0x47f283
call fcn.0047c548
lea edx, [ebp - 0x128]
push edx
mov edx, str.DriverLinkage
lea eax, [ebp - 0x12c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x130], eax
lea edx, [ebp - 0x12c]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x130]
pop eax
call fcn.0047c2dc
cmp dword [ebp - 0x130], 0
je 0x409913
mov edx, dword [ebp - 0x130]
jmp 0x409918
mov edx, 0x47f2a3
push edx
push Ordinal_5
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
mov edx, 2
sete al
and eax, 1
push eax
lea eax, [ebp - 0x130]
dec dword [ebp - 0x194]
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x12c]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x128]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x124]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x409b4b
cmp dword [ebp - 0x30], 0
je 0x409998
mov eax, dword [ebp - 0x30]
jmp 0x40999d
mov eax, 0x47f2a4
mov edi, eax
xor eax, eax
push esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x2d4]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x30], 0
pop esi
je 0x4099d2
mov eax, dword [ebp - 0x30]
mov edx, dword [eax - 4]
jmp 0x4099d4
xor edx, edx
mov byte [ebp + edx - 0x2d3], 0
cmp dword [ebp - 0x30], 0
je 0x4099ea
mov eax, dword [ebp - 0x30]
mov edi, dword [eax - 4]
jmp 0x4099ec
xor edi, edi
add edi, 2
push edi
lea eax, [ebp - 0x2d4]
push eax
push 7
push 0
push str.RootDevice
mov edx, dword [ebp - 0x1c0]
push edx
call sub.ADVAPI32.DLL_RegSetValueExA
push esi
lea edi, [ebp - 0x2d4]
mov eax, edi
mov esi, str.Device_
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x30], 0
pop esi
je 0x409a29
mov edx, dword [ebp - 0x30]
jmp 0x409a2e
mov edx, 0x47f2b9
push edx
lea eax, [ebp - 0x2d4]
push eax
call fcn.00473280
add esp, 8
lea ecx, [ebp - 0x2d4]
push ecx
call fcn.004732bc
pop ecx
mov byte [ebp + eax - 0x2d3], 0
lea eax, [ebp - 0x2d4]
push eax
call fcn.004732bc
pop ecx
mov edi, eax
add edi, 2
push edi
lea eax, [ebp - 0x2d4]
push eax
push 7
push 0
push str.Export
mov edx, dword [ebp - 0x1c0]
push edx
call sub.ADVAPI32.DLL_RegSetValueExA
mov dword [ebp - 0x1cc], 0x100
mov word [ebp - 0x1a0], pe_nt_image_headers32
lea ecx, [ebp - 0x1cc]
push ecx
lea eax, [ebp - 0x2d4]
push eax
lea edx, [ebp - 0x1d0]
push edx
push 0
push 0x47f2c1
mov ecx, dword [ebp - 0x1c0]
push ecx
call sub.ADVAPI32.DLL_RegQueryValueExA
lea eax, [ebp - 0x2d4]
mov edx, str.PSched
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x409b3f
test cl, cl
je 0x409ae4
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x409b3f
add eax, 2
add edx, 2
test cl, cl
jne 0x409ac8
jne 0x409b3f
push 0x10
push str.Tcpip
lea eax, [ebp - 0x2d4]
push eax
call fcn.0047316c
add esp, 0xc
mov dword [ebp - 0x1d4], 0x10
lea edx, [ebp - 0x2d4]
push edx
call fcn.004732bc
pop ecx
add eax, 2
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
push ecx
lea eax, [ebp - 0x2d4]
push eax
push 7
push 0
push str.UpperBind
mov edx, dword [ebp - 0x1c0]
push edx
call sub.ADVAPI32.DLL_RegSetValueExA
mov ecx, dword [ebp - 0x1c0]
push ecx
call sub.ADVAPI32.DLL_RegCloseKey
mov word [ebp - 0x1a0], 0x284
xor eax, eax
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x134], eax
mov eax, esi
inc dword [ebp - 0x194]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x134]
xor eax, eax
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x138]
inc dword [ebp - 0x194]
mov eax, 0x47f2ed
call fcn.0047c548
lea edx, [ebp - 0x138]
push edx
mov edx, str.Service
lea eax, [ebp - 0x13c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
xor eax, eax
mov dword [ebp - 0x140], eax
lea edx, [ebp - 0x13c]
inc dword [ebp - 0x194]
lea ecx, [ebp - 0x140]
pop eax
call fcn.0047c2dc
lea edx, [ebp - 0x140]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x140]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x13c]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x138]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x134]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x290
mov edx, 0x47f306
lea eax, [ebp - 0x144]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x148]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x1b4]
call fcn.0041dfdc
lea edx, [ebp - 0x148]
lea eax, [ebp - 0x2c]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x148]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], 0x29c
xor edx, edx
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], edx
push ecx
inc dword [ebp - 0x194]
push str.system32drivers
call fcn.004732bc
pop ecx
mov ecx, eax
lea eax, [ebp - 0x2c]
mov edx, 1
call fcn.0047c464
lea eax, [ebp - 0x14c]
xor edx, edx
mov dword [ebp - 0x150], edx
lea edx, [ebp - 0x150]
inc dword [ebp - 0x194]
call fcn.0047c3dc
lea eax, [ebp - 0x150]
push eax
mov edx, str.SYSTEM32DRIVERS
lea eax, [ebp - 0x154]
call fcn.0047c1c8
inc dword [ebp - 0x194]
lea edx, [ebp - 0x154]
pop eax
call fcn.0047c380
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x154]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x14c]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x40a1b3
mov word [ebp - 0x1a0], 0x2a8
xor eax, eax
mov dword [ebp - 0x158], eax
lea edx, [ebp - 0x158]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x2c]
call fcn.00421278
lea edx, [ebp - 0x158]
lea eax, [ebp - 0x28]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x158]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x2b4
xor ecx, ecx
mov dword [ebp - 0x15c], ecx
lea ecx, [ebp - 0x15c]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 8]
call fcn.0047c2dc
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x2c]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x15c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x2c0
xor ecx, ecx
mov dword [ebp - 0x160], ecx
lea edx, [ebp - 0x160]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x2c]
call fcn.00421244
lea eax, [ebp - 0x160]
mov eax, dword [eax]
call fcn.00420f88
xor edx, edx
mov dl, al
lea eax, [ebp - 0x160]
cmp edx, 1
mov edx, 2
sbb ecx, ecx
neg ecx
push ecx
dec dword [ebp - 0x194]
call fcn.0047c298
pop ecx
test cl, cl
je 0x409ec6
mov word [ebp - 0x1a0], 0x2cc
xor eax, eax
mov dword [ebp - 0x164], eax
lea edx, [ebp - 0x164]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x2c]
call fcn.00421244
lea eax, [ebp - 0x164]
mov eax, dword [eax]
call fcn.00420fac
dec dword [ebp - 0x194]
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x2d8
xor ecx, ecx
mov dword [ebp - 0x168], ecx
lea ecx, [ebp - 0x168]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x28]
mov eax, 0x47f332
call fcn.0047c548
lea edx, [ebp - 0x168]
lea eax, [ebp - 0x28]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.0047c298
push 0
cmp dword [ebp - 0x2c], 0
je 0x409f21
mov ecx, dword [ebp - 0x2c]
jmp 0x409f26
mov ecx, 0x47f33f
push ecx
cmp dword [ebp - 0x28], 0
je 0x409f32
mov eax, dword [ebp - 0x28]
jmp 0x409f37
mov eax, 0x47f33e
push eax
call sub.KERNEL32.DLL_CopyFileA
mov word [ebp - 0x1a0], 0x2e4
xor edx, edx
mov dword [ebp - 0x16c], edx
lea edx, [ebp - 0x16c]
inc dword [ebp - 0x194]
mov eax, dword [ebp - 0x2c]
call fcn.00421244
lea eax, [ebp - 0x16c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x170], edx
lea edx, [ebp - 0x170]
inc dword [ebp - 0x194]
call fcn.00425108
lea edx, [ebp - 0x170]
lea eax, [ebp - 0x2c]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x170]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x16c]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x2f0
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x174], ecx
lea ecx, [ebp - 0x174]
inc dword [ebp - 0x194]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x174]
xor eax, eax
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x178]
inc dword [ebp - 0x194]
mov eax, 0x47f340
call fcn.0047c548
lea edx, [ebp - 0x178]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041db6c
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x178]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x174]
mov edx, 2
call fcn.0047c298
pop ecx
test cl, cl
je 0x40a0a6
push 0x100
mov edx, str.AddOnFiles
mov word [ebp - 0x1a0], 0x2fc
lea eax, [ebp - 0x17c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
lea ecx, [ebp - 0x2d4]
mov eax, dword [ebp - 0x1b4]
call fcn.0041e0bc
dec dword [ebp - 0x194]
lea eax, [ebp - 0x17c]
mov edx, 2
call fcn.0047c298
mov eax, dword [ebp - 0x1b4]
call fcn.0041dad4
mov word [ebp - 0x1a0], pe_nt_image_headers32
lea edi, [ebp - 0x2d4]
jmp 0x40a1aa
mov word [ebp - 0x1a0], 0x308
lea eax, [ebp - 0x180]
mov edx, edi
call fcn.0047c1c8
mov edx, eax
inc dword [ebp - 0x194]
lea eax, [ebp - 0x28]
call fcn.0047c2c8
dec dword [ebp - 0x194]
lea eax, [ebp - 0x180]
mov edx, 2
call fcn.0047c298
push 0
xor ecx, ecx
mov word [ebp - 0x1a0], 0x314
mov dword [ebp - 0x184], ecx
lea ecx, [ebp - 0x184]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x2c]
call fcn.0047c2dc
cmp dword [ebp - 0x184], 0
je 0x40a131
mov eax, dword [ebp - 0x184]
jmp 0x40a136
mov eax, 0x47f368
push eax
xor edx, edx
mov dword [ebp - 0x188], edx
lea ecx, [ebp - 0x188]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x28]
mov eax, 0x47f35b
call fcn.0047c548
cmp dword [ebp - 0x188], 0
je 0x40a169
mov ecx, dword [ebp - 0x188]
jmp 0x40a16e
mov ecx, 0x47f367
push ecx
call sub.KERNEL32.DLL_CopyFileA
dec dword [ebp - 0x194]
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x184]
mov edx, 2
call fcn.0047c298
push edi
call fcn.004732bc
pop ecx
add edi, eax
inc edi
cmp byte [edi], 0
jne 0x40a0ba
dec dword [ebp - 0x194]
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 0x1ac
inc ebx
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x4091ad
mov word [ebp - 0x1a0], 0x320
mov edx, 0x47f369
lea eax, [ebp - 0x18c]
call fcn.0047c1c8
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041e320
dec dword [ebp - 0x194]
lea eax, [ebp - 0x18c]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0047c298
mov word [ebp - 0x1a0], 8
push 0
push 0x47f371
call fcn.00401b24
add esp, 8
push 0
push 0x47f384
call fcn.00401b24
add esp, 8
mov al, 1
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0047c298
dec dword [ebp - 0x194]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0047c298
pop eax
mov edx, dword [ebp - 0x1b0]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret