Function at 0x4157f0
Capabilities:
Get local ipv4 addresses
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x444894
mov eax, dword fs:[0]
push eax
sub esp, 0x890
mov eax, dword [0x4629b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x461144], 1
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x890], esi
mov dword [ebp - 0x85c], eax
jne 0x417060
cmp dword [0x461148], 1
jne 0x417060
push 0x200
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x864], 0x2580
push 0
push eax
call fcn.0042f620
push 0x100
lea eax, [ebp - 0x4c0]
push 0
push eax
call fcn.0042f620
push 0x100
lea eax, [ebp - 0x3c0]
push 0
push eax
call fcn.0042f620
push 0x60
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.0042f620
mov ax, word [0x46c236]
lea ecx, [ebp - 0x794]
add ax, word [0x46c23a]
add esp, 0x30
movzx eax, ax
xor edi, edi
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x834], edi
push 0x4464a0
call fcn.00405090
push 0x4464a0
lea ecx, [ebp - 0x824]
mov dword [ebp - 4], edi
call fcn.00405090
push 0x50
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 1
push edi
push eax
mov dword [ebp - 0x860], edi
call fcn.0042f620
mov ecx, dword [ebp - 0x85c]
add esp, 0xc
push edi
call fcn.0040af80
cmp word [eax], di
je 0x4167de
push 0x3f48
mov dword [ebp - 0x6ec], 0x3f48
call fcn.0042daff
add esp, 4
mov dword [ebp - 0x840], eax
test eax, eax
je 0x415946
push 0x3f48
push edi
push eax
call fcn.0042f620
mov eax, dword [ebp - 0x840]
add esp, 0xc
jmp 0x41594e
xor eax, eax
mov dword [ebp - 0x840], eax
lea ecx, [ebp - 0x6ec]
push ecx
push eax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov ecx, 1
test eax, eax
jne 0x416789
mov eax, dword [ebp - 0x840]
mov edi, eax
mov dword [ebp - 0x83c], edi
test eax, eax
je 0x416763
mov dword [ebp - 0x82c], 0x2582
nop dword [eax + eax]
lea eax, [edi + 8]
push eax
push 0x454a68
lea eax, [ebp - 0x60]
push 0xffffffffffffffff
push eax
call fcn.0040d530
mov ecx, dword [ebp - 0x85c]
lea eax, [ebp - 0x60]
add esp, 0x10
push eax
call fcn.00409580
push eax
call fcn.0043008a
add esp, 8
test eax, eax
jne 0x4159d0
mov edi, dword [edi]
mov dword [ebp - 0x83c], edi
jmp 0x41675b
push 0x35
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push 0x4610a4
lea eax, [ebp - 0x60]
push eax
push str.ControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
push 0x46a8fc
push str._s_s_s_s_s
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x20
mov ecx, 0x469a38
push 0
push 0x36
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x80c]
push eax
call fcn.00405090
push 0
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 2
call fcn.0040af80
cmp word [eax], 0x32
jne 0x415a62
mov edi, dword [edi]
mov dword [ebp - 0x83c], edi
jmp 0x41674c
push 0x4464a0
lea ecx, [ebp - 0x7f4]
call fcn.00405090
push 0x4464a0
lea ecx, [ebp - 0x764]
mov byte [ebp - 4], 3
call fcn.00405090
push 0x4464a0
lea ecx, [ebp - 0x77c]
mov byte [ebp - 4], 4
call fcn.00405090
push 0x4464a0
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 5
call fcn.00405090
push 0x34
mov ecx, 0x46b8a4
mov byte [ebp - 4], 6
call fcn.0040df90
push eax
lea ecx, [ebp - 0x71c]
call fcn.0040aeb0
push 0x4464a0
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 7
call fcn.00405090
push 0x4464a0
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 4], 8
call fcn.00405090
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 9
push eax
push str.ServicesTcpipParametersInterfaces_
push 0x46a8fc
push str._s_s_s
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
mov cl, byte [edi + 0x1b0]
lea eax, [edi + 0x1b0]
add esp, 0x18
mov dword [ebp - 0x828], eax
cmp cl, 0x30
je 0x415b83
test cl, cl
je 0x415b83
push eax
lea ecx, [ebp - 0x704]
call fcn.004088c0
lea eax, [ebp - 0x704]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c200
add esp, 8
lea ecx, [ebp - 0x764]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 9
call fcn.00408900
jmp 0x415bf8
push 1
push 0x49
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x764]
push eax
call fcn.00405130
push 0
lea ecx, [ebp - 0x764]
call fcn.0040af80
cmp word [eax], 0x30
jne 0x415bf8
push 1
push 0x48
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x764]
push eax
call fcn.00405130
mov al, byte [edi + 0x1d8]
lea ecx, [edi + 0x1d8]
mov dword [ebp - 0x838], ecx
cmp al, 0x30
je 0x415c60
test al, al
je 0x415c60
push ecx
lea ecx, [ebp - 0x704]
call fcn.004088c0
lea eax, [ebp - 0x704]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c200
add esp, 8
lea ecx, [ebp - 0x77c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 9
call fcn.00408900
jmp 0x415cd5
push 1
push 0x44
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x77c]
push eax
call fcn.00405130
push 0
lea ecx, [ebp - 0x77c]
call fcn.0040af80
cmp word [eax], 0x30
jne 0x415cd5
push 1
push 0x45
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x77c]
push eax
call fcn.00405130
lea eax, [edi + 0x10c]
push eax
lea ecx, [ebp - 0x704]
call fcn.004088c0
lea eax, [ebp - 0x704]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c200
add esp, 8
lea ecx, [ebp - 0x74c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 9
call fcn.00408900
lea eax, [ebp - 0x74c]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.0040aeb0
lea ecx, [ebp - 0x6e8]
mov byte [ebp - 4], 0xd
call fcn.00406800
cmp eax, 0x24
jbe 0x415e47
push 0x4464a0
push 0x23
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x858]
call fcn.004050d0
push 0x4464a0
push 0x35
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x6e8]
call fcn.00406800
cmp eax, 0x24
jbe 0x415e1c
push 5
push 0x46109c
lea ecx, [ebp - 0x6e8]
call fcn.00409580
push eax
call fcn.0040c4c0
add esp, 0xc
lea ecx, [ebp - 0x6e8]
push eax
push 0
lea eax, [ebp - 0x858]
push eax
call fcn.0040c590
push eax
lea ecx, [ebp - 0x6e8]
call fcn.004050f0
lea ecx, [ebp - 0x858]
call fcn.004050d0
push 0x46109c
push 0x446fe0
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x858]
call fcn.004050d0
mov edi, dword [ebp - 0x834]
lea ecx, [ebp - 0x6e8]
inc edi
push 0
mov dword [ebp - 0x834], edi
call fcn.0040af80
cmp word [eax], 0
jne 0x415e79
lea eax, [ebp - 0x74c]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.0040df10
lea ecx, [ebp - 0x6e8]
call fcn.00409580
push eax
push 0x4549e4
movsx eax, di
push eax
push str._d_s_s
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x18
lea ecx, [ebp - 0x74c]
push 0x4464a0
call fcn.00405130
push 0xc
lea ecx, [ebp - 0x6d0]
call fcn.0040ba70
lea ecx, [ebp - 0x6d0]
call fcn.0040d9a0
push 0x4610a0
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 0xe
call fcn.00405090
lea eax, [ebp - 0x704]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x6d0]
push eax
push dword [ebp - 0x85c]
call fcn.0040b220
add esp, 0xc
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x704]
call fcn.004050d0
lea ecx, [ebp - 0x6d0]
mov dword [ebp - 0x6c4], 0
call fcn.0040c280
test eax, eax
je 0x4162e4
mov esi, dword [ebp - 0x6c4]
xor edi, edi
lea eax, [ebp - 0x60]
push eax
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
call fcn.0043008a
add esp, 8
test eax, eax
je 0x4162c7
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea ecx, [ebp - 0x734]
call fcn.00405090
push 2
push str.__n___
lea eax, [ebp - 0x734]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.0040c410
add esp, 0x10
lea ecx, [ebp - 0x7dc]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x734]
mov byte [ebp - 4], 0xe
call fcn.004050d0
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea ecx, [ebp - 0x734]
call fcn.00405090
push 3
push str.__n___
lea eax, [ebp - 0x734]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x704]
push eax
call fcn.0040c410
add esp, 0x10
lea ecx, [ebp - 0x734]
mov byte [ebp - 4], 0x13
call fcn.004050d0
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea ecx, [ebp - 0x858]
call fcn.00405090
push 4
push str.__n___
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c410
add esp, 0x10
lea ecx, [ebp - 0x74c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x13
call fcn.004050d0
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea ecx, [ebp - 0x858]
call fcn.00405090
push 5
push str.__n___
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c410
add esp, 0x10
lea ecx, [ebp - 0x7c4]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x13
call fcn.004050d0
lea eax, [ebp - 0x704]
push eax
lea ecx, [ebp - 0x7ac]
call fcn.0040aeb0
push 0x200
lea eax, [ebp - 0x6c0]
mov byte [ebp - 4], 0x16
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov ecx, 0x469a38
push 0x35
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push 0x4610a4
lea eax, [ebp - 0x60]
push eax
push str.ControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
push 0x46a8fc
push str._s_s_s_s_s
lea eax, [ebp - 0x6c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x20
mov ecx, 0x469a38
push 2
push 0x36
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x7f4]
push eax
call fcn.00405130
push 0
lea ecx, [ebp - 0x704]
call fcn.0040af80
cmp word [eax], 0
jne 0x4161bb
push 2
push 0x21
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6c0]
push eax
call fcn.00420a30
add esp, 0xc
lea ecx, [ebp - 0x7ac]
push eax
call fcn.00405130
mov eax, dword [ebp - 0x828]
cmp byte [eax], 0x30
jne 0x41621b
push 0x469a44
lea eax, [ebp - 0x7ac]
push eax
lea eax, [ebp - 0x858]
push eax
call fcn.00404aa0
lea ecx, [ebp - 0x71c]
mov byte [ebp - 4], 0x17
push ecx
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.00404a40
add esp, 0x18
lea ecx, [ebp - 0x71c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x858]
jmp 0x4162a8
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0041ff80
add esp, 8
lea ecx, [ebp - 0x71c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
push 0
lea ecx, [ebp - 0x71c]
call fcn.0040af80
cmp word [eax], 0
jne 0x41626c
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x71c]
call fcn.0040df10
jmp 0x4162ad
lea eax, [ebp - 0x71c]
mov ecx, 0x469a38
push eax
push 0x24
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040ca90
add esp, 0xc
lea ecx, [ebp - 0x71c]
push eax
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x7ac]
call fcn.004050d0
lea ecx, [ebp - 0x704]
mov byte [ebp - 4], 0xe
call fcn.004050d0
inc esi
lea ecx, [ebp - 0x6d0]
movzx edi, si
call fcn.0040c280
cmp edi, eax
jb 0x415f34
mov esi, dword [ebp - 0x890]
lea ecx, [ebp - 0x89c]
call fcn.0040d9a0
lea ecx, [ebp - 0x6d0]
push ecx
mov ecx, eax
call fcn.0042bf00
lea ecx, [ebp - 0x89c]
call fcn.0040de10
push 0
lea ecx, [ebp - 0x7c4]
call fcn.0040af80
mov edi, dword [ebp - 0x838]
cmp word [eax], 0x31
jne 0x416356
mov eax, dword [ebp - 0x828]
cmp byte [eax], 0x30
je 0x416345
mov ecx, dword [ebp - 0x860]
mov edx, 1
cmp byte [edi], 0x30
cmovne ecx, edx
mov dword [ebp - 0x860], ecx
jne 0x416356
push 0x40
push 0
push 0x46a95c
call fcn.0042f620
add esp, 0xc
mov eax, dword [ebp - 0x828]
cmp byte [eax], 0x30
je 0x41636d
cmp byte [edi], 0x30
je 0x41636d
push 0x454410
jmp 0x416372
push 0x454a98
lea ecx, [ebp - 0x794]
call fcn.00405200
lea ecx, [ebp - 0x7dc]
call fcn.00409580
lea ecx, [ebp - 0x74c]
mov dword [ebp - 0x6c4], eax
call fcn.00409580
push 1
mov ecx, 0x469a38
mov edi, eax
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push dword [ebp - 0x6c4]
push 0x446fe0
push edi
push eax
push str._s_s_s_s
lea eax, [ebp - 0x4c0]
push 0xffffffffffffffff
push eax
call fcn.00401430
add esp, 0x1c
lea ecx, [ebp - 0x71c]
call fcn.00409580
lea ecx, [ebp - 0x764]
mov dword [ebp - 0x6c4], eax
call fcn.00409580
push 2
mov ecx, 0x469a38
mov edi, eax
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push dword [ebp - 0x6c4]
push 0x446fe0
push edi
push eax
push str._s_s_s_s
lea eax, [ebp - 0x3c0]
push 0xffffffffffffffff
push eax
call fcn.00401430
add esp, 0x1c
lea ecx, [ebp - 0x77c]
call fcn.00409580
push 0x5b
mov ecx, 0x46b8a4
mov edi, eax
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push edi
push 0x446fe0
push eax
push str._s_s_s
lea eax, [ebp - 0xc0]
push 0xffffffffffffffff
push eax
call fcn.00404fa0
add esp, 0x18
cmp word [ebp - 0x834], 1
jne 0x416529
push 0x2580
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x416529
movsx eax, word [0x46c23a]
movsx ecx, word [0x46c236]
inc eax
add ecx, eax
mov eax, dword [0x46c0d4]
add eax, 3
imul ecx, eax
push 0x2580
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x14
mov ecx, 0x46b8a4
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push 0x2580
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
movsx ecx, word [0x46c236]
mov eax, dword [0x46c0d0]
inc ecx
movsx edx, word [0x46c23a]
add edx, ecx
mov dword [ebp - 0x874], 0
mov ecx, dword [0x46c0d4]
lea eax, [eax + eax*8]
mov dword [0x46c1c4], edx
mov dword [ebp - 0x870], eax
lea eax, [ecx + 3]
imul eax, edx
mov dword [ebp - 0x86c], eax
add eax, ecx
mov dword [ebp - 0x868], eax
movups xmm0, xmmword [ebp - 0x874]
movups xmmword [0x46c278], xmm0
mov eax, dword [ebp - 0x82c]
add eax, 2
push eax
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x4165d7
mov eax, dword [ebp - 0x830]
movsx edi, ax
mov eax, dword [ebp - 0x82c]
dec eax
push eax
mov eax, dword [0x46c0d4]
lea ecx, [edi + 1]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x46c0d4]
lea ecx, [edi + 2]
push dword [ebp - 0x82c]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x82c]
lea ecx, [edi + 3]
inc eax
push eax
mov eax, dword [0x46c0d4]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x82c]
lea ecx, [edi + 4]
add eax, 2
push eax
mov eax, dword [0x46c0d4]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x2c0]
push eax
mov eax, dword [ebp - 0x82c]
dec eax
push eax
push esi
call edi
lea eax, [ebp - 0x4c0]
push eax
push dword [ebp - 0x82c]
push esi
call edi
lea eax, [ebp - 0x3c0]
push eax
mov eax, dword [ebp - 0x82c]
inc eax
push eax
push esi
call edi
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x82c]
add eax, 2
push eax
push esi
call edi
mov eax, dword [ebp - 0x834]
lea ecx, [ebp - 0x71c]
add dword [ebp - 0x830], 4
add dword [ebp - 0x864], 4
add dword [ebp - 0x82c], 4
shl eax, 2
mov word [0x46c23c], ax
call fcn.00409580
lea ecx, [ebp - 0x7f4]
mov dword [ebp - 0x6c4], eax
call fcn.00409580
lea ecx, [ebp - 0x74c]
mov dword [ebp - 0x828], eax
call fcn.00409580
lea ecx, [ebp - 0x77c]
mov edi, eax
call fcn.00409580
lea ecx, [ebp - 0x764]
mov dword [ebp - 0x838], eax
call fcn.00409580
push dword [ebp - 0x6c4]
lea ecx, [ebp - 0x60]
push ecx
push dword [ebp - 0x828]
push edi
mov edi, dword [ebp - 0x83c]
lea ecx, [edi + 0x1c0]
push ecx
push dword [ebp - 0x838]
push eax
push 0x454a9c
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x28
lea eax, [ebp - 0x2c0]
lea ecx, [ebp - 0x824]
push eax
call fcn.00405200
mov edi, dword [edi]
lea ecx, [ebp - 0x6d0]
mov dword [ebp - 0x83c], edi
call fcn.0040de10
lea ecx, [ebp - 0x6e8]
call fcn.004050d0
lea ecx, [ebp - 0x7c4]
call fcn.004050d0
lea ecx, [ebp - 0x74c]
call fcn.004050d0
lea ecx, [ebp - 0x71c]
call fcn.004050d0
lea ecx, [ebp - 0x7dc]
call fcn.004050d0
lea ecx, [ebp - 0x77c]
call fcn.004050d0
lea ecx, [ebp - 0x764]
call fcn.004050d0
lea ecx, [ebp - 0x7f4]
call fcn.004050d0
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 1
call fcn.004050d0
test edi, edi
jne 0x415990
mov ecx, 0x46b4f4
call fcn.0042b3d0
lea eax, [ebp - 0x824]
mov ecx, 0x46b4f4
push eax
call fcn.0040df10
mov edi, dword [ebp - 0x834]
mov ecx, 1
cmp di, word [0x46c244]
je 0x41679c
cmp word [0x46c246], 0
je 0x4167a1
test di, di
jne 0x4167c0
push 0
push 0xdac
push 0x46c
push dword [0x46c138]
mov word [0x46c246], cx
call dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp - 0x840]
mov word [0x46c244], di
call fcn.0042db08
add esp, 4
test di, di
jne 0x416df4
lea eax, [ebp - 0x734]
mov dword [ebp - 0x828], 0
push 1
push eax
call fcn.00417db0
add esp, 8
push 0xc
lea ecx, [ebp - 0x6d0]
call fcn.0040ba70
lea ecx, [ebp - 0x6d0]
call fcn.0040d9a0
push 0x4610a0
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x19
call fcn.00405090
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x6d0]
push eax
lea eax, [ebp - 0x734]
push eax
call fcn.0040b220
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x858]
call fcn.004050d0
lea ecx, [ebp - 0x6d0]
mov dword [ebp - 0x838], 0
call fcn.0040c280
test eax, eax
je 0x416dba
mov eax, dword [ebp - 0x864]
xor edi, edi
add eax, 2
mov dword [ebp - 0x82c], eax
push edi
lea ecx, [ebp - 0x6d0]
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push 0x1e
mov ecx, 0x469a38
mov edi, eax
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push edi
push eax
push 0x46a8fc
push str._s_s_s
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x18
lea eax, [ebp - 0x828]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x2c0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x416d97
mov edi, dword [ebp - 0x834]
inc edi
mov dword [ebp - 0x834], edi
cmp di, 1
jne 0x4169c0
push 0x2580
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x4169c0
movsx eax, word [0x46c23a]
movsx ecx, word [0x46c236]
inc eax
add ecx, eax
mov eax, dword [0x46c0d4]
add eax, 3
imul ecx, eax
push 0x2580
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x14
mov ecx, 0x46b8a4
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push 0x2580
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
movsx ecx, word [0x46c236]
mov eax, dword [0x46c0d0]
inc ecx
movsx edx, word [0x46c23a]
add edx, ecx
mov dword [ebp - 0x874], 0
mov ecx, dword [0x46c0d4]
lea eax, [eax + eax*8]
mov dword [0x46c1c4], edx
mov dword [ebp - 0x870], eax
lea eax, [ecx + 3]
imul eax, edx
mov dword [ebp - 0x86c], eax
add eax, ecx
mov dword [ebp - 0x868], eax
movups xmm0, xmmword [ebp - 0x874]
movups xmmword [0x46c278], xmm0
push 0x200
lea eax, [ebp - 0x2c0]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [ebp - 0x6c4], 0x200
mov ecx, 0x469a38
push 0x10
call fcn.0040df90
mov ecx, eax
call fcn.00409580
lea ecx, [ebp - 0x6c4]
push ecx
lea ecx, [ebp - 0x2c0]
push ecx
push 0
push 0
push eax
push dword [ebp - 0x828]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x416d7e
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x858]
call fcn.00405090
push 2
push 0x4610a8
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x6e8]
push eax
call fcn.0040c410
add esp, 0x10
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0x1d
call fcn.004050d0
push 0
lea ecx, [ebp - 0x6e8]
call fcn.0040af80
cmp word [eax], 0
jne 0x416a81
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.00405130
lea ecx, [ebp - 0x6e8]
call fcn.00406800
cmp eax, 0x24
jbe 0x416b8b
push 0x4464a0
push 0x23
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x88c]
call fcn.004050d0
push 0x4464a0
push 0x35
mov ecx, 0x469a38
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x6e8]
call fcn.00406800
cmp eax, 0x24
jbe 0x416b60
push 5
push 0x46109c
lea ecx, [ebp - 0x6e8]
call fcn.00409580
push eax
call fcn.0040c4c0
add esp, 0xc
lea ecx, [ebp - 0x6e8]
push eax
push 0
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c590
push eax
lea ecx, [ebp - 0x6e8]
call fcn.004050f0
lea ecx, [ebp - 0x88c]
call fcn.004050d0
push 0x46109c
push 0x446fe0
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.0040c750
add esp, 0x10
lea ecx, [ebp - 0x88c]
call fcn.004050d0
lea ecx, [ebp - 0x6e8]
call fcn.00409580
push eax
push 0x4549e4
movsx eax, di
push eax
push str._d_s_s
lea eax, [ebp - 0x2c0]
push 0xffffffffffffffff
push eax
call fcn.0040d4b0
add esp, 0x18
mov ecx, 0x46b8a4
push 0x4d
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push 1
mov ecx, 0x469a38
mov edi, eax
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push edi
push str.00_00_00_00_00_00
push eax
push str._s_s_s
lea eax, [ebp - 0x4c0]
push 0xffffffffffffffff
push eax
call fcn.00401430
add esp, 0x18
mov ecx, 0x469a38
push 0x4548ac
push 2
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push 0x447380
lea eax, [ebp - 0x3c0]
push 0xffffffffffffffff
push eax
call fcn.00401430
add esp, 0x14
mov ecx, 0x46b8a4
push 0x4548ac
push 0x446fe0
push 0x5b
call fcn.0040df90
mov ecx, eax
call fcn.00409580
push eax
push str._s_s_s
lea eax, [ebp - 0xc0]
push 0xffffffffffffffff
push eax
call fcn.00404fa0
mov edi, dword [ebp - 0x82c]
add esp, 0x18
lea eax, [edi + 2]
push eax
push esi
mov dword [ebp - 0x6ec], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x416d14
mov eax, dword [ebp - 0x830]
movsx edi, ax
mov eax, dword [ebp - 0x82c]
dec eax
push eax
mov eax, dword [0x46c0d4]
lea ecx, [edi + 1]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x46c0d4]
lea ecx, [edi + 2]
push dword [ebp - 0x82c]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x82c]
lea ecx, [edi + 3]
inc eax
push eax
mov eax, dword [0x46c0d4]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x46c0d4]
lea ecx, [edi + 4]
push dword [ebp - 0x6ec]
add eax, 3
imul ecx, eax
push ecx
push 0x467
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebp - 0x82c]
lea eax, [ebp - 0x2c0]
push eax
lea eax, [edi - 1]
push eax
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x4c0]
push eax
push edi
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x3c0]
push eax
lea eax, [edi + 1]
push eax
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0xc0]
push eax
lea eax, [edi + 2]
push eax
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
add dword [ebp - 0x830], 4
lea ecx, [ebp - 0x6e8]
add edi, 4
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x82c], edi
call fcn.004050d0
mov edi, dword [ebp - 0x834]
push dword [ebp - 0x828]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [edi*4]
mov word [0x46c23c], ax
mov eax, dword [ebp - 0x838]
lea ecx, [ebp - 0x6d0]
inc eax
mov dword [ebp - 0x838], eax
movzx edi, ax
call fcn.0040c280
cmp edi, eax
jb 0x416883
lea ecx, [ebp - 0x89c]
call fcn.0040d9a0
lea ecx, [ebp - 0x6d0]
push ecx
mov ecx, eax
call fcn.0042bf00
lea ecx, [ebp - 0x89c]
call fcn.0040de10
lea ecx, [ebp - 0x6d0]
call fcn.0040de10
lea ecx, [ebp - 0x734]
call fcn.004050d0
mov eax, dword [ebp - 0x830]
lea ecx, [ebp - 0x794]
cwde
mov edi, 0x46b0dc
inc eax
mov dword [0x46c1c8], eax
mov dword [0x46c19c], eax
call fcn.00409580
mov cx, word [eax]
cmp cx, word [edi]
jne 0x416e3c
test cx, cx
je 0x416e38
mov cx, word [eax + 2]
cmp cx, word [edi + 2]
jne 0x416e3c
add eax, 4
add edi, 4
test cx, cx
jne 0x416e16
xor eax, eax
jmp 0x416e41
sbb eax, eax
or eax, 1
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
je 0x416ec6
cmp dword [ebp - 0x860], 1
jne 0x416ec6
mov eax, dword [0x46c37c]
test eax, eax
je 0x416e64
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov eax, dword [0x46c308]
mov ecx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x416e86
push eax
call ecx
mov ecx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x46c308], 0
mov eax, dword [0x46c314]
test eax, eax
je 0x416e9c
push eax
call ecx
mov dword [0x46c308], 0
push 0
push 0
push 0x5bb
push esi
mov dword [0x46c37c], 0
mov dword [0x46c224], 0
mov dword [0x46c214], 0
call edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x794]
call fcn.00409580
push eax
push 0x46b0dc
call fcn.0040d900
movsx eax, word [0x46c23a]
add esp, 0xc
movsx ecx, word [0x46c236]
mov edx, dword [ebp - 0x830]
add ecx, eax
movsx eax, dx
cmp eax, ecx
je 0x41704a
mov ax, word [0x46c238]
cmp ax, word [0x46c23c]
jne 0x416f1b
cmp dword [ebp + 0x10], 0
je 0x41704a
test ax, ax
je 0x416f9a
push 1
push esi
call fcn.00424ee0
add esp, 8
push 0x2329
push 0
push 0x465
push esi
call edi
push 0x232a
push 0
push 0x465
push esi
call edi
push 0x232b
push 0
push 0x465
push esi
call edi
push 0x232c
push 0
push 0x465
push esi
call edi
push 0x232d
push 0
push 0x465
push esi
call edi
mov di, word [0x46c23c]
cmp di, word [0x46e5e8]
movzx edx, word [0x46e5e8]
movzx eax, di
cmovne edx, eax
mov word [0x46e5e8], dx
jmp 0x416fa1
mov di, word [0x46c23c]
mov ecx, dword [0x46c0d4]
mov word [0x46c238], di
mov edi, dword [0x46c0d0]
mov esi, dword [ebp - 0x890]
lea edx, [ecx + 3]
mov dword [ebp - 0x874], 0
push 0
lea eax, [edi + edi*8]
mov edi, dword [ebp - 0x830]
mov dword [ebp - 0x870], eax
movsx eax, di
inc eax
imul eax, edx
mov dword [ebp - 0x86c], eax
add eax, ecx
mov dword [ebp - 0x868], eax
mov eax, dword [0x46c19c]
movups xmm0, xmmword [ebp - 0x874]
inc eax
imul eax, edx
movups xmmword [0x46c288], xmm0
push eax
mov eax, dword [0x46c0d0]
shl eax, 4
sub eax, dword [0x46c0d0]
shl eax, 3
push eax
push dword [0x46c118]
push dword [0x46c114]
push 1
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x46c0d4]
movsx ecx, di
add eax, 3
inc ecx
imul eax, ecx
push 1
push eax
push 0x468
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x824]
call fcn.004050d0
lea ecx, [ebp - 0x794]
call fcn.004050d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042d960
mov esp, ebp
pop ebp
ret