Function at 0x1001661f
Capabilities:
Create thread

Disassembly:
push 0x54
mov eax, 0x1007f2f2
call fcn.10063ebe
xor ebx, ebx
mov dword [ebp - 4], ebx
mov esi, dword [ebp + 8]
cmp byte [esi + 0x143], bl
jne 0x10016650
push 0xfffffffffffffffb
pop ebx
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, ebx
jmp 0x10016f26
push esi
call fcn.10016408
test al, al
je 0x1001665e
push 0x65
jmp 0x1001663d
call fcn.10016587
mov edi, eax
mov eax, esi
call fcn.10016598
cmp edi, ebx
je 0x10016674
push 0x64
jmp 0x1001663d
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
push ecx
mov byte [ebp - 4], 1
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov edi, 0x1008b4c8
call fcn.100022a8
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x48], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 1
call fcn.1000782d
add esp, 0xc
cmp dword [ebp - 0x5c], 7
jae 0x100166d4
lea esi, [ebp - 0x60]
call fcn.100025d5
push 2
jmp 0x1001663d
cmp dword [ebp - 0x5c], ebx
ja 0x100166e3
push 0x80070057
call fcn.10002a17
mov esi, dword [ebp - 0x60]
mov eax, dword [esi]
push 0x10
pop edi
sub eax, edi
call fcn.1000296d
add eax, edi
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x5c], 1
jbe 0x100166d9
mov eax, dword [esi + 4]
sub eax, edi
call fcn.1000296d
add eax, edi
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x5c], 2
jbe 0x100166d9
mov eax, dword [esi + 8]
sub eax, edi
call fcn.1000296d
add eax, edi
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x5c], 3
jbe 0x100166d9
mov eax, dword [esi + 0xc]
sub eax, edi
call fcn.1000296d
lea edi, [eax + 0x10]
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 6
cmp dword [edi - 0xc], ebx
jne 0x10016760
push 0x1008b4cc
lea eax, [ebp - 0x1c]
push eax
call fcn.100027a0
mov edi, dword [ebp - 0x1c]
cmp dword [edi - 0xc], ebx
jl 0x100166d9
movzx eax, word [edi]
push eax
call fcn.1005bfee
pop ecx
test eax, eax
jle 0x100167a5
push edi
call fcn.10059e05
pop ecx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.1001479b
pop ecx
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.100022f6
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
call fcn.100029ea
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi - 0xc]
cmp eax, 2
jle 0x10016863
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
push 0x2001f
push 0x1008b4d4
push reloc.WS2_32.dll_bind
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.1000445a
test eax, eax
jne 0x100167f6
lea eax, [ebp - 0x3c]
push eax
push str.DisableErrorOnInvalidLanguageCode
lea eax, [ebp - 0x4c]
push eax
call fcn.1000441f
lea esi, [ebp - 0x4c]
call fcn.1000448d
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 1
je 0x10016851
mov eax, dword [0x100aa3bc]
mov ecx, 0x100aa3bc
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x38], eax
push edi
push 0x1008b550
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 9
call fcn.100027be
mov esi, dword [ebp - 0x38]
pop ecx
pop ecx
push 0x6e
push 1
push ecx
add esi, 0xfffffff0
mov eax, esi
mov dword [ebp - 0x50], esp
mov edi, esp
call fcn.1000296d
mov ecx, dword [ebp + 8]
push ebx
add eax, 0x10
push 0x12
mov dword [edi], eax
call fcn.1001ae54
mov eax, esi
call fcn.100029ea
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.1000448d
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x5c], 4
jbe 0x100166d9
lea eax, [esi + 0x10]
push eax
mov ecx, 0x1008b54c
call fcn.10002446
neg eax
sbb al, al
inc al
cmp dword [ebp - 0x5c], 5
mov byte [ebp - 0x11], al
jbe 0x100166d9
push dword [esi + 0x14]
call fcn.10059e1b
cmp dword [ebp - 0x5c], 6
pop ecx
mov dword [ebp - 0x20], eax
jbe 0x100166d9
push dword [esi + 0x18]
call fcn.10059e1b
pop ecx
mov dword [ebp - 0x2c], eax
call fcn.1001e712
cmp dword [ebp - 0x2c], ebx
setne cl
mov byte [eax + 3], cl
cmp dword [ebp - 0x2c], ebx
je 0x100168e4
call fcn.1001e174
mov byte [eax + 0x13], bl
mov eax, dword [ebp + 8]
cmp byte [eax + 0x138], bl
je 0x100168e4
mov eax, dword [eax + 0x134]
cmp eax, ebx
je 0x100168e4
mov byte [eax + 0x76], 1
mov esi, dword [ebp - 0x28]
cmp dword [esi - 0xc], ebx
je 0x10016eea
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], ebx
je 0x10016eea
lea eax, [ebp - 0x28]
push eax
mov ecx, str.748ad6d80864338c9c03b664839d8161
call fcn.10002446
test eax, eax
jne 0x1001692e
push 0x69
push 1
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov edi, str._rtf1_colortbl__red0green0_blue0__red255green0_blue0_cf2Status_ERROR__cf1_OpenCandy_was_initialized_with_a_test_key._Do_not_forget_to_change_the_test_key_748ad6d80864338c9c03b664839d8161_to_your_companys_product_key.par
call fcn.100022a8
mov ecx, dword [ebp + 8]
push ebx
push 0x12
call fcn.1001ae54
lea eax, [ebp - 0x24]
push eax
mov ecx, str.dfb3a60d6bfdb55c50e1ef53249f1198
call fcn.10002446
test eax, eax
jne 0x10016960
push 0x6a
push 1
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
mov edi, str._rtf1_colortbl__red0green0_blue0__red255green0_blue0_cf2Status_ERROR__cf1_OpenCandy_was_initialized_with_a_test_secret._Do_not_forget_to_change_the_test_secret_dfb3a60d6bfdb55c50e1ef53249f1198_to_your_companys_product_secret.par
call fcn.100022a8
mov ecx, dword [ebp + 8]
push ebx
push 0x12
call fcn.1001ae54
cmp dword [ebp - 0x20], 0xbb8
jge 0x10016975
push 0x85
mov edi, str._rtf1_colortbl__red0green0_blue0__red255green0_blue0_cf2WARNING__cf1_The_maximum_initialization_time_you_have_set_is_shorter_than_recommended._Under_poor_network_conditions_the_volume_of_offers_made_through_your_installer_may_be_decreased.par
jmp 0x10016988
cmp dword [ebp - 0x20], 0x2710
jle 0x100169a0
push 0x86
mov edi, str._rtf1_colortbl__red0green0_blue0__red255green0_blue0_cf2WARNING__cf1_The_maximum_initialization_time_you_have_set_is_longer_than_recommended._Under_poor_network_conditions_the_installer_may_take_a_long_time_to_start_for_some_users.par
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.100022a8
mov ecx, dword [ebp + 8]
push ebx
push 0x12
call fcn.1001ae54
call fcn.10028215
push 0x24
call fcn.10059e60
pop ecx
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x100169c3
push eax
call fcn.10016f2e
mov dword [ebp - 0x18], eax
jmp 0x100169c6
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x44]
mov edi, 0xfde9
push edi
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov esi, esp
mov dword [ebp - 0x3c], eax
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
call fcn.10006dfa
mov esi, dword [ebp - 0x18]
pop ecx
pop ecx
push eax
mov dword [ebp - 0x38], eax
call fcn.10027362
cmp dword [ebp - 0x38], ebx
je 0x10016a0a
push dword [ebp - 0x38]
call fcn.1005a1d0
pop ecx
mov eax, dword [ebp - 0x28]
push edi
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov esi, esp
mov dword [ebp - 0x38], eax
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
call fcn.10006dfa
mov esi, dword [ebp - 0x18]
pop ecx
pop ecx
push eax
add esi, 8
mov dword [ebp - 0x34], eax
call fcn.10027362
cmp dword [ebp - 0x34], ebx
je 0x10016a48
push dword [ebp - 0x34]
call fcn.1005a1d0
pop ecx
mov eax, dword [ebp - 0x24]
push edi
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov esi, esp
mov dword [ebp - 0x34], eax
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
call fcn.10006dfa
mov esi, dword [ebp - 0x18]
pop ecx
pop ecx
push eax
add esi, 0x10
mov dword [ebp - 0x30], eax
call fcn.10027362
cmp dword [ebp - 0x30], ebx
je 0x10016a86
push dword [ebp - 0x30]
call fcn.1005a1d0
pop ecx
mov eax, dword [ebp - 0x1c]
push edi
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov esi, esp
mov dword [ebp - 0x30], eax
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
call fcn.10006dfa
mov edi, dword [ebp - 0x18]
pop ecx
pop ecx
push eax
lea esi, [edi + 0x18]
mov dword [ebp - 0x40], eax
call fcn.10027362
cmp dword [ebp - 0x40], ebx
je 0x10016ac4
push dword [ebp - 0x40]
call fcn.1005a1d0
pop ecx
mov al, byte [ebp - 0x11]
mov byte [edi + 0x20], al
mov edi, dword [ebp + 8]
add edi, 0xc
lea eax, [ebp - 0x28]
call fcn.100022f6
mov esi, dword [ebp + 8]
lea edi, [esi + 0x10]
lea eax, [ebp - 0x24]
call fcn.100022f6
cmp dword [ebp - 0x2c], ebx
je 0x10016b60
push ebx
push ebx
push ecx
mov eax, esp
mov dword [ebp + 8], esp
push eax
mov edi, str.Status_OK._OpenCandy_has_been_set_as_a_secondary_offer._No_OpenCandy_offer_will_be_shown.
call fcn.100022a8
push ebx
push 0xc
push ecx
mov byte [ebp - 4], 0xb
call fcn.10016053
pop ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.1001ae54
cmp dword [ebp - 0x2c], 0xffffffff
je 0x10016b2b
call fcn.1001e712
mov ecx, dword [ebp - 0x18]
push eax
call fcn.1001e76e
push dword [ebp - 0x18]
call fcn.10016f72
mov eax, dword [ebp - 0x30]
call fcn.100029ea
mov eax, dword [ebp - 0x34]
call fcn.100029ea
mov eax, dword [ebp - 0x38]
call fcn.100029ea
mov eax, dword [ebp - 0x3c]
call fcn.100029ea
lea esi, [ebp - 0x60]
call fcn.100025d5
jmp 0x1001663e
cmp byte [ebp - 0x11], bl
je 0x10016dd5
push ebx
push ebx
push ebx
push ebx
mov dword [esi + 0x150], ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push fcn.10017077
push dword [ebp - 0x18]
mov dword [esi + 0x148], eax
push 3
call fcn.10030933
add esp, 0x10
push esi
call fcn.1001b5c2
push dword [ebp - 0x20]
mov edi, eax
push dword [esi + 0x148]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
mov dword [ebp - 0x48], eax
call fcn.1001b5c2
mov dword [ebp - 0x2c], ebx
cmp eax, edi
jbe 0x10016bc7
mov ecx, dword [ebp - 0x20]
sub eax, edi
cmp eax, ecx
jae 0x10016bc7
sub ecx, eax
mov dword [ebp - 0x2c], ecx
push ebx
push ebx
lea eax, [ebp - 0x40]
push eax
push ecx
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
push ecx
mov byte [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DoInitialize_Complete._Seconds_time_from_startup:
push ecx
mov ecx, eax
call fcn.10004145
pop ecx
pop ecx
push ebx
push 0x13
mov ecx, esi
call fcn.1001ae54
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [0x100aa3bc]
mov edi, 0x100aa3bc
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x18]
push eax
push ecx
mov byte [ebp - 4], 0xd
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
mov byte [ebp - 4], 0xe
push dword [eax]
lea eax, [ebp - 0x40]
push str.InitComplete
push 0x1008c208
call fcn.100027be
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x18]
add esp, 0xc
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x40]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x50], eax
call fcn.1000296d
add eax, 0x10
mov ecx, esp
mov dword [ecx], eax
call fcn.1001aeee
cmp dword [ebp - 0x48], ebx
jne 0x10016dc8
cmp dword [ebp - 0x2c], ebx
jbe 0x10016dc8
push ebx
push ebx
lea eax, [ebp - 0x20]
push eax
push 0x10016fc4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
mov eax, dword [0x100aa3bc]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
push ebx
lea eax, [ebp - 0x48]
push ebx
push eax
push ecx
mov byte [ebp - 4], 0xf
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
cmp esi, ebx
jne 0x10016d33
push ecx
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.INIT_Images_download_complete._Seconds_time_from_startup:
push ecx
mov ecx, eax
call fcn.10004145
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
push ebx
push 0x13
call fcn.1001ae54
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.100029ea
lea eax, [ebp - 0x48]
push eax
push ecx
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
mov byte [ebp - 4], 0x11
push dword [eax]
push str.ImageBlockReleased
push 0x1008c338
jmp 0x10016d87
push ecx
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x1008c3a8
push ecx
mov ecx, eax
call fcn.10004145
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
push ebx
push 0x13
call fcn.1001ae54
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.100029ea
lea eax, [ebp - 0x48]
push eax
push ecx
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
mov byte [ebp - 4], 0x13
push dword [eax]
push str.ImageBlockExpired
push 0x1008c420
lea eax, [ebp - 0x2c]
call fcn.100027be
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x48]
add esp, 0xc
add eax, 0xfffffff0
call fcn.100029ea
mov edi, dword [ebp - 0x2c]
push ecx
add edi, 0xfffffff0
mov eax, edi
mov dword [ebp - 0x48], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp + 8]
call fcn.1001aeee
mov eax, edi
call fcn.100029ea
mov eax, dword [ebp - 0x50]
call fcn.100029ea
jmp 0x10016b33
push dword [ebp - 0x18]
call fcn.10017077
pop ecx
push ebx
push ebx
push ecx
mov dword [ebp - 0x48], eax
mov eax, esp
mov dword [ebp + 8], esp
push eax
mov edi, 0x1008c490
call fcn.100022a8
push 1
push 1
mov ecx, esi
call fcn.1001ae54
push ebx
push ebx
lea eax, [ebp + 8]
push eax
push ecx
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
push ecx
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.INIT_Complete._Seconds_time_from_startup:
push ecx
mov ecx, eax
call fcn.10004145
pop ecx
pop ecx
push ebx
push 0x13
mov ecx, esi
call fcn.1001ae54
mov byte [ebp - 4], 6
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [0x100aa3bc]
mov ecx, 0x100aa3bc
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
lea eax, [ebp - 0x50]
push eax
push ecx
mov byte [ebp - 4], 0x15
call fcn.10016053
pop ecx
push eax
call fcn.1001b540
mov byte [ebp - 4], 0x16
push dword [eax]
lea eax, [ebp + 8]
push str.InitCompleteSync
push 0x1008c548
call fcn.100027be
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x50]
add esp, 0xc
add eax, 0xfffffff0
call fcn.100029ea
mov edi, dword [ebp + 8]
push ecx
add edi, 0xfffffff0
mov eax, edi
mov dword [ebp - 0x50], esp
mov ebx, esp
call fcn.1000296d
add eax, 0x10
mov dword [ebx], eax
call fcn.1001aeee
mov eax, edi
call fcn.100029ea
mov eax, dword [ebp - 0x30]
call fcn.100029ea
mov eax, dword [ebp - 0x34]
call fcn.100029ea
mov eax, dword [ebp - 0x38]
call fcn.100029ea
mov eax, dword [ebp - 0x3c]
call fcn.100029ea
lea esi, [ebp - 0x60]
call fcn.100025d5
mov ebx, dword [ebp - 0x48]
jmp 0x1001663e
lea eax, [edi - 0x10]
call fcn.100029ea
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.100029ea
lea eax, [esi - 0x10]
call fcn.100029ea
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
call fcn.100029ea
lea esi, [ebp - 0x60]
call fcn.100025d5
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.100029ea
xor eax, eax
inc eax
call fcn.10063f96
ret 8