Function at 0x41092b
Capabilities:
Check for time delay via gettickcount
Check http status code
Check os version
Get geographical location
Query or enumerate registry value

Disassembly:
push 0x95c
mov eax, 0x441005
call fcn.0042b376
mov eax, dword [ebp + 8]
mov edi, ecx
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8e4], edi
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebx, ebx
push ebx
mov esi, eax
call fcn.0042a13f
mov dword [ebp - 0x8d0], esi
fild dword [ebp - 0x8d0]
pop ecx
mov dword [ebp - 0x8cc], eax
test esi, esi
jge 0x41097f
fadd qword [0x44a9c8]
call fcn.00438ef0
fild dword [ebp - 0x8cc]
mov eax, dword [ebp - 0x8cc]
test eax, eax
jge 0x41099a
fadd qword [0x44a9c8]
fcompp
fnstsw ax
test ah, 5
jp 0x4109ae
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor eax, eax
inc eax
jmp 0x4109b0
xor eax, eax
dec eax
jne 0x4109bd
call fcn.0040aa9a
call fcn.0040aaf3
cmp dword [ebp + 0x24], 0x10
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x8e0], ebx
jae 0x4109cf
lea eax, [ebp + 0x10]
lea ecx, [ebp - 0x8e0]
push ecx
mov esi, 0xf003f
push esi
push ebx
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x8dc], eax
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
mov dword [ebp - 0x8cc], edx
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
cmp dword [ebp - 0x8cc], edx
setl al
cmp al, bl
je 0x410a36
movzx eax, al
mov dword [ebp - 0x8cc], eax
fild dword [ebp - 0x8cc]
call fcn.00439020
fstp dword [ebp - 0x8cc]
fld dword [ebp - 0x8cc]
jmp 0x410a49
fldz
call fcn.00438ef0
fstp dword [ebp - 0x8cc]
fld dword [ebp - 0x8cc]
call fcn.00439110
cmp eax, ebx
je 0x410a64
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
cmp dword [ebp - 0x8dc], 2
jne 0x410b23
cmp dword [ebp + 0x24], 0x10
mov eax, dword [ebp + 0x10]
jae 0x410a7d
lea eax, [ebp + 0x10]
push ebx
lea ecx, [ebp - 0x8e0]
push ecx
push ebx
push esi
push ebx
push ebx
push ebx
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp dword [ebp + 0x24], 0x10
mov dword [ebp - 0x8dc], eax
mov eax, dword [ebp + 0x10]
jae 0x410aa4
lea eax, [ebp + 0x10]
push eax
push edi
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x39
push 0x4482ec
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00427269
mov byte [ebp - 4], 3
cmp dword [eax + 0x18], 0x10
jb 0x410ae9
mov eax, dword [eax + 4]
jmp 0x410aec
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 1
call fcn.00417161
mov edi, dword [ebp - 0x8e4]
xor ebx, ebx
cmp dword [ebp - 0x8dc], 5
jne 0x410b91
cmp dword [ebp + 0x24], 0x10
mov eax, dword [ebp + 0x10]
jae 0x410b38
lea eax, [ebp + 0x10]
push eax
push edi
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x3c
push 0x448328
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 4
call fcn.00426f18
mov byte [ebp - 4], 5
cmp dword [eax + 0x18], 0x10
jb 0x410b7b
mov eax, dword [eax + 4]
jmp 0x410b7e
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0x10
jmp 0x410c08
cmp dword [ebp - 0x8dc], ebx
je 0x410c29
cmp dword [ebp + 0x24], 0x10
mov eax, dword [ebp + 0x10]
jae 0x410ba9
lea eax, [ebp + 0x10]
push eax
push edi
push dword [ebp - 0x8dc]
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x3f
push str._DRTSN
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.004270be
mov byte [ebp - 4], 7
cmp dword [eax + 0x18], 0x10
jb 0x410bf4
mov eax, dword [eax + 4]
jmp 0x410bf7
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0x14
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
call fcn.00417161
xor ebx, ebx
jmp 0x411a6c
cmp dword [ebp - 0x8e0], ebx
je 0x411a80
lea esi, [ebp - 0x8bc]
mov dword [ebp - 0x8e4], ebx
call fcn.00402e5f
lea esi, [ebp - 0x8a0]
call fcn.00402e5f
lea esi, [ebp - 0x884]
call fcn.00402e5f
lea esi, [ebp - 0x868]
call fcn.00402e5f
mov eax, dword [ebp + 0x44]
mov byte [ebp - 4], 8
push ebx
mov dword [ebp - 0x840], eax
call fcn.0042a13f
pop ecx
call fcn.004094e1
dec eax
jne 0x410c8d
call fcn.0040ab87
call fcn.0040abca
mov dword [ebp - 0x844], ebx
mov dword [ebp - 0x838], 1
call fcn.00428e21
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.00428e21
cdq
idiv esi
cmp edx, esi
jg 0x410cc0
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x410cc5
call fcn.0040ac5e
mov dword [ebp - 0x8c0], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x410cf2
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
call fcn.0040acf2
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x8bc]
mov dword [ebp - 0x83c], ebx
call fcn.004031c2
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004031c2
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x410d3b
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
mov dword [ebp - 4], 8
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x410d63
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
xor eax, eax
inc eax
jmp 0x410d65
xor eax, eax
dec eax
jne 0x410d72
call fcn.0040ad86
call fcn.0040c1a4
cmp dword [ebp + 0x44], ebx
je 0x410fd9
push 0x3ff
lea eax, [ebp - 0x40f]
push ebx
push eax
mov byte [ebp - 0x410], bl
call fcn.00431170
mov eax, dword [ebp + 0x2c]
add esp, 0xc
cmp dword [ebp + 0x40], 0x10
mov dword [ebp - 0x8cc], 0x400
jae 0x410dac
lea eax, [ebp + 0x2c]
lea ecx, [ebp - 0x8cc]
push ecx
lea ecx, [ebp - 0x410]
push ecx
push ebx
push ebx
push eax
push dword [ebp - 0x8e0]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push ebx
mov esi, eax
call fcn.0042a13f
pop ecx
cmp esi, ebx
jne 0x410ead
lea eax, [ebp - 0x8c1]
mov byte [ebp - 0x8c1], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410de9
sub eax, edx
je 0x410df9
call fcn.0040ae7e
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x410e23
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call fcn.0040aec5
call fcn.0040af59
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410e2c
sub eax, edx
je 0x410ead
push ebx
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x814], 0xf
call fcn.00403636
mov byte [ebp - 4], 0xb
call fcn.004094e1
dec eax
jne 0x410e63
call fcn.0040af9c
call fcn.0040c1a4
lea eax, [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
lea eax, [ebp - 0x410]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.00402e72
mov edi, dword [ebp - 0x8c8]
call fcn.00424ecb
cmp eax, ebx
push ebx
jge 0x410f2c
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 8
call fcn.0040329c
mov ecx, dword [ebp - 0x8c8]
lea eax, [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x8c0]
push eax
call fcn.00411f1c
cmp eax, ebx
jge 0x41135a
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x410ee3
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x49
push 0x4483a8
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x11
call fcn.00426f18
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x18], 0x10
jb 0x4112cc
mov eax, dword [eax + 4]
jmp 0x4112cf
call fcn.0042a13f
pop ecx
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x884]
call fcn.004031c2
sub esp, 0x1c
lea eax, [ebp - 0x410]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.00402e72
push edi
lea ecx, [ebp - 0x8c0]
call fcn.00411ad1
mov esi, eax
call fcn.004094e1
test eax, eax
je 0x410f7a
call fcn.0040afe7
cmp esi, ebx
jge 0x410f84
push ebx
jmp 0x410e9c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x410fad
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
inc eax
jmp 0x410faf
xor eax, eax
dec eax
jne 0x410fbc
call fcn.0040b07b
call fcn.0040b101
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.00402e94
push edi
jmp 0x4112a2
mov dword [ebp - 0x8dc], ebx
push 0x3ff
lea eax, [ebp - 0x40f]
push ebx
push eax
mov byte [ebp - 0x410], bl
call fcn.00431170
add esp, 0xc
call fcn.00428e21
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.00428e21
cdq
idiv esi
cmp edx, esi
jg 0x41101d
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x411022
call fcn.0040b1a1
push 0x3ff
lea eax, [ebp - 0x80f]
push ebx
push eax
mov byte [ebp - 0x810], bl
call fcn.00431170
add esp, 0xc
lea eax, [ebp - 0x8ec]
push eax
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x8cc]
push eax
push ebx
lea eax, [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x8dc]
mov esi, 0x400
push dword [ebp - 0x8e0]
mov dword [ebp - 0x8d0], esi
mov dword [ebp - 0x8ec], esi
mov dword [ebp - 0x8cc], ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, ebx
jne 0x410ead
call fcn.0041e2de
dec eax
jne 0x4110c6
call fcn.0040b212
push 4
lea eax, [ebp - 0x948]
push eax
push 0x20001009
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x968]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp dword [ebp - 0x8cc], 1
jne 0x41126a
push ebx
call fcn.0042a13f
pop ecx
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x4110f9
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
mov dword [ebp - 4], 8
call fcn.004094e1
dec eax
jne 0x411112
call fcn.0040b283
call fcn.0040b2dc
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41111b
sub eax, edx
je 0x41126a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x411141
dec eax
dec eax
je 0x411141
sub eax, 4
je 0x411141
xor eax, eax
jmp 0x41114b
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
xor eax, eax
inc eax
dec eax
jne 0x411170
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
call esi
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
call esi
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
lea eax, [ebp - 0x810]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x411179
sub eax, edx
je 0x41126a
push ebx
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x814], 0xf
call fcn.00403636
lea eax, [ebp - 0x8c1]
mov byte [ebp - 0x8c1], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4111ad
sub eax, edx
je 0x4111bd
call fcn.0040b370
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x4111dc
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
lea eax, [ebp - 0x8d4]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
lea eax, [ebp - 0x410]
mov ecx, esp
mov dword [ebp - 0x8e8], esp
push eax
mov dword [ebp - 4], 0xe
call fcn.00402e72
mov ecx, dword [ebp - 0x8c8]
call fcn.00424e1d
cmp eax, ebx
jl 0x411258
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x884]
call fcn.004031c2
sub esp, 0x1c
lea eax, [ebp - 0x810]
mov ecx, esp
mov dword [ebp - 0x8e8], esp
push eax
call fcn.00402e72
push dword [ebp - 0x8c8]
lea ecx, [ebp - 0x8c0]
call fcn.00411ad1
cmp eax, ebx
jge 0x411285
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 8
call fcn.0040329c
inc dword [ebp - 0x8dc]
cmp dword [ebp - 0x8dc], 0xc8
jb 0x410fdf
jmp 0x410ead
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push dword [ebp - 0x8c8]
call fcn.0040de4a
cmp eax, ebx
jl 0x4112b5
mov dword [ebp - 0x8e4], 1
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 8
call fcn.0040329c
jmp 0x411645
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
xor ebx, ebx
lea eax, [ebp - 0x884]
call fcn.00402ec4
lea eax, [ebp - 0x868]
call fcn.00402ec4
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x8a0]
mov dword [ebp - 0x848], ebx
call fcn.004031c2
or dword [ebp - 0x84c], 0xffffffff
mov edi, dword [ebp - 0x8c8]
mov ecx, dword [edi + 0x2e4]
add edi, 0x2d8
cmp ecx, ebx
jne 0x4119c5
mov dword [ebp - 0x8cc], ebx
jmp 0x4119d8
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push dword [ebp - 0x8cc]
push dword [ebp - 0x8c8]
call fcn.00423f3a
cmp eax, ebx
jge 0x411415
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41139f
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x46
push 0x4483f8
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x13
call fcn.0042700a
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x4113e1
mov eax, dword [eax + 4]
jmp 0x4113e4
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
xor ebx, ebx
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push dword [ebp - 0x8c8]
call fcn.0040de4a
cmp eax, ebx
jge 0x41160a
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411454
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x40
push 0x448440
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x15
call fcn.00426f82
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x18], 0x10
jb 0x411496
mov eax, dword [eax + 4]
jmp 0x411499
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
lea eax, [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x8c0]
push eax
mov ecx, ebx
call fcn.00411f1c
test eax, eax
jge 0x411596
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x4114fa
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x49
push 0x448488
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x17
call fcn.00426f82
mov byte [ebp - 4], 0x18
cmp dword [eax + 0x18], 0x10
jb 0x41153c
mov eax, dword [eax + 4]
jmp 0x41153f
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
call fcn.004042f4
dec eax
jne 0x4112fe
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
call fcn.0040b3f6
jmp 0x4112fe
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push ebx
call fcn.0040de4a
test eax, eax
jge 0x411608
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x4115cc
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x40
push 0x4484d8
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x19
call fcn.00426f18
mov byte [ebp - 4], 0x1a
jmp 0x410f1a
xor ebx, ebx
mov dword [ebp - 0x8e4], 1
cmp dword [ebp - 0x838], ebx
je 0x411300
push dword [ebp - 0x8e0]
lea esi, [ebp - 0x8c0]
call fcn.004124b2
cmp eax, ebx
jl 0x411300
call fcn.00409532
mov dword [ebp - 4], 8
cmp dword [ebp - 0x8e4], ebx
jne 0x41193e
lea eax, [ebp - 0x8c0]
push eax
push dword [ebp - 0x8c8]
call fcn.00412516
cmp eax, ebx
jge 0x4116ba
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41167c
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x45
push 0x448520
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.00427269
mov byte [ebp - 4], 0x1e
jmp 0x410f1a
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
sub esp, 0x1c
lea eax, [ebp - 0x884]
mov ecx, esp
mov dword [ebp - 0x8e8], esp
push eax
mov byte [ebp - 4], 0x1f
call fcn.00402e94
mov ecx, dword [ebp - 0x8c8]
mov byte [ebp - 4], 8
call fcn.00423e84
cmp eax, ebx
jge 0x41178e
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411718
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x46
push 0x448568
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x20
call fcn.00426f18
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x18], 0x10
jb 0x41175a
mov eax, dword [eax + 4]
jmp 0x41175d
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
xor ebx, ebx
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push dword [ebp - 0x8c8]
call fcn.0040de4a
cmp eax, ebx
jge 0x41193e
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x4117cd
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x40
push 0x4485b0
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x22
call fcn.0042700a
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x18], 0x10
jb 0x41180f
mov eax, dword [eax + 4]
jmp 0x411812
add eax, 4
mov ebx, dword [ebp - 0x8c8]
push eax
push 1
call fcn.0040e8e1
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.0040329c
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 8
call fcn.00417161
lea eax, [ebp - 0x8c1]
mov byte [ebp - 0x8c1], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411851
sub eax, ecx
je 0x411866
call fcn.0040b439
call fcn.00401d8f
lea eax, [ebp - 0x8c0]
push eax
push ebx
call fcn.00412516
test eax, eax
jge 0x4118ca
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41188c
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x45
push str._DRTSN:
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.004270be
mov byte [ebp - 4], 0x25
jmp 0x410f1a
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push eax
call fcn.00402e94
push ebx
call fcn.0040de4a
test eax, eax
jge 0x41193c
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411900
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d4], esp
push 0x40
push 0x448640
call fcn.0040801d
lea edi, [ebp - 0x944]
call fcn.00426ea5
mov byte [ebp - 4], 0x26
call fcn.00426f18
mov byte [ebp - 4], 0x27
jmp 0x410f1a
xor ebx, ebx
cmp dword [ebp - 0x850], 0x10
mov ecx, dword [ebp - 0x864]
jae 0x411953
lea ecx, [ebp - 0x864]
mov eax, dword [ebp - 0x8c8]
add eax, 0x244
cmp dword [eax + 0x18], 0x10
jb 0x411969
mov eax, dword [eax + 4]
jmp 0x41196c
add eax, 4
push ecx
push eax
call fcn.00428726
pop ecx
pop ecx
test eax, eax
jne 0x411995
mov dword [ebp - 0x844], 1
call fcn.004094e1
dec eax
jne 0x411995
call fcn.0040b4be
call fcn.00409b8b
lea eax, [ebp - 0x8c1]
mov byte [ebp - 0x8c1], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4119a4
sub eax, edx
je 0x4119b9
call fcn.00401d8f
call fcn.0040b517
push ebx
call fcn.0042a13f
pop ecx
jmp 0x411335
mov eax, dword [edi + 0x14]
sub eax, ecx
cdq
mov esi, 0x8c
idiv esi
mov dword [ebp - 0x8cc], eax
mov esi, dword [edi + 0x10]
mov eax, esi
sub eax, ecx
cdq
mov ecx, 0x8c
idiv ecx
cmp eax, dword [ebp - 0x8cc]
jae 0x411a03
lea eax, [ebp - 0x8c0]
push eax
push 1
push esi
call fcn.00417d4b
mov dword [edi + 0x10], eax
jmp 0x411a33
mov ebx, esi
lea esi, [ebp - 0x8d8]
call fcn.004190fa
push dword [ebp - 0x8d4]
lea eax, [ebp - 0x8c0]
push dword [ebp - 0x8d8]
push eax
lea eax, [ebp - 0x8d8]
push eax
mov eax, edi
call fcn.00417ccb
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x411a61
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
call fcn.0040b5b7
call fcn.0040b63d
lea esi, [ebp - 0x8c0]
call fcn.00411aa0
cmp dword [ebp - 0x8e0], ebx
je 0x411a80
push dword [ebp - 0x8e0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 1
lea ecx, [ebp + 0xc]
call fcn.0040329c
push ebx
push 1
lea ecx, [ebp + 0x28]
call fcn.0040329c
xor eax, eax
call fcn.0042b3f9
ret 0x40