Function at 0x40e42e
Capabilities:
Accept command line arguments
Query or enumerate registry value
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3e4
mov eax, dword [0x42e340]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
push ebx
push esi
mov ebx, ecx
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3a0], ecx
mov dword [ebp - 0x39c], ecx
lea ecx, [ebp - 0x268]
push edi
mov dword [ebp - 0x3c4], ebx
mov dword [0x42e74c], eax
call fcn.004158f0
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x42e760], eax
test eax, eax
jne 0x40e4b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x40e49f
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0x3a0], pe_nt_image_headers32
push 0x7a
pop ebx
xor edi, edi
jmp 0x40fb17
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x42e768], eax
cmp dword [0x42e760], ebx
jne 0x40e4ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x40e4e1
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0x3a0], 0x109
jmp 0x40e4a9
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x42e784], eax
cmp dword [0x42e760], ebx
jne 0x40e527
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x40e51b
movzx esi, si
or esi, 0x80070000
mov dword [ebp - 0x3a0], 0x112
jmp 0x40e4a9
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor eax, eax
push eax
push 0x4017d0
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
xor eax, eax
push eax
push eax
push 1
push eax
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push ecx
mov dword [0x42e394], 1
call fcn.0040de7f
lea eax, [ebp - 0x39c]
xor ecx, ecx
push eax
push 1
push ecx
push 0x4017d8
mov edi, ecx
push SysReAllocString
mov dword [ebp - 0x3a8], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40e5db
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x3ac], 4
push eax
push 0x42e394
lea eax, [ebp - 0x3b0]
xor ecx, ecx
push eax
push ecx
push 0x401830
push dword [ebp - 0x39c]
mov dword [ebp - 0x3b0], ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40e5c7
inc edi
mov dword [ebp - 0x3a8], edi
push dword [ebp - 0x39c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov dword [ebp - 0x39c], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
jne 0x40e5fd
mov esi, 0x8000ffff
mov dword [ebp - 0x3a0], 0x13e
push 0x7c
jmp 0x40e4ab
movzx eax, word [esi]
push 0x22
pop edx
mov ecx, eax
cmp ax, dx
jne 0x40e6cb
add esi, 2
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x40e62b
add esi, 2
cmp ax, dx
je 0x40e62b
movzx eax, word [esi]
test ax, ax
jne 0x40e61b
push 0x20
pop edx
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x40e648
cmp ax, dx
ja 0x40e648
add esi, 2
movzx eax, word [esi]
test ax, ax
jne 0x40e638
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2f
je 0x40e65b
cmp ecx, 0x2d
jne 0x40e90f
lea ecx, [ebp - 0xa0]
call fcn.004158f0
mov ecx, 0x401854
add esi, 2
call fcn.00415c83
push eax
push 0x401854
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e6e4
mov dword [0x42e75c], 1
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x4010f8
lea esi, [esi + eax*2]
call fcn.0041585e
jmp 0x40e62b
push 0x20
pop edx
cmp cx, dx
jbe 0x40e62e
add esi, 2
cmp word [esi], dx
ja 0x40e6d7
jmp 0x40e62e
mov ecx, 0x401868
call fcn.00415c83
push eax
push 0x401868
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e72d
mov dword [0x42e388], eax
mov dword [0x42e79c], 1
jmp 0x40e6a8
mov ecx, 0x40186c
call fcn.00415c83
push eax
push 0x40186c
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e772
inc eax
mov dword [0x42e388], eax
mov dword [0x42e778], eax
jmp 0x40e6a8
mov ecx, 0x401880
call fcn.00415c83
push eax
push 0x401880
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e7b3
xor eax, eax
mov dword [0x42e388], eax
jmp 0x40e6a8
mov ecx, 0x401884
call fcn.00415c83
push eax
push 0x401884
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40e7a7
mov ecx, 0x401888
call fcn.00415c83
push eax
push 0x401888
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e831
mov dword [0x42e394], eax
mov dword [0x42e7b4], 1
jmp 0x40e6a8
mov ecx, 0x40189c
call fcn.00415c83
push eax
push 0x40189c
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e876
inc eax
mov dword [0x42e394], eax
mov dword [0x42e7b4], eax
jmp 0x40e6a8
mov ecx, 0x4018ac
call fcn.00415c83
push eax
push 0x4018ac
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40e8c7
call fcn.004163f6
test eax, eax
je 0x40e6a8
mov dword [0x42e724], 1
jmp 0x40e6a8
mov ecx, 0x4018b8
call fcn.00415c83
push eax
push 0x4018b8
lea ecx, [ebp - 0xa0]
call fcn.0041617d
push dword [ebp - 0x90]
push dword [ebp - 0x94]
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40fa3d
mov dword [0x42e744], 1
jmp 0x40e6a8
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x3b4]
jne 0x40e914
sub ecx, edx
sar ecx, 1
je 0x40e973
xor eax, eax
lea ecx, [ebp - 0x268]
push esi
mov dword [0x42e388], eax
call fcn.00415590
push 0x2e
lea ecx, [ebp - 0x268]
call fcn.00415353
test eax, eax
jns 0x40e973
mov esi, 0x4018d8
cmp dword [0x42e79c], ebx
jne 0x40e95f
mov esi, 0x4018e4
mov ecx, esi
call fcn.00415c83
push eax
push esi
lea ecx, [ebp - 0x268]
call fcn.004161cd
cmp dword [ebp - 0x258], ebx
jne 0x40e9a1
mov esi, 0x4018f0
cmp dword [0x42e79c], ebx
jne 0x40e98d
mov esi, 0x401908
mov ecx, esi
call fcn.00415c83
push eax
push esi
lea ecx, [ebp - 0x268]
call fcn.0041617d
cmp dword [0x42e724], ebx
je 0x40ea59
call fcn.00416529
push 0x20
pop edx
cmp eax, edx
jge 0x40ea3e
lea ecx, [ebp - 0x1d0]
call fcn.004158f0
lea ecx, [ebp - 0x138]
call fcn.004158f0
push 0x104
lea eax, [ebp - 0x1d0]
push eax
push 0x64
pop edx
call fcn.0041647c
push 0x200
lea eax, [ebp - 0x138]
push eax
push 0x76
pop edx
call fcn.0041647c
add esp, 0x10
xor edi, edi
push 0x10
push dword [ebp - 0x1c4]
push dword [ebp - 0x12c]
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ebx, 0x4010f8
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], ebx
call fcn.0041585e
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], ebx
call fcn.0041585e
jmp 0x40ea40
xor edi, edi
call fcn.0040de51
xor esi, esi
mov dword [ebp - 0x3a0], 0x1fa
inc esi
mov ebx, edi
jmp 0x40fb17
test edi, edi
jne 0x40eb65
cmp dword [0x42e7b4], ebx
jne 0x40eb65
cmp dword [0x42e388], ebx
je 0x40eb65
cmp dword [0x42e7d8], ebx
jne 0x40eb65
lea ecx, [ebp - 0x138]
call fcn.004158f0
lea ecx, [ebp - 0x1d0]
call fcn.004158f0
push 0x104
lea eax, [ebp - 0x138]
push eax
push 0x64
pop edx
call fcn.0041647c
push 0x200
lea eax, [ebp - 0x1d0]
push eax
push 0x73
pop edx
call fcn.0041647c
add esp, 0x10
xor eax, eax
push 4
push dword [ebp - 0x12c]
push dword [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
xor ecx, ecx
cmp eax, 6
lea eax, [ebp - 0x39c]
sete cl
mov dword [0x42e394], ecx
xor ecx, ecx
push ecx
push eax
push ecx
push 2
push ecx
push ecx
push ecx
push 0x4017d8
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40eb3e
push 4
push 0x42e394
push 4
xor esi, esi
push esi
push 0x401830
push dword [ebp - 0x39c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x39c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x39c], esi
mov esi, 0x4010f8
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], esi
call fcn.0041585e
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], esi
call fcn.0041585e
cmp byte [0x42e7a8], bl
jne 0x40ede2
mov esi, dword [section..data]
cmp esi, 5
jbe 0x40eba7
push 0x2000
xor eax, eax
mov ecx, section..data
push eax
call fcn.0040dfb8
test al, al
je 0x40eba7
push 0x42e9c0
push 3
call dword [sym.imp.ADVAPI32.dll_EventActivityIdControl]
mov esi, dword [section..data]
jmp 0x40ebb8
mov edi, 0x42e9c0
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3a8]
mov dword [0x42e9b8], 1
cmp esi, 5
jbe 0x40ec32
push 0x2000
xor eax, eax
mov ecx, section..data
push eax
call fcn.0040dfb8
test al, al
je 0x40ec32
cmp byte [0x42e9bc], bl
je 0x40ec0c
cmp dword [0x42e9d0], ebx
jne 0x40ec05
cmp dword [0x42e9d4], ebx
jne 0x40ec05
cmp dword [0x42e9d8], ebx
jne 0x40ec05
cmp dword [0x42e9dc], ebx
je 0x40ec0c
mov eax, 0x42e9d0
jmp 0x40ec0e
xor eax, eax
lea ecx, [ebp - 0xc0]
push ecx
push 2
push eax
push 0x42e9c0
push 0x40d7bb
push section..data
call fcn.0040df26
mov esi, dword [section..data]
mov byte [0x42e7a8], 1
cmp esi, 5
jbe 0x40ede2
push 0x2000
xor eax, eax
mov ecx, section..data
push eax
call fcn.0040dfb8
test al, al
je 0x40ed46
mov eax, dword [0x42e7b4]
mov ecx, dword [0x42e79c]
mov dword [ebp - 0x3b4], eax
mov eax, dword [0x42e744]
mov dword [ebp - 0x3ac], eax
mov eax, dword [0x42e394]
mov dword [ebp - 0x3a8], eax
mov eax, dword [0x42e778]
mov dword [ebp - 0x3b0], edi
mov dword [ebp - 0x3d4], eax
cmp dword [0x42e388], ebx
jne 0x40eca5
test ecx, ecx
jne 0x40eca5
xor eax, eax
inc eax
jmp 0x40eca7
xor eax, eax
mov dword [ebp - 0x3d8], eax
mov edx, 0x40d7d9
mov eax, dword [0x42e724]
mov dword [ebp - 0x3e0], eax
mov eax, dword [0x42e75c]
mov dword [ebp - 0x3cc], eax
mov eax, dword [0x42e388]
mov dword [ebp - 0x3bc], eax
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x3dc], ecx
push eax
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x3a4], 1
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x3d4]
push eax
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x3e0]
push eax
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x3bc]
push eax
lea eax, [ebp - 0x3a4]
push eax
push ecx
push 0x42e9c0
mov ecx, section..data
call fcn.0040dff4
mov esi, dword [section..data]
cmp esi, 5
jbe 0x40ede2
push 0x4000
xor eax, eax
mov ecx, section..data
push eax
call fcn.0040dfb8
test al, al
je 0x40ede2
mov eax, dword [0x42e388]
xor ecx, ecx
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x3a4]
push 4
pop edx
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xe0]
push eax
push edx
push ecx
push 0x42e9c0
push 0x40d781
push section..data
mov dword [ebp - 0x3c0], 0x1000000
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 8
mov dword [ebp - 0xb4], ecx
call fcn.0040df26
push ecx
call fcn.00416cc0
mov esi, eax
mov dword [ebp - 0x3a4], esi
test esi, esi
jns 0x40ee29
mov dword [ebp - 0x3a0], 0x23b
cmp esi, 0x80080001
jne 0x40ee0b
push 0x70
pop ebx
jmp 0x40ee1d
xor ebx, ebx
cmp esi, 0x800401f8
setne bl
lea ebx, [ebx*2 + 0x6f]
mov ecx, ebx
call fcn.00410138
jmp 0x40e4ac
call fcn.00414ff0
cmp dword [0x42e778], ebx
je 0x40f182
cmp dword [0x42e358], ebx
je 0x40ee91
xor eax, eax
mov edi, 0x401920
push eax
push 1
push 0x2c2
push edi
mov ecx, 0x42e7a4
call fcn.004146e1
add esp, 0x10
mov dword [0x42e358], eax
test eax, eax
je 0x40ee91
push 1
mov edx, edi
call fcn.00414976
pop ecx
push 1
call fcn.0041705e
test eax, eax
jns 0x40ee87
mov ecx, 0x12c
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e38c], ebx
je 0x40eee8
xor eax, eax
mov edi, 0x40194c
push eax
push 1
push 0x2bc
push edi
mov ecx, 0x42e738
call fcn.004146e1
add esp, 0x10
mov dword [0x42e38c], eax
test eax, eax
je 0x40eee8
push 1
mov edx, edi
call fcn.00414976
pop ecx
push 1
call fcn.00417216
test eax, eax
jns 0x40eede
mov ecx, 0x12c
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e374], ebx
je 0x40ef3f
xor eax, eax
mov edi, 0x401978
push eax
push 1
push 0x2bd
push edi
mov ecx, 0x42e728
call fcn.004146e1
add esp, 0x10
mov dword [0x42e374], eax
test eax, eax
je 0x40ef3f
push 1
mov edx, edi
call fcn.00414976
pop ecx
push 1
call fcn.0041733c
test eax, eax
jns 0x40ef35
mov ecx, 0x12d
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e37c], ebx
je 0x40ef92
xor eax, eax
mov edi, 0x4019a4
push eax
push 1
push 0x2c7
push edi
mov ecx, 0x42e788
call fcn.004146e1
add esp, 0x10
mov dword [0x42e37c], eax
test eax, eax
je 0x40ef92
push 1
mov edx, edi
call fcn.00414976
call fcn.004173d0
xor ecx, ecx
mov edx, edi
test eax, eax
push 1
sets cl
mov dword [0x42e9b0], ecx
call fcn.00414a11
pop ecx
push ecx
call fcn.004172aa
test eax, eax
jns 0x40efa6
mov ecx, 0x137
call fcn.00410138
cmp dword [0x42e398], ebx
je 0x40effa
xor eax, eax
mov edi, 0x4019d4
push eax
push 1
push 0x2c5
push edi
mov ecx, 0x42e748
call fcn.004146e1
add esp, 0x10
mov dword [0x42e398], eax
test eax, eax
je 0x40effa
push 1
mov edx, edi
call fcn.00414976
call fcn.00417589
test eax, eax
jns 0x40eff0
mov ecx, 0x138
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e384], ebx
je 0x40f04e
xor eax, eax
mov edi, 0x401a00
push eax
push 1
push 0x2c6
push edi
mov ecx, 0x42e7b0
call fcn.004146e1
add esp, 0x10
mov dword [0x42e384], eax
test eax, eax
je 0x40f04e
push 1
mov edx, edi
call fcn.00414976
call fcn.0041761b
test eax, eax
jns 0x40f044
mov ecx, 0x139
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e35c], ebx
je 0x40f0a2
xor eax, eax
mov edi, 0x401a38
push eax
push 1
push 0x2c8
push edi
mov ecx, 0x42e734
call fcn.004146e1
add esp, 0x10
mov dword [0x42e35c], eax
test eax, eax
je 0x40f0a2
push 1
mov edx, edi
call fcn.00414976
call fcn.004176ad
test eax, eax
jns 0x40f098
mov ecx, 0x13a
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e368], ebx
je 0x40f0f6
xor eax, eax
mov edi, 0x401a64
push eax
push 1
push 0x2cb
push edi
mov ecx, 0x42e770
call fcn.004146e1
add esp, 0x10
mov dword [0x42e368], eax
test eax, eax
je 0x40f0f6
push 1
mov edx, edi
call fcn.00414976
call fcn.0041773f
test eax, eax
jns 0x40f0ec
mov ecx, 0x13b
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
call fcn.00413d40
call fcn.00414115
lea ecx, [ebp - 0x138]
call fcn.004158f0
lea ecx, [ebp - 0x1d0]
call fcn.004158f0
mov edi, 0x104
lea eax, [ebp - 0x138]
push edi
push eax
push 0x64
pop edx
call fcn.0041647c
lea eax, [ebp - 0x1d0]
mov edx, 0x1f7
push edi
push eax
call fcn.0041647c
add esp, 0x10
xor eax, eax
push eax
push dword [ebp - 0x12c]
push dword [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, 0x4010f8
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], edi
call fcn.0041585e
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], edi
call fcn.0041585e
jmp 0x40e4ac
cmp dword [0x42e388], ebx
jne 0x40f471
xor edi, edi
cmp dword [0x42e358], ebx
je 0x40f1d7
push edi
push 1
push 0x2c2
mov esi, 0x401920
mov ecx, 0x42e7a4
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e358], eax
test eax, eax
je 0x40f1d7
push 1
mov edx, esi
call fcn.00414976
pop ecx
push 1
call fcn.0041705e
push 1
mov edx, esi
call fcn.00414a11
pop ecx
cmp dword [0x42e38c], ebx
je 0x40f22c
push edi
push 1
push 0x2bc
mov esi, 0x40194c
mov ecx, 0x42e738
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e38c], eax
test eax, eax
je 0x40f22c
push 1
mov edx, esi
call fcn.00414976
pop ecx
push 1
call fcn.00417216
test eax, eax
jns 0x40f222
mov ecx, 0x12c
call fcn.00410138
push 1
mov edx, esi
call fcn.00414a11
pop ecx
cmp dword [0x42e374], ebx
je 0x40f281
push edi
push 1
push 0x2bd
mov edi, 0x401978
mov ecx, 0x42e728
push edi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e374], eax
test eax, eax
je 0x40f281
push 1
mov edx, edi
call fcn.00414976
pop ecx
push 1
call fcn.0041733c
test eax, eax
jns 0x40f277
mov ecx, 0x12d
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
xor edi, edi
cmp dword [0x42e37c], ebx
je 0x40f2d4
push edi
push 1
push 0x2c7
mov esi, 0x4019a4
mov ecx, 0x42e788
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e37c], eax
test eax, eax
je 0x40f2d4
push 1
mov edx, esi
call fcn.00414976
call fcn.004173d0
xor ecx, ecx
mov edx, esi
test eax, eax
push 1
sets cl
mov dword [0x42e9b0], ecx
call fcn.00414a11
pop ecx
push ecx
call fcn.004172aa
test eax, eax
jns 0x40f2e8
mov ecx, 0x137
call fcn.00410138
cmp dword [0x42e398], ebx
je 0x40f33a
push edi
push 1
push 0x2c5
mov esi, 0x4019d4
mov ecx, 0x42e748
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e398], eax
test eax, eax
je 0x40f33a
push 1
mov edx, esi
call fcn.00414976
call fcn.00417589
test eax, eax
jns 0x40f330
mov ecx, 0x138
call fcn.00410138
push 1
mov edx, esi
call fcn.00414a11
pop ecx
cmp dword [0x42e384], ebx
je 0x40f38c
push edi
push 1
push 0x2c6
mov esi, 0x401a00
mov ecx, 0x42e7b0
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e384], eax
test eax, eax
je 0x40f38c
push 1
mov edx, esi
call fcn.00414976
call fcn.0041761b
test eax, eax
jns 0x40f382
mov ecx, 0x139
call fcn.00410138
push 1
mov edx, esi
call fcn.00414a11
pop ecx
cmp dword [0x42e35c], ebx
je 0x40f3de
push edi
push 1
push 0x2c8
mov esi, 0x401a38
mov ecx, 0x42e734
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e35c], eax
test eax, eax
je 0x40f3de
push 1
mov edx, esi
call fcn.00414976
call fcn.004176ad
test eax, eax
jns 0x40f3d4
mov ecx, 0x13a
call fcn.00410138
push 1
mov edx, esi
call fcn.00414a11
pop ecx
cmp dword [0x42e368], ebx
je 0x40f430
push edi
push 1
push 0x2cb
mov esi, 0x401a64
mov ecx, 0x42e770
push esi
call fcn.004146e1
add esp, 0x10
mov dword [0x42e368], eax
test eax, eax
je 0x40f430
push 1
mov edx, esi
call fcn.00414976
call fcn.0041773f
test eax, eax
jns 0x40f426
mov ecx, 0x13b
call fcn.00410138
push 1
mov edx, esi
call fcn.00414a11
pop ecx
call fcn.00413d40
push ecx
mov ecx, dword [0x42e79c]
lea eax, [ebp - 0x268]
push eax
call fcn.00420c90
mov esi, eax
pop ecx
pop ecx
test esi, esi
jns 0x40fb17
mov ebx, dword [0x42e79c]
dec ebx
mov dword [ebp - 0x3a0], 0x35f
neg ebx
sbb ebx, ebx
sub ebx, 0xffffff80
jmp 0x40fb17
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, 0x401978
xor ebx, ebx
cmp dword [0x42e7c4], ebx
je 0x40f547
call fcn.00414ff0
mov ecx, 0x42e7f8
call fcn.0041f004
mov ecx, 0x42e7f8
call fcn.0041f4bc
mov ecx, 0x42e7f8
call fcn.0041f55b
mov ecx, 0x42e7f8
call fcn.0041fb8d
mov ecx, 0x42e7f8
call fcn.00420140
mov ecx, 0x42e7f8
call fcn.004202d1
mov ecx, 0x42e7f8
call fcn.0041f23a
mov ecx, 0x42e7f8
call fcn.0041f2cf
mov ecx, 0x42e7f8
call fcn.0041f336
mov ecx, 0x42e7f8
call fcn.0042042a
mov ecx, 0x42e7f8
call fcn.00420483
cmp dword [0x42e7c8], ebx
je 0x40f547
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [0x42e38c], ecx
mov dword [0x42e358], eax
mov dword [0x42e374], ecx
mov dword [0x42e364], ecx
mov dword [0x42e380], ecx
mov dword [0x42e36c], ecx
mov dword [0x42e398], ecx
mov dword [0x42e384], ecx
mov dword [0x42e35c], ecx
mov dword [0x42e368], ecx
jmp 0x40f54f
mov eax, dword [0x42e358]
xor ecx, ecx
inc ecx
test eax, eax
je 0x40f596
push ebx
push ecx
push 0x2c2
push 0x401920
mov ecx, 0x42e7a4
call fcn.004146e1
add esp, 0x10
mov dword [0x42e358], eax
test eax, eax
je 0x40f596
push 1
mov edx, 0x401920
call fcn.00414976
pop ecx
push 1
call fcn.0041705e
push 1
mov edx, 0x401920
call fcn.00414a11
pop ecx
cmp dword [0x42e38c], ebx
je 0x40f5f0
push ebx
push 1
push 0x2bc
push 0x40194c
mov ecx, 0x42e738
call fcn.004146e1
add esp, 0x10
mov dword [0x42e38c], eax
test eax, eax
je 0x40f5f0
push 1
mov edx, 0x40194c
call fcn.00414976
pop ecx
push 1
call fcn.00417216
test eax, eax
jns 0x40f5e3
mov ecx, 0x12c
call fcn.00410138
push 1
mov edx, 0x40194c
call fcn.00414a11
pop ecx
push 5
call fcn.00417216
mov ecx, 0x42e7f8
call fcn.004177d3
cmp dword [0x42e374], ebx
je 0x40f651
push ebx
push 1
push 0x2bd
push edi
mov ecx, 0x42e728
call fcn.004146e1
add esp, 0x10
mov dword [0x42e374], eax
test eax, eax
je 0x40f651
push 1
mov edx, edi
call fcn.00414976
pop ecx
push 1
call fcn.0041733c
test eax, eax
jns 0x40f647
mov ecx, 0x12d
call fcn.00410138
push 1
mov edx, edi
call fcn.00414a11
pop ecx
cmp dword [0x42e37c], ebx
je 0x40f6a7
push ebx
push 1
push 0x2c7
push 0x4019a4
mov ecx, 0x42e788
call fcn.004146e1
add esp, 0x10
mov dword [0x42e37c], eax
test eax, eax
je 0x40f6a7
push 1
mov edx, 0x4019a4
call fcn.00414976
call fcn.004173d0
xor ecx, ecx
mov edx, 0x4019a4
test eax, eax
push 1
sets cl
mov dword [0x42e9b0], ecx
call fcn.00414a11
pop ecx
push ecx
call fcn.004172aa
test eax, eax
jns 0x40f6bb
mov ecx, 0x137
call fcn.00410138
cmp dword [0x42e398], ebx
je 0x40f712
push ebx
push 1
push 0x2c5
push 0x4019d4
mov ecx, 0x42e748
call fcn.004146e1
add esp, 0x10
mov dword [0x42e398], eax
test eax, eax
je 0x40f712
push 1
mov edx, 0x4019d4
call fcn.00414976
call fcn.00417589
test eax, eax
jns 0x40f705
mov ecx, 0x138
call fcn.00410138
push 1
mov edx, 0x4019d4
call fcn.00414a11
pop ecx
cmp dword [0x42e384], ebx
je 0x40f769
push ebx
push 1
push 0x2c6
push 0x401a00
mov ecx, 0x42e7b0
call fcn.004146e1
add esp, 0x10
mov dword [0x42e384], eax
test eax, eax
je 0x40f769
push 1
mov edx, 0x401a00
call fcn.00414976
call fcn.0041761b
test eax, eax
jns 0x40f75c
mov ecx, 0x139
call fcn.00410138
push 1
mov edx, 0x401a00
call fcn.00414a11
pop ecx
cmp dword [0x42e35c], ebx
je 0x40f7c0
push ebx
push 1
push 0x2c8
push 0x401a38
mov ecx, 0x42e734
call fcn.004146e1
add esp, 0x10
mov dword [0x42e35c], eax
test eax, eax
je 0x40f7c0
push 1
mov edx, 0x401a38
call fcn.00414976
call fcn.004176ad
test eax, eax
jns 0x40f7b3
mov ecx, 0x13a
call fcn.00410138
push 1
mov edx, 0x401a38
call fcn.00414a11
pop ecx
cmp dword [0x42e368], ebx
je 0x40f817
push ebx
push 1
push 0x2cb
push 0x401a64
mov ecx, 0x42e770
call fcn.004146e1
add esp, 0x10
mov dword [0x42e368], eax
test eax, eax
je 0x40f817
push 1
mov edx, 0x401a64
call fcn.00414976
call fcn.0041773f
test eax, eax
jns 0x40f80a
mov ecx, 0x13b
call fcn.00410138
push 1
mov edx, 0x401a64
call fcn.00414a11
pop ecx
push 8
mov dword [0x42e794], ebx
mov dword [0x42e7c0], ebx
call fcn.0042aa71
pop ecx
mov ecx, eax
mov eax, dword [0x42e7c0]
push 8
mov dword [0x42e7c0], ecx
mov dword [ecx], 5
mov dword [ecx + 4], eax
call fcn.0042aa71
pop ecx
mov ecx, eax
mov eax, dword [0x42e7c0]
push 8
mov dword [0x42e7c0], ecx
mov dword [ecx], 4
mov dword [ecx + 4], eax
call fcn.0042aa71
pop ecx
mov ecx, eax
mov eax, dword [0x42e7c0]
push 8
mov dword [0x42e7c0], ecx
mov dword [ecx], 3
mov dword [ecx + 4], eax
call fcn.0042aa71
pop ecx
mov ecx, eax
mov eax, dword [0x42e7c0]
push 8
mov dword [0x42e7c0], ecx
mov dword [ecx], 2
mov dword [ecx + 4], eax
call fcn.0042aa71
pop ecx
mov ecx, eax
xor edx, edx
mov eax, dword [0x42e7c0]
inc edx
mov dword [0x42e7c0], ecx
mov dword [0x42e7ac], edx
mov dword [ecx], edx
mov dword [ecx + 4], eax
cmp dword [0x42e740], ebx
jne 0x40f912
lea eax, [ebp - 0x3bc]
push eax
push ebx
push ebx
push 0x40fd20
push ebx
push ebx
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__beginthreadex]
add esp, 0x18
mov dword [0x42e740], eax
cmp dword [0x42e780], ebx
jne 0x40f912
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x40f912
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x42e780], ebx
jne 0x40f912
mov eax, dword [0x42e740]
jmp 0x40f8ec
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x42e7c0]
mov dword [0x42e7ac], ebx
test eax, eax
je 0x40f933
mov eax, dword [eax]
mov dword [0x42e7ac], eax
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x42e7ac], ebx
je 0x40f9c0
push ebx
push dword [0x42e740]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x40f9c0
mov ecx, dword [0x42e7ac]
call fcn.00413d73
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x42e7c0]
mov edx, ebx
jmp 0x40f98e
mov esi, dword [0x42e7ac]
cmp dword [eax], esi
mov esi, dword [ebp - 0x3a4]
je 0x40f994
mov edx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x40f979
jmp 0x40f9b0
mov ecx, dword [eax + 4]
test edx, edx
je 0x40f9a0
mov dword [edx + 4], ecx
jmp 0x40f9a6
mov dword [0x42e7c0], ecx
push 8
push eax
call fcn.0042ad40
pop ecx
pop ecx
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x40f912
cmp dword [0x42e7c4], ebx
je 0x40f9eb
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push dword [0x42e740]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x40f47e
cmp dword [0x42e360], ebx
mov ebx, dword [ebp - 0x3c4]
jne 0x40fa16
push 0x1415
push dword [0x42e77c]
call dword [sym.imp.USER32.dll_GetDlgItem]
xor edi, edi
push edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x40fa18
xor edi, edi
push 0xffffffffffffffff
push dword [0x42e740]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x42e740]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42e740], edi
jmp 0x40fb17
push esi
lea ecx, [ebp - 0xa0]
call fcn.00415590
push 0x20
pop edx
push edx
lea ecx, [ebp - 0xa0]
call fcn.00415353
cmp eax, 0xffffffff
jle 0x40fa69
push eax
lea ecx, [ebp - 0xa0]
call fcn.00415743
lea ecx, [ebp - 0x398]
call fcn.004158f0
lea ecx, [ebp - 0x300]
call fcn.004158f0
push 0x104
lea eax, [ebp - 0x398]
push eax
push 0x64
pop edx
call fcn.0041647c
push 0x200
lea eax, [ebp - 0x300]
push eax
push 0x66
pop edx
call fcn.0041647c
add esp, 0x10
xor edi, edi
push 0x30
push dword [ebp - 0x38c]
push dword [ebp - 0x2f4]
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040de51
push 0x7d
pop ebx
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x3a0], 0x1c7
mov esi, 0x80070667
mov dword [ebp - 0x300], 0x4010f8
call fcn.0041585e
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x398], 0x4010f8
call fcn.0041585e
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x4010f8
call fcn.0041585e
cmp dword [ebp - 0x39c], 0
je 0x40fb32
push dword [ebp - 0x39c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x39c], edi
mov eax, dword [0x42e760]
test eax, eax
je 0x40fb48
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42e760], edi
mov eax, dword [0x42e768]
test eax, eax
je 0x40fb5e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42e768], edi
mov eax, dword [0x42e784]
test eax, eax
je 0x40fb74
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42e784], edi
push 0x42ea78
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
jmp 0x40fb99
mov ecx, eax
mov eax, dword [ecx + 4]
mov dword [0x42e7c0], eax
test ecx, ecx
je 0x40fb9e
push 8
push ecx
call fcn.0042ad40
pop ecx
pop ecx
mov eax, dword [0x42e7c0]
test eax, eax
jne 0x40fb81
cmp byte [0x42e7a8], al
je 0x40fce8
mov edi, dword [section..data]
cmp edi, 5
jbe 0x40fca2
push 0x4000
push eax
mov ecx, section..data
call fcn.0040dfb8
test al, al
je 0x40fca2
mov eax, dword [ebp - 0x3a0]
xor ecx, ecx
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x3a4]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x3bc]
push 4
pop edx
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0x100]
push eax
push 6
push ecx
push 0x42e9c0
push 0x40d91c
push section..data
mov dword [ebp - 0x3c4], ebx
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x3d0], 0x1000000
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], 8
mov dword [ebp - 0xd4], ecx
call fcn.0040df26
mov edi, dword [section..data]
mov dword [0x42e9b8], 2
cmp edi, 5
jbe 0x40fce1
push 0x2000
xor esi, esi
mov ecx, section..data
push esi
call fcn.0040dfb8
test al, al
je 0x40fce1
lea eax, [ebp - 0xc0]
push eax
push 2
push esi
push 0x42e9c0
push 0x40d8d4
push ecx
call fcn.0040df26
xor eax, eax
mov byte [0x42e7a8], al
call fcn.0040de51
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x268], 0x4010f8
call fcn.0041585e
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042a920
leave
ret 0x10