Function at 0x10010610
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x10085228
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x374], eax
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x388]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi]
cmp byte [ecx], 0
je 0x1001120b
cmp dword [ecx + 0x128], 0
lea esi, [ecx + 0x100]
je 0x10011204
cmp dword [esi + 0x40], 0
je 0x10011204
cmp dword [esi + 0x70], 0
je 0x10011204
cmp dword [esi + 0x58], 0
je 0x10011204
cmp dword [esi + 0xa8], 0
je 0x10011204
cmp dword [esi + 0x90], 0
je 0x10011204
cmp dword [esi + 0x10], 0
je 0x10011204
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
je 0x10011204
cmp dword [ecx + 0xc8], 0
jne 0x10010743
push 0xc
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x390], 0
test ecx, ecx
je 0x1001071d
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx], vtable.RC::ISimpleDownloadEvent.0
mov byte [esp + 0x390], 1
mov dword [ecx], vtable.RC::RCInstallDownloadEvent.0
mov byte [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [esp + 0x390], 0
jmp 0x1001071f
xor ecx, ecx
mov dword [esp + 0x390], 0xffffffff
mov eax, dword [edi]
mov dword [eax + 0xc8], ecx
mov eax, dword [edi]
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xc8]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0xc8]
cmp byte [eax + 4], 0
jne 0x1001120b
lea eax, [esp + 0x2c4]
mov ecx, edi
push eax
call fcn.10011650
mov dword [esp + 0x390], 2
cmp dword [esp + 0x2d4], 0
mov eax, dword [edi]
je 0x1001079a
mov ecx, dword [eax + 0xc8]
test ecx, ecx
je 0x10010790
mov eax, dword [ecx]
push 0
push 0
push 1
call dword [eax + 0xc]
mov byte [esp + 0xf], 1
jmp 0x100111e7
lea ecx, [eax + 0xb0]
add eax, 0xe4
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x224]
push eax
call fcn.100048f0
mov byte [esp + 0x390], 3
lea ecx, [esp + 0x224]
call fcn.1000bac0
test al, al
jne 0x100107da
lea ecx, [esp + 0x224]
call fcn.1000c500
lea ecx, [esp + 0x224]
call fcn.1000bac0
test al, al
jne 0x100107f3
mov byte [esp + 0xf], al
jmp 0x100111d3
lea eax, [esi + 0x30]
push eax
lea edx, [esp + 0x228]
lea ecx, [esp + 0x200]
call fcn.1000add0
add esp, 4
mov byte [esp + 0x390], 4
lea ecx, [esp + 0x224]
push eax
call fcn.10004990
mov byte [esp + 0x390], 3
lea ecx, [esp + 0x1fc]
call fcn.10002a80
lea ecx, [esp + 0x224]
call fcn.1000b970
test al, al
je 0x10010852
lea ecx, [esp + 0x224]
call fcn.1002a1c0
lea ecx, [esp + 0x224]
call fcn.1000b970
test al, al
je 0x1001086e
lea ecx, [esp + 0x224]
call fcn.1002a830
lea ecx, [esp + 0x2f4]
call fcn.1001d2a0
mov byte [esp + 0x390], 5
lea eax, [esi + 0x18]
lea ecx, [esp + 0x2f4]
cmp ecx, eax
je 0x1001089a
push 0xffffffffffffffff
push 0
push eax
call fcn.10003100
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x22c]
push eax
lea ecx, [esp + 0x318]
call fcn.10003100
mov byte [esp + 0x354], 1
lea ecx, [esp + 0x364]
mov eax, dword [esi + 0x78]
mov dword [esp + 0x35c], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x360], eax
lea eax, [esi + 0x60]
mov dword [esp + 0x14], eax
cmp ecx, eax
je 0x100108ea
push 0xffffffffffffffff
push 0
push eax
call fcn.10003100
mov eax, dword [edi]
lea ecx, [esp + 0x21c]
add eax, 0xa0
xorps xmm0, xmm0
push eax
movq qword [esp + 0x220], xmm0
call fcn.10012160
mov byte [esp + 0x390], 6
mov ecx, dword [esp + 0x21c]
test ecx, ecx
je 0x1001093b
call fcn.1001d880
mov ecx, dword [edi]
add ecx, 0xa0
call fcn.10012270
lea ecx, [esp + 0x21c]
call fcn.10012270
push str.local_path
lea ecx, [esp + 0x98]
call fcn.10002f90
mov byte [esp + 0x390], 7
lea ecx, [esp + 0x124]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 8
lea eax, [esp + 0x224]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x12c]
push eax
call fcn.10022450
mov byte [esp + 0x390], 7
lea ecx, [esp + 0x124]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x94]
call fcn.10002a80
push 0x10093a3c
lea ecx, [esp + 0x158]
call fcn.10002f90
mov byte [esp + 0x390], 9
lea ecx, [esp + 0xc4]
push str.download_status
call fcn.10002f90
mov byte [esp + 0x390], 0xa
lea ecx, [esp + 0x184]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0xb
lea eax, [esp + 0x154]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x18c]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0xa
lea ecx, [esp + 0x184]
call fcn.10002a80
mov byte [esp + 0x390], 9
lea ecx, [esp + 0xc4]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x154]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x38]
call fcn.10002f90
mov byte [esp + 0x390], 0xc
lea ecx, [esp + 0x1c]
push str.temp_file_md5
call fcn.10002f90
mov byte [esp + 0x390], 0xd
lea ecx, [esp + 0xf4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0xe
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0xd
lea ecx, [esp + 0xf4]
call fcn.10002a80
mov byte [esp + 0x390], 0xc
lea ecx, [esp + 0x1c]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x34]
call fcn.10002a80
mov ecx, dword [esp + 0x10]
call fcn.10022a00
lea ecx, [esi + 0x48]
mov edx, 0x10094114
call fcn.100035a0
test al, al
jne 0x10010b23
mov edx, 0x10094274
lea ecx, [esi + 0x48]
call fcn.100035a0
test al, al
je 0x10010c6d
cmp dword [esi + 0xd8], 0
je 0x10010c6d
mov eax, dword [edi]
lea ecx, [esp + 0x214]
add eax, 0xa8
xorps xmm0, xmm0
push eax
movq qword [esp + 0x218], xmm0
call fcn.10012160
mov byte [esp + 0x390], 0xf
mov ecx, dword [esp + 0x214]
test ecx, ecx
je 0x10010b81
call fcn.1001cee0
mov ecx, dword [edi]
add ecx, 0xa8
call fcn.10012270
lea ecx, [esp + 0x214]
call fcn.10012270
mov eax, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
push 4
call eax
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x390], 0x10
test eax, eax
je 0x10010bac
mov ecx, eax
mov dword [eax], 0
call fcn.1001c800
jmp 0x10010bae
xor eax, eax
mov byte [esp + 0x390], 0xf
lea ecx, [esp + 0x214]
push eax
call fcn.100123c0
mov ecx, dword [edi]
lea eax, [esp + 0x214]
push eax
add ecx, 0xa8
call fcn.100121d0
mov eax, dword [edi]
mov edx, dword [esp + 0x214]
mov ecx, dword [eax + 0xc4]
mov eax, dword [edx]
mov dword [eax + 0x1c8], ecx
mov eax, dword [edx]
mov eax, dword [eax + 8]
test eax, eax
je 0x10010bfb
mov dword [eax + 8], ecx
mov ecx, dword [edi]
lea eax, [ecx + 0x204]
push eax
lea eax, [ecx + 0x1ec]
mov ecx, edx
push eax
call fcn.1001cf10
push dword [esi + 0xe4]
mov ecx, dword [esp + 0x218]
lea eax, [esp + 0x228]
push dword [esi + 0xe0]
push eax
push esi
call fcn.1001cc30
mov ecx, dword [edi]
add ecx, 0xa8
mov byte [esp + 0xf], al
call fcn.10012270
lea ecx, [esp + 0x214]
call fcn.10012270
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x214]
call fcn.10009d70
mov al, byte [esp + 0xf]
jmp 0x10010cf0
mov eax, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
push 4
call eax
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x390], 0x11
test eax, eax
je 0x10010c98
mov ecx, eax
mov dword [eax], 0
call fcn.1001d360
jmp 0x10010c9a
xor eax, eax
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x21c]
push eax
call fcn.10012470
mov ecx, dword [edi]
lea eax, [esp + 0x21c]
push eax
add ecx, 0xa0
call fcn.100121d0
push dword [esi + 0xe4]
mov eax, dword [edi]
push dword [esi + 0xe0]
mov ecx, dword [esp + 0x224]
push dword [eax + 0xc8]
lea eax, [esp + 0x300]
push eax
call fcn.1001d480
mov byte [esp + 0xf], al
test al, al
je 0x10010d0c
lea ecx, [esp + 0x224]
call fcn.1000b970
test al, al
jne 0x10010ffc
mov byte [esp + 0xf], al
xor eax, eax
mov dword [esp + 0x24c], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x250], 7
mov dword [esp + 0x24c], 0
mov word [esp + 0x23c], ax
mov byte [esp + 0x390], 0x15
lea edx, [esp + 0x224]
push str..tmp
lea ecx, [esp + 0x298]
call fcn.1000cc70
add esp, 4
mov byte [esp + 0x390], 0x16
lea ecx, [esp + 0x294]
call fcn.1000b970
test al, al
je 0x10010e0f
xorps xmm0, xmm0
lea ecx, [esp + 0x254]
movdqa xmmword [esp + 0x254], xmm0
movq qword [esp + 0x264], xmm0
call fcn.1001a1d0
mov byte [esp + 0x390], 0x17
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x258]
call fcn.10019c90
lea eax, [esp + 0x1e4]
push eax
lea ecx, [esp + 0x258]
call fcn.1001a380
mov byte [esp + 0x390], 0x18
lea ecx, [esp + 0x23c]
push eax
call fcn.10004990
mov byte [esp + 0x390], 0x17
lea ecx, [esp + 0x1e4]
call fcn.10002a80
mov byte [esp + 0x390], 0x16
lea ecx, [esp + 0x254]
call fcn.10009920
push str.temp_file_md5
lea ecx, [esp + 0x50]
call fcn.10002f90
mov byte [esp + 0x390], 0x19
lea ecx, [esp + 0x1b4]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0x1a
lea eax, [esp + 0x23c]
mov esi, dword [esp + 0x10]
mov ecx, esi
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0x19
lea ecx, [esp + 0x1b4]
call fcn.10002a80
mov byte [esp + 0x390], 0x16
lea ecx, [esp + 0x4c]
call fcn.10002a80
mov byte [esp + 0x390], 0x15
lea ecx, [esp + 0x294]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x23c]
call fcn.10002a80
cmp byte [esp + 0xf], 0
je 0x100110ee
push 0x10094114
lea ecx, [esp + 0xe0]
call fcn.10002f90
mov byte [esp + 0x390], 0x1b
lea ecx, [esp + 0xac]
push str.download_status
call fcn.10002f90
mov byte [esp + 0x390], 0x1c
lea ecx, [esp + 0x7c]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0x1d
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xb0]
mov ecx, esi
push eax
lea eax, [esp + 0x84]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0x1c
lea ecx, [esp + 0x7c]
call fcn.10002a80
mov byte [esp + 0x390], 0x1b
lea ecx, [esp + 0xac]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0xdc]
call fcn.10002a80
push 0x10093b18
lea ecx, [esp + 0x170]
call fcn.10002f90
mov byte [esp + 0x390], 0x1e
lea ecx, [esp + 0x13c]
push str.temp_file_md5
call fcn.10002f90
mov byte [esp + 0x390], 0x1f
lea ecx, [esp + 0x10c]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0x20
lea eax, [esp + 0x16c]
push eax
lea eax, [esp + 0x140]
mov ecx, esi
push eax
lea eax, [esp + 0x114]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0x1f
lea ecx, [esp + 0x10c]
call fcn.10002a80
mov byte [esp + 0x390], 0x1e
lea ecx, [esp + 0x13c]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x16c]
jmp 0x10011186
xorps xmm0, xmm0
lea ecx, [esp + 0x274]
movdqa xmmword [esp + 0x274], xmm0
movq qword [esp + 0x284], xmm0
call fcn.1001a1d0
mov byte [esp + 0x390], 0x12
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x278]
call fcn.10019c90
lea eax, [esp + 0x2ac]
push eax
lea ecx, [esp + 0x278]
call fcn.1001a380
mov byte [esp + 0x390], 0x13
lea ecx, [esp + 0x2ac]
mov edx, dword [esp + 0x14]
call fcn.1000a1e0
test al, al
jne 0x100110bd
lea ecx, [esp + 0x224]
call fcn.1002a1c0
push str..tmp
lea edx, [esp + 0x228]
lea ecx, [esp + 0x2e0]
call fcn.1000cc70
add esp, 4
mov byte [esp + 0x390], 0x14
lea ecx, [esp + 0x2dc]
call fcn.1002a1c0
mov byte [esp + 0xf], 0
mov byte [esp + 0x390], 0x13
lea ecx, [esp + 0x2dc]
call fcn.10002a80
mov byte [esp + 0x390], 0x12
lea ecx, [esp + 0x2ac]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x274]
call fcn.10009920
mov esi, dword [esp + 0x10]
jmp 0x10010eab
push 0x10094274
lea ecx, [esp + 0x68]
call fcn.10002f90
mov byte [esp + 0x390], 0x21
lea ecx, [esp + 0x1cc]
push str.download_status
call fcn.10002f90
mov byte [esp + 0x390], 0x22
lea ecx, [esp + 0x19c]
push 0x10093a40
call fcn.10002f90
mov byte [esp + 0x390], 0x23
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x1d0]
mov ecx, esi
push eax
lea eax, [esp + 0x1a4]
push eax
call fcn.10022450
mov byte [esp + 0x390], 0x22
lea ecx, [esp + 0x19c]
call fcn.10002a80
mov byte [esp + 0x390], 0x21
lea ecx, [esp + 0x1cc]
call fcn.10002a80
mov byte [esp + 0x390], 6
lea ecx, [esp + 0x64]
call fcn.10002a80
mov ecx, esi
call fcn.10022a00
mov ecx, dword [edi]
add ecx, 0xa0
call fcn.10012270
lea ecx, [esp + 0x21c]
call fcn.10012270
mov byte [esp + 0x390], 5
lea ecx, [esp + 0x21c]
call fcn.10009d70
mov byte [esp + 0x390], 3
lea ecx, [esp + 0x2f4]
call fcn.10011230
mov byte [esp + 0x390], 2
lea ecx, [esp + 0x224]
call fcn.10002a80
mov dword [esp + 0x390], 0xffffffff
lea ecx, [esp + 0x2c4]
call fcn.10002a80
mov al, byte [esp + 0xf]
jmp 0x1001120d
mov ecx, edi
call fcn.10011340
xor al, al
mov ecx, dword [esp + 0x388]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x374]
xor ecx, esp
call fcn.10081b94
mov esp, ebp
pop ebp
ret