Function at 0x40f2d0
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1ca8
call fcn.00413410
mov dword [esp + 0x1c98], 0
mov dword [esp + 0x1c94], 0
mov dword [esp + 0x1c90], 0
mov dword [esp + 0x1c88], 0
mov dword [esp + 0x1c84], 0
mov dword [esp + 0x1c80], 0
mov dword [esp + 0x1c7c], 0
mov dword [esp + 0x1c78], 0
mov dword [esp + 0x1c74], 0
mov dword [esp + 0x1c70], 0
mov dword [esp + 0x1c6c], 0
mov dword [esp + 0x1c68], 0
mov dword [esp + 0x1c64], 0
mov dword [esp + 0x1c60], 0
mov dword [esp + 0x1c5c], 0
mov dword [esp + 0x1c58], 0
mov dword [esp + 0x1c54], 0
mov dword [esp + 0x1c50], 0
mov dword [esp + 0x1c14], 0
lea eax, [esp + 0x1a0a]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x1800]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x15f6]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x13ec]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x11e2]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0xfd8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea edi, [esp + 0xdce]
mov dword [esp], edi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea esi, [esp + 0xbc4]
mov dword [esp], esi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x9ba]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x7b0]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea ebx, [esp + 0x5a6]
mov dword [esp], ebx
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0x192]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413bf0
lea eax, [esp + 0xca]
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.00413bf0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov word [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0xffffffff
call fcn.0040ebc0
mov dword [esp + 0x1ca0], eax
mov dword [esp + 0x4c], 0x65b0bcf1
jmp 0x40f660
mov dword [esp + 0x4c], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x4c]
cmp eax, 0x7e3c70a7
jg 0x40f820
cmp eax, 0x74b32d7b
jg 0x40f850
cmp eax, 0x69b81b66
jg 0x40f88a
cmp eax, 0x66729f7c
jg 0x40f89a
cmp eax, 0x65b0bcf0
jg 0x40f8c5
cmp eax, 0x602f8bad
jg 0x40f8ed
cmp eax, 0x459bba41
jg 0x40f915
cmp eax, 0x417205d6
jg 0x40f950
cmp eax, 0x3cbaea6c
jg 0x40f991
cmp eax, 0x3178d495
jg 0x40f9bc
cmp eax, 0x31004d3b
jg 0x40f9cc
cmp eax, 0x28fa9c25
jg 0x40f9e4
cmp eax, 0x274fa62b
jg 0x40f9f4
cmp eax, 0x16ad680f
jg 0x40fa7b
cmp eax, 0x570174
jg 0x410598
cmp eax, 0xfe0d2057
jg 0x4105f0
cmp eax, 0xf966df99
jg 0x410749
cmp eax, 0xebbfb606
jg 0x410792
cmp eax, 0xe89806d1
jg 0x4107b7
cmp eax, 0xe7e12b27
jg 0x41084d
cmp eax, 0xe4d188f7
jg 0x410942
cmp eax, 0xe216347c
jg 0x410952
cmp eax, 0xe0ebd0f4
jg 0x41097d
cmp eax, 0xc4b32f63
jg 0x41098d
cmp eax, 0xc3455fb0
jg 0x41099d
cmp eax, 0xbc23b7ee
jg 0x410a00
cmp eax, 0xb7ddf0ba
jg 0x410b0a
cmp eax, 0xa9126309
jg 0x410bdf
cmp eax, 0xa80ef3a4
jg 0x410c02
cmp eax, 0xa48445c6
jg 0x410c1a
cmp eax, 0x997b3d24
jg 0x410c46
cmp eax, 0x99421708
jg 0x410ca3
cmp eax, 0x97bb489b
jg 0x410cbb
cmp eax, 0x967298c6
jg 0x410ce7
cmp eax, 0x8dc8912e
jg 0x410d0a
cmp eax, 0x80cba5a5
je 0x410d95
cmp eax, 0x80dec0e0
jne 0x410dad
mov eax, dword [esp + 0x1c98]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0x4c], 0x459bba42
jmp 0x40f660
cmp eax, 0x7e3c70a8
jne 0x40f660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
mov eax, 0x66729f7d
je 0x40f64d
mov eax, 0xe216347d
jmp 0x40f64d
cmp eax, 0x74b32d7c
jne 0x40f660
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 8], 1
call dword [sym.imp.KERNEL32.dll_CopyFileW]
sub esp, 0xc
test eax, eax
mov eax, 0xbc23b7ef
je 0x40f881
mov eax, 0xa80ef3a5
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0x69b81b67
jne 0x40f660
jmp 0x410cc6
cmp eax, 0x66729f7d
jne 0x40f660
mov eax, dword [esp + 0x1c94]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
sub esp, 4
mov dword [esp + 0x4c], 0xe216347d
jmp 0x40f660
cmp eax, 0x65b0bcf1
jne 0x40f660
mov eax, 0x967298c7
cmp dword [esp + 0x1ca0], 0
js 0x40f8e4
mov eax, 0xf966df9a
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0x602f8bae
jne 0x40f660
mov eax, 0xe7e12b28
cmp dword [esp + 0x1c90], 0
je 0x40f90c
mov eax, 0x16ad6810
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0x459bba42
jne 0x40f660
lea eax, [esp + 0x11e2]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
call fcn.0040f2b0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c9c], eax
mov dword [esp + 0x4c], 0xc4b32f64
jmp 0x40f660
cmp eax, 0x417205d7
jne 0x40f660
mov eax, dword [esp + 0x1c98]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 0x60], eax
mov ecx, 0xa912630a
test eax, eax
jne 0x40f988
mov ecx, 0xfe0d2058
mov dword [esp + 0x4c], ecx
jmp 0x40f660
cmp eax, 0x3cbaea6d
jne 0x40f660
mov eax, dword [esp + 0x1c94]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0x4c], 0xa48445c7
jmp 0x40f660
cmp eax, 0x3178d496
jne 0x40f660
jmp 0x410cc6
cmp eax, 0x31004d3c
jne 0x40f660
mov dword [esp + 0x4c], 0x8ae07b81
jmp 0x40f660
cmp eax, 0x28fa9c26
jne 0x40f660
jmp 0x410cf2
cmp eax, 0x274fa62c
jne 0x40f660
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x7b0]
mov dword [esp + 8], eax
lea eax, [esp + 0xfd8]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x104
call fcn.00403040
mov dword [esp + 0x5c], eax
mov word [esp + eax*2 + 0xfd0], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
sub esp, 0x10
mov dword [esp + 0x1c94], eax
mov ecx, 0x7e3c70a8
test eax, eax
jne 0x410739
mov ecx, 0x80cba5a5
jmp 0x410739
cmp eax, 0x16ad6810
jne 0x40f660
mov esi, dword [0x466670]
mov ecx, dword [0x466698]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c4c]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x466680]
mov ecx, dword [0x466698]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c48]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x466684]
mov ecx, dword [0x466698]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c44]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x466670]
mov ecx, dword [0x466694]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c40]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x466664]
mov ecx, dword [0x4666a4]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c3c]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x466670]
mov ecx, dword [0x4666a8]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c38]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x4666b4]
mov ecx, dword [0x4666ac]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c34]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x4666b0]
mov ecx, dword [0x4666ac]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c30]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call dword [0x466830]
sub esp, 0x18
mov esi, dword [0x4666b0]
mov ecx, dword [0x466698]
mov edx, dword [esp + 0x1c90]
lea eax, [esp + 0x1c2c]
mov dword [esp + 0x14], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call dword [0x466830]
sub esp, 0x18
mov eax, dword [esp + 0x1c90]
mov dword [esp], eax
call dword [0x46682c]
sub esp, 4
call fcn.00413d5f
mov ecx, eax
xor ecx, 0xfffffff0
and ecx, eax
lea eax, [esp + 0xca]
mov esi, eax
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00414714
mov dword [esp], esi
call fcn.00403290
mov dword [esp + 0x70], eax
lea ecx, [eax + 1]
mov dword [esp + 0x70], ecx
mov word [esp + eax*2 + 0xca], 0x2e
mov eax, dword [esp + 0x70]
lea esi, [esp + eax*2 + 0xca]
call fcn.00413d5f
and eax, 1
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00414714
lea esi, [esp + 0xca]
mov dword [esp], esi
call fcn.00403290
mov dword [esp + 0x70], eax
lea ecx, [eax + 1]
mov dword [esp + 0x70], ecx
mov word [esp + eax*2 + 0xca], 0x2e
mov eax, dword [esp + 0x70]
lea eax, [esp + eax*2 + 0xca]
mov dword [esp + 0x48], eax
call fcn.00413d5f
mov ecx, eax
xor ecx, 0xfffffffa
and ecx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00414714
mov dword [esp], esi
call fcn.00403290
mov dword [esp + 0x70], eax
mov ecx, eax
neg ecx
mov edx, 1
sub edx, ecx
mov dword [esp + 0x70], edx
mov word [esp + eax*2 + 0xca], 0x2e
mov eax, dword [esp + 0x70]
lea esi, [esp + eax*2 + 0xca]
call fcn.00413d5f
and eax, 0xc
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00414714
lea eax, [esp + 0xca]
mov dword [esp], eax
call fcn.00403290
mov dword [esp + 0x70], eax
mov eax, dword [0x41e134]
movzx eax, byte [eax]
mov dword [esp + 0x6c], eax
not eax
mov ecx, dword [0x41e134]
neg eax
movzx eax, byte [ecx + eax]
mov dword [esp + 0x68], eax
mov ecx, dword [0x41e134]
mov edx, dword [esp + 0x6c]
lea edx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
lea esi, [esp + 0x90]
mov dword [esp], esi
mov dword [esp + 4], 0x10
call fcn.004023b0
mov eax, dword [0x46668c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466828]
sub esp, 8
mov dword [esp + 0x1c28], eax
mov eax, dword [0x4666bc]
mov ecx, dword [0x46666c]
mov edx, dword [esp + 0x1c90]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0xc], 0
call dword [0x466820]
sub esp, 0x10
mov eax, dword [0x466688]
mov ecx, dword [esp + 0x1c90]
lea edx, [esp + 0xca]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x466670]
mov ecx, dword [esp + 0x1c90]
lea edx, [esp + 0x13ec]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x466668]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
call dword [0x466818]
sub esp, 0xc
mov eax, dword [0x4666b8]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x10
call dword [0x466814]
sub esp, 0x10
mov eax, dword [0x466690]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466828]
sub esp, 8
mov dword [esp + 0x1c24], eax
mov eax, dword [esp + 0x1c40]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c40]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c38]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c38]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c24]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466824]
sub esp, 8
mov eax, dword [esp + 0x1c48]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c48]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c4c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c2c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
call fcn.00413d5f
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x41e138]
mov dword [esp + 0x1c14], eax
movzx eax, word [eax]
mov dword [esp + 0x6c], eax
not eax
mov ecx, dword [esp + 0x1c14]
add eax, eax
neg eax
movzx eax, word [ecx + eax]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x1c14]
mov edx, dword [esp + 0x6c]
lea esi, [ecx + edx*2 + 4]
add ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea esi, [esp + 0x1a0a]
mov dword [esp], esi
call fcn.004026b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea eax, [esp + 0xbc4]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00402e40
mov eax, dword [esp + 0x6c]
mov ecx, 0x104
sub ecx, eax
lea eax, [esp + eax*2 + 0xbc4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], str..exe
call fcn.00402e40
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea esi, [esp + 0x9ba]
mov dword [esp], esi
mov dword [esp + 4], 0x104
call fcn.00402e40
mov eax, dword [esp + 0x6c]
mov ecx, 0x104
sub ecx, eax
lea eax, [esp + eax*2 + 0x9ba]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str.32.exe
call fcn.00402e40
mov eax, dword [0x41e14c]
movzx eax, byte [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x41e14c]
movzx eax, byte [eax + ecx + 1]
mov dword [esp + 0x68], eax
mov ecx, dword [0x41e14c]
mov edx, dword [esp + 0x6c]
lea edx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
lea esi, [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 4], 0x10
call fcn.004023b0
mov eax, dword [0x466698]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466828]
sub esp, 8
mov dword [esp + 0x1c20], eax
mov eax, dword [0x466670]
mov ecx, dword [esp + 0x1c90]
lea edx, [esp + 0xbc4]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x466678]
mov ecx, dword [esp + 0x1c90]
lea edx, [esp + 0x9ba]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x466674]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], str.Microsoft
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x4666b0]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0x10
call dword [0x466814]
sub esp, 0x10
mov eax, dword [0x46669c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466828]
sub esp, 8
mov dword [esp + 0x1c1c], eax
mov eax, dword [0x466670]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0x47c2f0
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [esp + 0x1c1c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466824]
sub esp, 8
mov eax, dword [0x41e150]
movzx eax, word [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x41e150]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x68], eax
mov ecx, dword [0x41e150]
mov edx, dword [esp + 0x6c]
lea esi, [ecx + edx*2 + 4]
add ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [esp + 0xa0]
mov esi, eax
mov dword [esp], esi
call fcn.004026b0
mov eax, dword [0x4666a0]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466828]
sub esp, 8
mov dword [esp + 0x1c18], eax
mov eax, dword [0x466670]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [0x46667c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46681c]
sub esp, 0xc
mov eax, dword [esp + 0x1c18]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466824]
sub esp, 8
mov eax, dword [esp + 0x1c20]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466824]
sub esp, 8
mov eax, dword [esp + 0x1c2c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c4c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c34]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c30]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c30]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c34]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c3c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466810]
sub esp, 8
mov eax, dword [esp + 0x1c3c]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x46680c]
sub esp, 8
mov eax, dword [esp + 0x1c28]
mov ecx, dword [esp + 0x1c90]
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [0x466824]
sub esp, 8
mov eax, dword [esp + 0x1c90]
mov dword [esp], eax
call dword [0x466834]
sub esp, 4
lea eax, [esp + 0x192]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x20a
call fcn.004041b0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x466874]
sub esp, 0xc
mov dword [esp + 0x1c98], eax
mov ecx, 0x97bb489c
test eax, eax
je 0x410739
mov ecx, 0x417205d7
jmp 0x410739
cmp eax, 0x570175
jne 0x40f660
mov eax, dword [esp + 0x1c88]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov eax, dword [esp + 0x1c94]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
test eax, eax
mov eax, 0x99421709
jne 0x4105e7
mov eax, 0xb7ddf0bb
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0xfe0d2058
jne 0x40f660
mov dword [esp + 0x1c50], 0x3c
mov dword [esp + 0x1c54], 0x40
mov dword [esp + 0x1c58], 0
mov dword [esp + 0x1c5c], 0x47c2f4
mov dword [esp + 0x1c68], 0
mov dword [esp + 0x1c70], 0
lea eax, [esp + 0x39c]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
mov dword [esp], esi
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x47c2fe
mov dword [esp + 4], 0x104
call fcn.00402e40
lea eax, [esp + 0x11e2]
mov esi, eax
mov dword [esp], esi
call fcn.00403290
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea eax, [esp + 0x3a2]
mov dword [esp], eax
mov dword [esp + 4], 0x101
call fcn.00402e40
mov eax, dword [0x41e154]
movzx eax, word [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x41e154]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x68], eax
mov ecx, dword [0x41e154]
mov edx, dword [esp + 0x6c]
lea esi, [ecx + edx*2 + 4]
add ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea eax, [esp + 0x1800]
mov dword [esp], eax
call fcn.004026b0
lea eax, [esp + 0xfd8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
sub esp, 0x10
mov dword [esp + 0x1c94], eax
mov ecx, 0x3178d496
test eax, eax
je 0x410739
mov ecx, 0x997b3d25
mov dword [esp + 0x4c], ecx
lea esi, [esp + 0xbc4]
jmp 0x40f660
cmp eax, 0xf966df9a
jne 0x40f660
lea eax, [esp + 0x7b0]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00402d10
mov dword [esp + 0x70], eax
lea eax, [esp + 0x58]
mov dword [esp], eax
call fcn.0040d8c0
test eax, eax
mov eax, 0x274fa62c
jne 0x410789
mov eax, 0xebbfb607
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0xebbfb607
jne 0x40f660
mov eax, 0x28fa9c26
cmp dword [esp + 0x58], 6
jb 0x4107ae
mov eax, 0x8dc8912f
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0xe89806d2
jne 0x40f660
mov eax, dword [esp + 0x1c88]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x466840]
sub esp, 0x10
mov dword [esp + 0x1c60], esi
mov dword [esp + 0x1c64], 0
mov dword [esp + 0x1c6c], 1
lea eax, [esp + 0x1c50]
mov dword [esp], eax
call dword [0x466844]
sub esp, 4
cmp eax, 1
mov eax, 0xe0ebd0f5
jne 0x410844
mov eax, 0x570175
mov dword [esp + 0x4c], eax
jmp 0x40f660
cmp eax, 0xe7e12b28
jne 0x40f660
lea eax, [esp + 0x13ec]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
lea eax, [esp + 0x11e2]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
lea eax, [esp + 0x13ec]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00403e70
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x15f6]
mov dword [esp + 8], eax
lea eax, [esp + 0x11e2]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00402e40
lea eax, [esp + 0x13ec]
mov dword [esp], eax
call fcn.00403290
mov ecx, dword [esp + 0x64]
mov edx, 0x104
sub edx, ecx
lea ecx, [esp + ecx*2 + 0x11e2]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x13ec]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00402e40
lea eax, [esp + 0x11e2]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [0x46683c]
sub esp, 8
mov dword [esp + 0x1c90], eax
mov dword [esp + 0x4c], 0x602f8bae
jmp 0x40f660
cmp eax, 0xe4d188f8
jne 0x40f660
jmp 0x410cc6
cmp eax, 0xe216347d
jne 0x40f660
mov eax, dword [esp + 0x1c94]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0x4c], 0x80cba5a5
jmp 0x40f660
cmp eax, 0xe0ebd0f5
jne 0x40f660
jmp 0x410cc6
cmp eax, 0xc4b32f64
jne 0x40f660
jmp 0x410dd7
cmp eax, 0xc3455fb1
jne 0x40f660
mov eax, dword [esp + 0x1c88]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x466840]
sub esp, 0x10
mov dword [esp + 0x54], 1
mov dword [esp + 0x4c], 0x8ae07b81
jmp 0x40f660
cmp eax, 0xbc23b7ef
jne 0x40f660
lea eax, [esp + 0xfd8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
mov dword [esp], edi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
lea eax, [esp + 0xfd8]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00403e70
lea eax, [esp + 0xfd8]
mov dword [esp], eax
call fcn.00403290
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x15f6]
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], 0x104
call fcn.00402e40
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x64]
mov edx, 0x104
sub edx, ecx
lea ecx, [esp + ecx*2 + 0xdce]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xfd8]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00402e40
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
mov edx, 0xd67aac44
sub edx, eax
sub edx, ecx
add edx, 0x298554c0
lea eax, [esp + eax*2 + 0xdce]
lea eax, [eax + ecx*2]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], 4
mov dword [esp + 8], str..exe
call fcn.00402e40
mov dword [esp + 0x4c], 0x74b32d7c
jmp 0x40f660
cmp eax, 0xb7ddf0bb
jne 0x40f660
lea eax, [esp + 0x39c]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00402c60
mov dword [esp], esi
mov dword [esp + 0xc], 6
mov dword [esp + 8], str._q__u
mov dword [esp + 4], 0x104
call fcn.00402e40
lea eax, [esp + 0x11e2]
mov esi, eax
mov dword [esp], esi
call fcn.00403290
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
lea eax, [esp + 0x3a8]
mov dword [esp], eax
mov dword [esp + 4], 0xfe
call fcn.00402e40
lea eax, [esp + 0x1800]
mov dword [esp + 0x1c60], eax
lea eax, [esp + 0x39c]
mov dword [esp + 0x1c64], eax
mov dword [esp + 0x1c6c], 0
lea eax, [esp + 0x1c50]
mov dword [esp], eax
call dword [0x466844]
sub esp, 4
cmp eax, 1
mov eax, 0x31004d3c
jne 0x410bcf
mov eax, 0xc3455fb1
mov dword [esp + 0x4c], eax
lea esi, [esp + 0xbc4]
jmp 0x40f660
cmp eax, 0xa912630a
jne 0x40f660
mov ecx, esi
mov eax, 0xe4d188f8
cmp dword [esp + 0x60], 0x80
jne 0x410c3b
mov eax, 0xfe0d2058
jmp 0x410c3b
cmp eax, 0xa80ef3a5
jne 0x40f660
mov dword [esp + 0x4c], 0xe7e12b28
jmp 0x40f660
cmp eax, 0xa48445c7
jne 0x40f660
mov ecx, esi
mov eax, 0x80dec0e0
cmp dword [esp + 0x1c98], 0
jne 0x410c3b
mov eax, 0x459bba42
mov dword [esp + 0x4c], eax
mov esi, ecx
jmp 0x40f660
cmp eax, 0x997b3d25
jne 0x40f660
lea eax, [esp + 0x1800]
mov dword [esp + 0x1c60], eax
lea eax, [esp + 0x39c]
mov dword [esp + 0x1c64], eax
mov dword [esp + 0x1c6c], 0
lea eax, [esp + 0x1c50]
mov dword [esp], eax
call dword [0x466844]
sub esp, 4
cmp eax, 1
mov eax, 0x69b81b67
jne 0x410bcf
mov eax, 0xe89806d2
jmp 0x410bcf
cmp eax, 0x99421709
jne 0x40f660
mov dword [esp + 0x4c], 0x8ae07b81
jmp 0x40f660
cmp eax, 0x97bb489c
jne 0x40f660
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
mov dword [esp], ebx
call fcn.0040d7e0
mov dword [esp + 0x4c], 0x8ae07b81
jmp 0x40f660
cmp eax, 0x967298c7
jne 0x40f660
mov dword [esp + 0x1c9c], 0xffffffff
mov dword [esp + 0x4c], 0xc4b32f64
jmp 0x40f660
cmp eax, 0x8dc8912f
jne 0x40f660
mov dword [esp + 8], ebx
lea eax, [esp + 0x7b0]
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x104
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
sub esp, 0x10
lea eax, [esp + 0x15f6]
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00403850
lea eax, [esp + 0x15f6]
mov dword [esp], eax
call fcn.00403290
mov dword [esp + 0x64], eax
mov dword [esp], 0
call fcn.00410df0
mov dword [esp + 0x48], eax
call fcn.00402000
imul eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00413d82
mov dword [esp + 0x4c], 0xbc23b7ef
jmp 0x40f660
mov dword [esp + 0x1c9c], 0
mov dword [esp + 0x4c], 0xc4b32f64
jmp 0x40f660
cmp eax, 0x8ae07b81
jne 0x40f660
mov ecx, esi
mov eax, 0x3cbaea6d
cmp dword [esp + 0x1c94], 0
jne 0x410c3b
mov eax, 0xa48445c7
jmp 0x410c3b
mov eax, dword [esp + 0x1c9c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret