Function at 0x408404
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, 0x480f48
push ebx
push esi
push edi
call fcn.00472bac
mov word [ebp - 0x1a0], 0x14
xor edx, edx
mov eax, dword [0x486940]
mov dword [ebp - 0xc], edx
lea edx, [ebp - 0xc]
inc dword [ebp - 0x194]
mov eax, dword [eax]
call fcn.0045c088
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.00420910
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.004247d4
dec dword [ebp - 0x194]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 8
mov word [ebp - 0x1a0], 0x20
mov edx, str.C:DlxpPnpPnpReg.Dat
lea eax, [ebp - 0x14]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov eax, dword [eax]
call fcn.00420644
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.0047b94c
pop ecx
test cl, cl
je 0x40850c
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 4]
dec dword [ebp - 0x194]
call fcn.0047b94c
pop eax
mov edx, dword [ebp - 0x1b0]
mov dword fs:[0], edx
jmp 0x40a1b5
push 1
push 0x47e050
call fcn.00401a48
add esp, 8
push 1
push 0x47e063
call fcn.00401a48
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.0047b87c
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.004247d4
dec dword [ebp - 0x194]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 8
mov dl, 1
mov eax, dword [0x41d020]
call fcn.0041d120
mov dword [ebp - 0x1b4], eax
mov edx, Ordinal_5
mov eax, dword [ebp - 0x1b4]
call fcn.0047b840
mov word [ebp - 0x1a0], 0x38
mov edx, 0x47e075
lea eax, [ebp - 0x1c]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d34c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0047b94c
mov edx, 0x47e085
lea eax, [ebp - 0x24]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, 0x47e07d
mov ecx, dword [eax]
lea eax, [ebp - 0x20]
push ecx
mov word [ebp - 0x1a0], 0x44
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
pop ecx
call fcn.0041d960
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x40a160
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov word [ebp - 0x1a0], 8
jmp 0x408ed5
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x31c]
mov edx, dword [ebp - 0x1b8]
call fcn.0040de28
test al, al
je 0x408ad2
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, 0x47e09b
lea eax, [ebp - 0x40]
call fcn.0047b87c
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.0047b990
dec dword [ebp - 0x194]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.0047b94c
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 0x408a52
mov word [ebp - 0x1a0], 0x8c
mov edx, 0x47e09e
lea eax, [ebp - 0x48]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x34]
call fcn.0047ba6c
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.0047b94c
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.0047bb18
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x38]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.0047b94c
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 0x4087e4
mov edx, dword [ebp - 0x34]
mov ecx, dword [edx - 4]
jmp 0x4087e6
xor ecx, ecx
lea edx, [ebx + 1]
lea eax, [ebp - 0x34]
call fcn.0047bb18
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x34]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0xb0
mov edx, 0x47e0a0
lea eax, [ebp - 0x54]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x54]
lea eax, [ebp - 0x38]
call fcn.0047ba34
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x408a9e
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, 0x47e0a1
call fcn.0047bbfc
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041da6c
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x4088e7
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, 0x47e0b1
call fcn.0047bbfc
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041d34c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.0047b94c
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, 0x47e0ca
call fcn.0047bbfc
cmp dword [ebp - 0x60], 0
je 0x408918
mov eax, dword [ebp - 0x60]
jmp 0x40891d
mov eax, 0x47e0db
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, 0x47e0c1
call fcn.0047bbfc
cmp dword [ebp - 0x68], 0
je 0x408966
mov edx, dword [ebp - 0x68]
jmp 0x40896b
mov edx, 0x47e0da
push edx
push Ordinal_5
push Ordinal_5
call fcn.0040bbfc
add esp, 0x14
dec dword [ebp - 0x194]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.0047b94c
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, 0x47e0dc
call fcn.0047bbfc
lea edx, [ebp - 0x6c]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0xec
mov edx, 0x47e0ec
lea eax, [ebp - 0x70]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x1b4]
call fcn.0041d754
dec dword [ebp - 0x194]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
mov word [ebp - 0x1a0], 0x50
mov word [ebp - 0x1a0], 0x74
mov edx, 0x47e09d
lea eax, [ebp - 0x44]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x44]
lea eax, [ebp - 0x34]
call fcn.0047ba34
test al, al
lea eax, [ebp - 0x44]
setne dl
and edx, 1
push edx
mov edx, 2
dec dword [ebp - 0x194]
call fcn.0047b94c
pop ecx
test ecx, ecx
jne 0x408733
dec dword [ebp - 0x194]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 8
jmp 0x408ecf
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, 0x47e0f5
lea eax, [ebp - 0x80]
call fcn.0047b87c
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.0047b990
dec dword [ebp - 0x194]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.0047b94c
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 0x408e4b
mov word [ebp - 0x1a0], 0x134
mov edx, 0x47e0f8
lea eax, [ebp - 0x88]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x88]
lea eax, [ebp - 0x74]
call fcn.0047ba6c
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.0047b94c
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.0047bb18
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x78]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.0047b94c
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 0x408c48
mov edx, dword [ebp - 0x74]
mov ecx, dword [edx - 4]
jmp 0x408c4a
xor ecx, ecx
lea edx, [ebx + 1]
lea eax, [ebp - 0x74]
call fcn.0047bb18
lea edx, [ebp - 0x90]
lea eax, [ebp - 0x74]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x158
mov edx, 0x47e0fa
lea eax, [ebp - 0x94]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x78]
call fcn.0047ba34
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x408ea0
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, 0x47e0fb
call fcn.0047bbfc
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041da6c
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x408e42
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, 0x47e10b
call fcn.0047bbfc
lea edx, [ebp - 0x9c]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x17c
mov word [ebp - 0x1a0], 0x188
mov edx, 0x47e11b
lea eax, [ebp - 0xa0]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d760
mov ebx, eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x128
jmp 0x408de0
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
test bl, bl
je 0x408e42
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, 0x47e124
call fcn.0047bbfc
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x1b4]
mov edx, dword [edx]
call fcn.0041d34c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0xf8
mov word [ebp - 0x1a0], 0x11c
mov edx, 0x47e0f7
lea eax, [ebp - 0x84]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x84]
lea eax, [ebp - 0x74]
call fcn.0047ba34
test al, al
lea eax, [ebp - 0x84]
setne cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebp - 0x194]
call fcn.0047b94c
pop ecx
test ecx, ecx
jne 0x408b7c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.0047b94c
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 0x40866d
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.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0xa8]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x1dc
mov edx, str.Adapter
lea eax, [ebp - 0xac]
call fcn.0047b87c
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.0041d698
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0x30]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
mov word [ebp - 0x1a0], 0x1e8
mov edx, str.SystemDlxpPnp
lea eax, [ebp - 0xb4]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.0047b94c
mov dl, 1
mov eax, dword [0x410fd4]
call fcn.004062c8
mov word [ebp - 0x1a0], 0x1ac
mov esi, eax
mov eax, dword [ebp - 0x1b4]
mov edx, esi
call fcn.0041d52c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
xor ebx, ebx
jmp 0x40a0cd
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, 0x47e176
call fcn.0047bbfc
lea edx, [ebp - 0xc4]
push edx
mov edx, 0x47e186
lea eax, [ebp - 0xc8]
call fcn.0047b87c
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.0047b990
lea edx, [ebp - 0xcc]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0xcc]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc8]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc4]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xc0]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x20c
mov edx, 0x47e18e
lea eax, [ebp - 0xd0]
call fcn.0047b87c
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.0041d698
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd0]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], pe_nt_image_headers32
cmp dword [ebp - 0xb8], 0
je 0x4091f8
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ecx - 4]
jmp 0x4091fa
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.0047bb18
lea ecx, [ebp - 0xd4]
push ecx
mov edx, str.1000
lea eax, [ebp - 0xd8]
call fcn.0047b87c
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.0047b990
lea edx, [ebp - 0xdc]
lea eax, [ebp - 0xb8]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xdc]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd8]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x224
mov edx, str.Driver
lea eax, [ebp - 0xe0]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d66c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe0]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x230
mov edx, str.NetCfgInstanceId
lea eax, [ebp - 0xe4]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d66c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe4]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
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, 0x47e1b2
call fcn.0047bbfc
lea edx, [ebp - 0xec]
push edx
mov edx, str.PciInfo
lea eax, [ebp - 0xf0]
call fcn.0047b87c
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.0047b990
lea edx, [ebp - 0xf4]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf4]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf0]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xec]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xe8]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x248
mov edx, 0x47e1cb
lea eax, [ebp - 0xf8]
call fcn.0047b87c
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.0041d698
dec dword [ebp - 0x194]
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], pe_nt_image_headers32
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
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, 0x47e1d3
call fcn.0047bbfc
lea edx, [ebp - 0x100]
push edx
mov edx, 0x47e1e3
lea eax, [ebp - 0x104]
call fcn.0047b87c
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.0047b990
lea edx, [ebp - 0x108]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0x108]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x104]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xfc]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x260
mov edx, str.Start
lea eax, [ebp - 0x10c]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d710
dec dword [ebp - 0x194]
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
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.0047bbfc
cmp dword [ebp - 0x110], 0
je 0x409634
mov ecx, dword [ebp - 0x110]
jmp 0x409639
mov ecx, 0x47e22f
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, 0x47e1f2
call fcn.0047bbfc
lea edx, [ebp - 0x118]
push edx
mov edx, 0x47e202
lea eax, [ebp - 0x11c]
call fcn.0047b87c
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.0047b990
cmp dword [ebp - 0x120], 0
je 0x4096c9
mov edx, dword [ebp - 0x120]
jmp 0x4096ce
mov edx, 0x47e22e
push edx
push Ordinal_5
push Ordinal_5
call fcn.0040bbfc
add esp, 0x14
dec dword [ebp - 0x194]
lea eax, [ebp - 0x120]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x11c]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x118]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x114]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0047b94c
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, 0x47e230
call fcn.0047bbfc
lea edx, [ebp - 0x128]
push edx
mov edx, str.DriverLinkage
lea eax, [ebp - 0x12c]
call fcn.0047b87c
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.0047b990
cmp dword [ebp - 0x130], 0
je 0x4097f7
mov edx, dword [ebp - 0x130]
jmp 0x4097fc
mov edx, 0x47e250
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.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x12c]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x128]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x124]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x409a2f
cmp dword [ebp - 0x30], 0
je 0x40987c
mov eax, dword [ebp - 0x30]
jmp 0x409881
mov eax, 0x47e251
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 0x4098b6
mov eax, dword [ebp - 0x30]
mov edx, dword [eax - 4]
jmp 0x4098b8
xor edx, edx
mov byte [ebp + edx - 0x2d3], 0
cmp dword [ebp - 0x30], 0
je 0x4098ce
mov eax, dword [ebp - 0x30]
mov edi, dword [eax - 4]
jmp 0x4098d0
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 0x40990d
mov edx, dword [ebp - 0x30]
jmp 0x409912
mov edx, 0x47e266
push edx
lea eax, [ebp - 0x2d4]
push eax
call fcn.00472934
add esp, 8
lea ecx, [ebp - 0x2d4]
push ecx
call fcn.00472970
pop ecx
mov byte [ebp + eax - 0x2d3], 0
lea eax, [ebp - 0x2d4]
push eax
call fcn.00472970
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 0x47e26e
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 0x409a23
test cl, cl
je 0x4099c8
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x409a23
add eax, 2
add edx, 2
test cl, cl
jne 0x4099ac
jne 0x409a23
push 0x10
push str.Tcpip
lea eax, [ebp - 0x2d4]
push eax
call fcn.00472820
add esp, 0xc
mov dword [ebp - 0x1d4], 0x10
lea edx, [ebp - 0x2d4]
push edx
call fcn.00472970
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, 0x47e29a
call fcn.0047bbfc
lea edx, [ebp - 0x138]
push edx
mov edx, str.Service
lea eax, [ebp - 0x13c]
call fcn.0047b87c
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.0047b990
lea edx, [ebp - 0x140]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
dec dword [ebp - 0x194]
lea eax, [ebp - 0x140]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x13c]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x138]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x134]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x290
mov edx, 0x47e2b3
lea eax, [ebp - 0x144]
call fcn.0047b87c
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.0041d698
lea edx, [ebp - 0x148]
lea eax, [ebp - 0x2c]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x148]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
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.00472970
pop ecx
mov ecx, eax
lea eax, [ebp - 0x2c]
mov edx, 1
call fcn.0047bb18
lea eax, [ebp - 0x14c]
xor edx, edx
mov dword [ebp - 0x150], edx
lea edx, [ebp - 0x150]
inc dword [ebp - 0x194]
call fcn.0047ba90
lea eax, [ebp - 0x150]
push eax
mov edx, str.SYSTEM32DRIVERS
lea eax, [ebp - 0x154]
call fcn.0047b87c
inc dword [ebp - 0x194]
lea edx, [ebp - 0x154]
pop eax
call fcn.0047ba34
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x154]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x14c]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x40a097
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.00420944
lea edx, [ebp - 0x158]
lea eax, [ebp - 0x28]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x158]
mov edx, 2
call fcn.0047b94c
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.0047b990
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x2c]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x15c]
mov edx, 2
call fcn.0047b94c
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.00420910
lea eax, [ebp - 0x160]
mov eax, dword [eax]
call fcn.00420654
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.0047b94c
pop ecx
test cl, cl
je 0x409daa
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.00420910
lea eax, [ebp - 0x164]
mov eax, dword [eax]
call fcn.00420678
dec dword [ebp - 0x194]
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.0047b94c
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, 0x47e2df
call fcn.0047bbfc
lea edx, [ebp - 0x168]
lea eax, [ebp - 0x28]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.0047b94c
push 0
cmp dword [ebp - 0x2c], 0
je 0x409e05
mov ecx, dword [ebp - 0x2c]
jmp 0x409e0a
mov ecx, 0x47e2ec
push ecx
cmp dword [ebp - 0x28], 0
je 0x409e16
mov eax, dword [ebp - 0x28]
jmp 0x409e1b
mov eax, 0x47e2eb
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.00420910
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.004247d4
lea edx, [ebp - 0x170]
lea eax, [ebp - 0x2c]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x170]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x16c]
mov edx, 2
call fcn.0047b94c
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, 0x47e2ed
call fcn.0047bbfc
lea edx, [ebp - 0x178]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 0x1b4]
call fcn.0041d228
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 0x178]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x174]
mov edx, 2
call fcn.0047b94c
pop ecx
test cl, cl
je 0x409f8a
push 0x100
mov edx, str.AddOnFiles
mov word [ebp - 0x1a0], 0x2fc
lea eax, [ebp - 0x17c]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
lea ecx, [ebp - 0x2d4]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d778
dec dword [ebp - 0x194]
lea eax, [ebp - 0x17c]
mov edx, 2
call fcn.0047b94c
mov eax, dword [ebp - 0x1b4]
call fcn.0041d190
mov word [ebp - 0x1a0], pe_nt_image_headers32
lea edi, [ebp - 0x2d4]
jmp 0x40a08e
mov word [ebp - 0x1a0], 0x308
lea eax, [ebp - 0x180]
mov edx, edi
call fcn.0047b87c
mov edx, eax
inc dword [ebp - 0x194]
lea eax, [ebp - 0x28]
call fcn.0047b97c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x180]
mov edx, 2
call fcn.0047b94c
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.0047b990
cmp dword [ebp - 0x184], 0
je 0x40a015
mov eax, dword [ebp - 0x184]
jmp 0x40a01a
mov eax, 0x47e315
push eax
xor edx, edx
mov dword [ebp - 0x188], edx
lea ecx, [ebp - 0x188]
inc dword [ebp - 0x194]
lea edx, [ebp - 0x28]
mov eax, 0x47e308
call fcn.0047bbfc
cmp dword [ebp - 0x188], 0
je 0x40a04d
mov ecx, dword [ebp - 0x188]
jmp 0x40a052
mov ecx, 0x47e314
push ecx
call sub.KERNEL32.DLL_CopyFileA
dec dword [ebp - 0x194]
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x184]
mov edx, 2
call fcn.0047b94c
push edi
call fcn.00472970
pop ecx
add edi, eax
inc edi
cmp byte [edi], 0
jne 0x409f9e
dec dword [ebp - 0x194]
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 0x1ac
inc ebx
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x409091
mov word [ebp - 0x1a0], 0x320
mov edx, 0x47e316
lea eax, [ebp - 0x18c]
call fcn.0047b87c
inc dword [ebp - 0x194]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1b4]
call fcn.0041d9ec
dec dword [ebp - 0x194]
lea eax, [ebp - 0x18c]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0047b94c
mov word [ebp - 0x1a0], 8
push 0
push 0x47e31e
call fcn.00401a48
add esp, 8
push 0
push 0x47e331
call fcn.00401a48
add esp, 8
mov al, 1
push eax
dec dword [ebp - 0x194]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0047b94c
dec dword [ebp - 0x194]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0047b94c
pop eax
mov edx, dword [ebp - 0x1b0]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret