Function at 0x410d6f
Capabilities:
Check for time delay via gettickcount
Check http status code
Check os version
Delete file
Get geographical location
Query or enumerate registry value
Set uefi variable

Disassembly:
push 0x958
mov eax, 0x4417ce
call fcn.0042bb26
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x8dc], eax
xor edi, edi
xor ebx, ebx
inc edi
mov dword [ebp - 4], edi
push ebx
mov dword [ebp - 0x8e0], ebx
call fcn.0042a8e7
pop ecx
mov dword [ebp - 0x8e4], edi
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jle 0x410dc9
mov edx, edi
jmp 0x410dce
mov eax, esi
cdq
idiv esi
mov eax, edx
dec eax
jne 0x410ddd
call fcn.0040a868
call fcn.0040a8e4
cmp dword [ebp + 0x28], 0x10
mov eax, dword [ebp + 0x14]
jae 0x410de9
lea eax, [ebp + 0x14]
lea ecx, [ebp - 0x8e0]
push ecx
mov esi, 0xf003f
push esi
push ebx
push eax
push dword [ebp - 0x8dc]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, 2
jne 0x410ece
cmp dword [ebp + 0x28], 0x10
mov eax, dword [ebp + 0x14]
jae 0x410e19
lea eax, [ebp + 0x14]
push ebx
lea ecx, [ebp - 0x8e0]
push ecx
push ebx
push esi
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x8dc]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push ebx
mov dword [ebp - 0x8d8], eax
call fcn.0042a8e7
cmp dword [ebp + 0x28], 0x10
mov eax, dword [ebp + 0x14]
pop ecx
jae 0x410e4c
lea eax, [ebp + 0x14]
push eax
push dword [ebp - 0x8dc]
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8cc], esp
push 0x39
push 0x448cb8
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 2
call fcn.004274a1
mov byte [ebp - 4], 3
cmp dword [eax + 0x18], 0x10
jb 0x410e94
mov eax, dword [eax + 4]
jmp 0x410e97
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 1
call fcn.00404654
mov eax, dword [ebp - 0x8d8]
xor ebx, ebx
cmp eax, 5
jne 0x410f8c
cmp dword [ebp + 0x28], 0x10
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x8e4], ebx
jae 0x410ee9
lea eax, [ebp + 0x14]
push eax
push dword [ebp - 0x8dc]
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8cc], esp
push 0x3c
push 0x448cf4
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 4
call fcn.00427666
mov byte [ebp - 4], 5
cmp dword [eax + 0x18], 0x10
jb 0x410f31
mov eax, dword [eax + 4]
jmp 0x410f34
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 1
call fcn.00404654
lea eax, [ebp - 0x8c5]
mov byte [ebp - 0x8c5], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410f73
sub eax, ecx
je 0x411021
call fcn.0040a92b
jmp 0x411021
cmp eax, ebx
je 0x411023
cmp dword [ebp + 0x28], 0x10
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x8e4], ebx
jae 0x410fa6
lea ecx, [ebp + 0x14]
push ecx
push dword [ebp - 0x8dc]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8cc], esp
push 0x3f
push 0x448d38
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 6
call fcn.004274a1
mov byte [ebp - 4], 7
cmp dword [eax + 0x18], 0x10
jb 0x410fef
mov eax, dword [eax + 4]
jmp 0x410ff2
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0x14
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 1
call fcn.00404654
xor ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x41104a
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
xor eax, eax
inc eax
jmp 0x41104c
xor eax, eax
dec eax
jne 0x411059
call fcn.0040c095
call fcn.0040a9b0
cmp dword [ebp - 0x8e4], ebx
je 0x412073
cmp dword [ebp - 0x8e0], ebx
je 0x4120b4
push ebx
call fcn.0042a8e7
pop ecx
call fcn.004295cd
call fcn.004295cd
mov dword [ebp - 4], 1
mov dword [ebp - 0x8e4], ebx
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x4110b0
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
xor eax, eax
inc eax
jmp 0x4110b2
xor eax, eax
dec eax
jne 0x4110bf
call fcn.00426054
call fcn.00409a52
lea esi, [ebp - 0x8bc]
call fcn.00403180
lea esi, [ebp - 0x8a0]
call fcn.00403180
lea esi, [ebp - 0x884]
call fcn.00403180
lea esi, [ebp - 0x868]
call fcn.00403180
mov byte [ebp - 4], 0xa
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
dec eax
dec eax
je 0x411104
dec eax
dec eax
je 0x411104
sub eax, 4
jne 0x411119
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call fcn.0040b4a9
call fcn.00401bb5
mov eax, dword [ebp - 0x8dc]
mov esi, dword [ebp + 0x48]
push 0xffffffffffffffff
mov dword [ebp - 0x8c0], eax
push ebx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x8bc]
mov dword [ebp - 0x840], esi
mov dword [ebp - 0x844], ebx
mov dword [ebp - 0x838], 1
mov dword [ebp - 0x83c], ebx
call fcn.004034e3
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004034e3
cmp esi, ebx
je 0x411428
push 0x3ff
lea eax, [ebp - 0x40f]
push ebx
push eax
mov byte [ebp - 0x410], bl
call fcn.00431920
mov esi, 0x400
add esp, 0xc
mov dword [ebp - 0x8d8], esi
call fcn.0040965a
test eax, eax
je 0x4111b1
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
cmp dword [ebp + 0x44], 0x10
mov eax, dword [ebp + 0x30]
jae 0x4111bd
lea eax, [ebp + 0x30]
lea ecx, [ebp - 0x8d8]
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]
cmp eax, ebx
jne 0x4112ba
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4111eb
sub eax, edx
je 0x4112ba
push ebx
call fcn.0042a8e7
pop ecx
push ebx
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x814], 0xf
call fcn.00403957
mov byte [ebp - 4], 0xb
call edi
dec eax
dec eax
je 0x41122a
dec eax
dec eax
je 0x41122a
sub eax, 4
jne 0x41125d
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 4
lea eax, [ebp - 0x8cc]
push eax
push 0x20001009
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x964]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
call fcn.0040aa3e
lea eax, [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
lea eax, [ebp - 0x410]
mov ecx, esp
mov dword [ebp - 0x8cc], esp
push eax
call fcn.00403193
mov edi, dword [ebp - 0x8c4]
call fcn.0042507e
mov esi, eax
call fcn.004295cd
call fcn.004295cd
cmp esi, ebx
mov dword [ebp - 4], 0xb
jge 0x411339
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0xa
call fcn.004035bd
mov ecx, dword [ebp - 0x8c4]
lea eax, [ebp - 0x8d8]
push eax
lea eax, [ebp - 0x8c0]
push eax
call fcn.00412550
cmp eax, ebx
jge 0x41174a
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x4112f0
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x49
push 0x448d78
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x13
call fcn.00427666
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x18], 0x10
jb 0x411687
mov eax, dword [eax + 4]
jmp 0x41168a
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x884]
call fcn.004034e3
sub esp, 0x1c
lea eax, [ebp - 0x410]
mov ecx, esp
mov dword [ebp - 0x8cc], esp
push eax
call fcn.00403193
push edi
lea ecx, [ebp - 0x8c0]
call fcn.00412105
mov esi, eax
call fcn.0040965a
dec eax
jne 0x411385
call fcn.0040aac4
call fcn.0040ab52
cmp esi, ebx
jl 0x4112a8
lea eax, [ebp - 0x8c5]
mov byte [ebp - 0x8c5], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41139c
sub eax, edx
je 0x4113b1
call fcn.0040ab99
call fcn.0040b4a9
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8cc], esp
push eax
call fcn.004031b5
push edi
call fcn.0040e40f
mov edi, eax
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x4113f3
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x4113fd
call fcn.0040abf2
call fcn.0040ac4b
cmp edi, ebx
jl 0x41140b
mov dword [ebp - 0x8e4], 1
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0xa
call fcn.004035bd
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x411b43
mov dword [ebp - 0x8dc], ebx
mov esi, 0x3ff
push esi
lea eax, [ebp - 0x40f]
push ebx
push eax
mov byte [ebp - 0x410], bl
call fcn.00431920
add esp, 0xc
push esi
lea eax, [ebp - 0x80f]
push ebx
push eax
mov byte [ebp - 0x810], bl
call fcn.00431920
add esp, 0xc
push ebx
call fcn.0042a8e7
lea eax, [esi + 1]
pop ecx
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x8ec], eax
call edi
dec eax
dec eax
je 0x411486
dec eax
dec eax
je 0x411486
sub eax, 4
jne 0x411491
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call fcn.0040ad43
push ebx
mov dword [ebp - 0x8d8], ebx
call fcn.0042a8e7
pop ecx
lea eax, [ebp - 0x8ec]
push eax
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x8d8]
push eax
push ebx
lea eax, [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x8dc]
push dword [ebp - 0x8e0]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, ebx
jne 0x4112ba
cmp dword [ebp - 0x8d8], 1
jne 0x41161e
lea eax, [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4114f2
sub eax, edx
je 0x41161e
call fcn.0040965a
lea eax, [ebp - 0x810]
mov dword [ebp - 4], 0xa
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x411516
sub eax, edx
je 0x41161e
push ebx
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x814], 0xf
call fcn.00403957
mov byte [ebp - 4], 0x10
call edi
dec eax
dec eax
je 0x411552
dec eax
dec eax
je 0x411552
sub eax, 4
je 0x411552
xor eax, eax
jmp 0x41155c
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
inc eax
dec eax
jne 0x411569
call fcn.0040add7
call fcn.0040b4a9
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x41158c
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x411591
call fcn.0040ae53
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 - 0x8e8], esp
push eax
call fcn.00403193
mov ecx, dword [ebp - 0x8c4]
call fcn.00424fd0
cmp eax, ebx
jl 0x41160c
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x884]
call fcn.004034e3
push ebx
call fcn.0042a8e7
sub esp, 0x18
lea eax, [ebp - 0x810]
mov ecx, esp
mov dword [ebp - 0x8e8], esp
push eax
call fcn.00403193
push dword [ebp - 0x8c4]
lea ecx, [ebp - 0x8c0]
call fcn.00412105
cmp eax, ebx
jge 0x411639
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0xa
call fcn.004035bd
inc dword [ebp - 0x8dc]
cmp dword [ebp - 0x8dc], 0xc8
jb 0x41142e
jmp 0x4112ba
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push dword [ebp - 0x8c4]
call fcn.0040e40f
cmp eax, ebx
mov dword [ebp - 4], 0x10
jl 0x411670
mov dword [ebp - 0x8e4], 1
push ebx
push 1
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0xa
call fcn.004035bd
jmp 0x411b43
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 0xa
call fcn.00404654
xor ebx, ebx
lea eax, [ebp - 0x884]
call fcn.004031e5
lea eax, [ebp - 0x868]
call fcn.004031e5
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x8a0]
mov dword [ebp - 0x848], ebx
call fcn.004034e3
or dword [ebp - 0x84c], 0xffffffff
call fcn.0040965a
test eax, eax
je 0x411725
push 4
lea eax, [ebp - 0x8d0]
push eax
push 0x20001009
mov esi, 0x400
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x964]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov edi, dword [ebp - 0x8c4]
mov ecx, dword [edi + 0x2e4]
add edi, 0x2d8
cmp ecx, ebx
jne 0x411ffa
mov dword [ebp - 0x8d8], ebx
jmp 0x41200d
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push dword [ebp - 0x8d8]
push dword [ebp - 0x8c4]
call fcn.004241e3
cmp eax, ebx
jge 0x41180d
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41178f
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x46
push 0x448dc8
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x15
call fcn.00427666
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x18], 0x10
jb 0x4117d1
mov eax, dword [eax + 4]
jmp 0x4117d4
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
call fcn.00404654
call fcn.0040965a
mov dword [ebp - 4], 0xa
xor ebx, ebx
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push dword [ebp - 0x8c4]
call fcn.0040e40f
mov esi, eax
call fcn.004295cd
call fcn.004295cd
cmp esi, ebx
mov dword [ebp - 4], 0xa
jge 0x411ab6
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41185f
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x40
push 0x448e10
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
push eax
mov byte [ebp - 4], 0x1b
call fcn.00427738
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x4118a2
mov eax, dword [eax + 4]
jmp 0x4118a5
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 0xa
call fcn.00404654
lea eax, [ebp - 0x8d8]
push eax
lea eax, [ebp - 0x8c0]
push eax
mov ecx, ebx
call fcn.00412550
mov dword [ebp - 0x8cc], eax
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x411913
mov eax, esi
cdq
idiv esi
cmp edx, edi
je 0x41191d
call fcn.0040af19
call fcn.0040af9f
cmp dword [ebp - 0x8cc], edi
jge 0x411976
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x41193a
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x49
push 0x448e58
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x1d
call fcn.00427666
mov byte [ebp - 4], 0x1e
jmp 0x411327
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push ebx
call fcn.0040e40f
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x4119ac
dec eax
dec eax
je 0x4119ac
sub eax, 4
je 0x4119ac
xor eax, eax
jmp 0x4119b9
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
xor eax, eax
inc eax
dec eax
jne 0x4119c6
call fcn.0040afe6
call fcn.0040b0de
cmp esi, edi
jge 0x411ab4
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x4119e3
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x40
push 0x448ea8
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x1f
call fcn.00427666
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x18], 0x10
jb 0x411a25
mov eax, dword [eax + 4]
jmp 0x411a28
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 0xa
call fcn.00404654
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x411a7e
mov eax, esi
cdq
idiv esi
test edx, edx
je 0x4116b9
push 4
lea eax, [ebp - 0x8d0]
push eax
push 0x20001009
mov esi, 0x400
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x964]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
call fcn.0040b164
jmp 0x4116b9
xor ebx, ebx
mov dword [ebp - 0x8e4], 1
cmp dword [ebp - 0x838], ebx
je 0x4116bb
push dword [ebp - 0x8e0]
lea esi, [ebp - 0x8c0]
call fcn.00412ae7
cmp eax, ebx
jl 0x4116bb
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
dec eax
dec eax
je 0x411afe
dec eax
dec eax
je 0x411afe
sub eax, 4
je 0x411afe
xor eax, eax
jmp 0x411b0b
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
xor eax, eax
inc eax
dec eax
jne 0x411f72
call fcn.0040b1bd
push 4
lea eax, [ebp - 0x8d0]
push eax
push 0x20001009
mov esi, 0x400
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x964]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp dword [ebp - 0x8e4], ebx
jne 0x411f72
lea eax, [ebp - 0x8c0]
push eax
push dword [ebp - 0x8c4]
call fcn.00412b4b
cmp eax, ebx
jge 0x411bb7
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411b7a
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x45
push str._DRTSN:
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
push eax
mov byte [ebp - 4], 0x21
call fcn.00427738
mov byte [ebp - 4], 0x22
jmp 0x411327
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
sub esp, 0x1c
lea eax, [ebp - 0x884]
mov ecx, esp
mov dword [ebp - 0x8e8], esp
push eax
mov byte [ebp - 4], 0x23
call fcn.004031b5
mov ecx, dword [ebp - 0x8c4]
mov byte [ebp - 4], 0xa
call fcn.00424108
push ebx
mov esi, eax
call fcn.0042a8e7
pop ecx
call edi
dec eax
dec eax
je 0x411c14
dec eax
dec eax
je 0x411c14
sub eax, 4
je 0x411c14
xor eax, eax
jmp 0x411c21
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
xor eax, eax
inc eax
dec eax
jne 0x411c2e
call fcn.0040b24b
call fcn.0040b4a9
cmp esi, ebx
jge 0x411cea
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411c4b
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x46
push 0x448f38
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x24
call fcn.004273d9
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x18], 0x10
jb 0x411c8d
mov eax, dword [eax + 4]
jmp 0x411c90
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
mov byte [ebp - 4], 0xa
call fcn.00404654
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x411cd3
dec eax
dec eax
je 0x411cd3
sub eax, 4
jne 0x411ce8
push edi
push edi
push edi
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call fcn.0040b292
call fcn.0040b2d5
xor ebx, ebx
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push dword [ebp - 0x8c4]
call fcn.0040e40f
mov edi, eax
lea eax, [ebp - 0x8c5]
mov byte [ebp - 0x8c5], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x411d1d
sub eax, esi
je 0x411d2d
call fcn.0040b375
cmp edi, ebx
jge 0x411f6b
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411d4a
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x40
push 0x448f80
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x26
call fcn.004274a1
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x18], 0x10
jb 0x411d8c
mov eax, dword [eax + 4]
jmp 0x411d8f
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
call fcn.00404654
call fcn.0040965a
lea eax, [ebp - 0x8c0]
push eax
push ebx
mov dword [ebp - 4], 0xa
call fcn.00412b4b
mov esi, eax
call fcn.004011bd
test eax, eax
je 0x411de8
call fcn.0040b409
call fcn.0040b4a9
test esi, esi
jge 0x411e8b
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411e05
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x45
push 0x448fc8
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x2a
call fcn.004273d9
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x18], 0x10
jb 0x411e47
mov eax, dword [eax + 4]
jmp 0x411e4a
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
call fcn.00404654
call fcn.004295cd
call fcn.004295cd
mov dword [ebp - 4], 0xa
jmp 0x4116b9
sub esp, 0x1c
lea eax, [ebp - 0x868]
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push eax
call fcn.004031b5
push ebx
call fcn.0040e40f
push 0
mov esi, eax
call fcn.0042a8e7
pop ecx
test esi, esi
jge 0x411f69
cmp dword [ebp - 0x850], 0x10
mov eax, dword [ebp - 0x864]
jae 0x411ecf
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x82c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x8d0], esp
push 0x40
push 0x449010
call fcn.004081ed
lea edi, [ebp - 0x944]
call fcn.00427366
mov byte [ebp - 4], 0x2e
call fcn.004274a1
mov byte [ebp - 4], 0x2f
cmp dword [eax + 0x18], 0x10
jb 0x411f11
mov eax, dword [eax + 4]
jmp 0x411f14
add eax, 4
mov ebx, dword [ebp - 0x8c4]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x82c]
call fcn.004035bd
lea esi, [ebp - 0x944]
call fcn.00404654
push 0
call fcn.0042a8e7
pop ecx
mov dword [ebp - 4], 0xa
call fcn.0040965a
dec eax
jne 0x4116b9
call fcn.0040b56a
call fcn.0040b5db
jmp 0x4116b9
xor ebx, ebx
push ebx
call fcn.0042a8e7
pop ecx
cmp dword [ebp - 0x850], 0x10
mov ecx, dword [ebp - 0x864]
jae 0x411f87
lea ecx, [ebp - 0x864]
mov eax, dword [ebp - 0x8c4]
add eax, 0x244
cmp dword [eax + 0x18], 0x10
jb 0x411f9d
mov eax, dword [eax + 4]
jmp 0x411fa0
add eax, 4
push ecx
push eax
call fcn.00428ed2
pop ecx
pop ecx
test eax, eax
jne 0x411fb7
mov dword [ebp - 0x844], 1
call fcn.0040965a
test eax, eax
je 0x411725
push 4
lea eax, [ebp - 0x8d0]
push eax
push 0x20001009
mov esi, 0x400
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x964]
push eax
push 0x58
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
call fcn.0040b67b
jmp 0x411725
mov eax, dword [edi + 0x14]
sub eax, ecx
cdq
mov esi, 0x8c
idiv esi
mov dword [ebp - 0x8d8], eax
mov esi, dword [edi + 0x10]
mov eax, esi
sub eax, ecx
cdq
mov ecx, 0x8c
idiv ecx
cmp eax, dword [ebp - 0x8d8]
jae 0x412038
lea eax, [ebp - 0x8c0]
push eax
push 1
push esi
call fcn.004188c9
mov dword [edi + 0x10], eax
jmp 0x412068
mov ebx, esi
lea esi, [ebp - 0x8d4]
call fcn.00419c39
push dword [ebp - 0x8d0]
lea eax, [ebp - 0x8c0]
push dword [ebp - 0x8d4]
push eax
lea eax, [ebp - 0x8d4]
push eax
mov eax, edi
call fcn.00418849
xor ebx, ebx
lea esi, [ebp - 0x8c0]
call fcn.004120d4
cmp dword [ebp - 0x8e0], ebx
je 0x4120b4
push dword [ebp - 0x8e0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x4120aa
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x4120b4
call fcn.0040b6c2
call fcn.0040b750
push ebx
push 1
lea ecx, [ebp + 0x10]
call fcn.004035bd
push ebx
push 1
lea ecx, [ebp + 0x2c]
call fcn.004035bd
xor eax, eax
call fcn.0042bba9
ret 0x44