Function at 0x411760
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x3c
lea eax, [ebp - 0x40]
mov dword [ebp - 0x98], 0
mov ebx, edx
mov edi, ecx
push 0
push eax
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xa8], edi
call fcn.0042a4e0
mov eax, dword [edi + 8]
xorps xmm0, xmm0
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
dec eax
add esp, 0xc
mov dword [ebp - 0xc4], eax
movups xmmword [ebx], xmm0
mov dword [ebp - 0x9c], 0
movups xmmword [ebx + 0x10], xmm0
mov eax, dword [edi + 0xc]
add eax, eax
mov dword [ebp - 0xa0], 0
push eax
push 0
push dword [0x45764c]
mov byte [ebp - 0x94], 0
call esi
mov ebx, eax
test ebx, ebx
je 0x412fdf
mov eax, dword [ebp - 0xa8]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb4], edi
mov eax, dword [eax + 0x10]
add eax, eax
push eax
push 0
push dword [0x45764c]
call esi
mov dword [ebp - 0x78], eax
test eax, eax
je 0x412f89
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa4], eax
lea ecx, [eax + eax]
push ecx
push 0
push dword [0x45764c]
call esi
mov dword [ebp - 0x68], eax
test eax, eax
je 0x412f84
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xb8], eax
lea ecx, [eax + eax]
push ecx
push 0
push dword [0x45764c]
call esi
mov esi, eax
mov dword [ebp - 0x54], esi
test esi, esi
je 0x412f84
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xc0], 0
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx]
cmp dword [ecx + 8], 0
mov ecx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x48], edx
jbe 0x412e3a
nop word [eax + eax]
movzx eax, word [edx + 0x5a]
mov byte [ebp - 0x4d], 0
mov byte [ebp - 0x4e], 0
mov byte [ebp - 0x55], 0
test eax, 0x200
je 0x4118e4
mov byte [ebp - 0x6d], 1
mov dword [ebp - 0x60], 0
jmp 0x4118fe
and eax, 0x100
mov byte [ebp - 0x6d], 0
neg eax
sbb eax, eax
and eax, 0xffffd000
add eax, 0x4000
mov dword [ebp - 0x60], eax
cmp edi, dword [edx + 0x54]
jae 0x41194d
mov eax, dword [ebp - 0xb4]
lea eax, [eax*4 + 0x40096]
push eax
push dword [ebp - 0xac]
push 0
push dword [0x45764c]
call ecx
test eax, eax
je 0x412f84
sub ebx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x48]
sar ebx, 1
mov dword [ebp - 0xac], eax
lea ebx, [eax + ebx*2]
mov eax, dword [ebp - 0xb4]
add edi, eax
add eax, eax
mov dword [ebp - 0xb4], eax
mov ecx, dword [edx + 0x2c]
test ecx, ecx
jne 0x4119b3
movzx eax, word [edx + 0x58]
cmp eax, 5
je 0x4119b3
cmp eax, 6
je 0x4119b3
cmp eax, 9
je 0x4119b3
cmp eax, 0xa
je 0x4119b3
movups xmm0, xmmword [str._t_____Error_None_Null_Reg___Key_r_n_t__]
mov byte [ebp - 0x4d], 1
movups xmmword [ebx], xmm0
movups xmm0, xmmword [0x448ab0]
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [0x448ac0]
movups xmmword [ebx + 0x20], xmm0
movups xmm0, xmmword [0x448ad0]
movups xmmword [ebx + 0x30], xmm0
movq xmm0, qword [0x448ae0]
movq qword [ebx + 0x40], xmm0
add ebx, 0x46
sub edi, 0x23
jmp 0x411b9b
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x411a6a
cmp byte [ebp - 0x94], 0
je 0x4119d3
cmp ecx, dword [eax + 0x2c]
jne 0x411a6a
mov ax, word [edx + 0x58]
mov edx, dword [ebp - 0x98]
cmp ax, word [edx + 0x58]
mov edx, dword [ebp - 0x48]
jne 0x411a6a
mov eax, dword [ebp - 0x98]
mov esi, dword [eax + 0x2c]
cmp ecx, esi
jb 0x411a67
mov ecx, dword [edx + 4]
add esi, esi
movzx eax, word [esi + ecx]
test ax, ax
je 0x411a0a
cmp eax, 0x5c
jne 0x411a67
mov eax, dword [ebp - 0x98]
cmp esi, 0xfffe
mov eax, dword [eax + 4]
mov dword [0x456414], eax
mov dword [0x45641c], ecx
mov ecx, 0xfffe
movzx eax, si
cmova eax, ecx
movzx eax, ax
mov word [0x456410], ax
mov word [0x456418], ax
cmp ax, cx
jae 0x411bc0
push 1
push 0x456410
push 0x456418
call dword [0x457674]
movzx eax, al
test eax, eax
jne 0x411c24
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x54]
mov al, byte [edx + 0x5a]
shr al, 4
and al, 1
mov byte [ebp - 0x4e], 1
mov byte [ebp - 0x55], al
mov eax, dword [edx + 0x54]
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x88], eax
jae 0x411aec
mov eax, dword [ebp - 0xb8]
lea eax, [eax*4 + 0x40096]
push eax
push dword [ebp - 0x9c]
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x412f84
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x48]
sar ecx, 1
mov dword [ebp - 0x9c], eax
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xb8]
add dword [ebp - 0x88], eax
add eax, eax
mov dword [ebp - 0xb8], eax
mov eax, dword [edx + 0x54]
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x74], eax
jae 0x411b46
mov eax, dword [ebp - 0xbc]
lea eax, [eax*4 + 0x40096]
push eax
push dword [ebp - 0xa0]
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x412f84
sub esi, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x48]
sar esi, 1
mov dword [ebp - 0xa0], eax
lea esi, [eax + esi*2]
mov eax, dword [ebp - 0xbc]
add dword [ebp - 0x74], eax
add eax, eax
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0x54]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x80]
cmp esi, eax
jae 0x411b9b
mov eax, dword [ebp - 0xa4]
lea eax, [eax*4 + 0x40096]
push eax
push dword [ebp - 0x6c]
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x412f84
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x48]
sar ecx, 1
mov dword [ebp - 0x6c], eax
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0xa4]
add esi, eax
mov dword [ebp - 0x78], ecx
add eax, eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xa4], eax
movzx ecx, word [edx + 0x58]
mov eax, ecx
mov dword [ebp - 0x8c], ebx
cmp eax, 0x60
ja case.0x411bb7.8
movzx eax, byte [eax + 0x413014]
jmp dword [eax*4 + 0x412ff4]
push 1
push 0x456410
push 0x456418
call dword [0x457674]
test al, al
je 0x411a64
movzx edx, word [0x456418]
mov eax, dword [0x45641c]
mov ecx, edx
shr ecx, 1
sub esi, edx
lea eax, [eax + ecx*2]
movzx ecx, word [0x456410]
mov dword [0x45641c], eax
mov eax, dword [0x456414]
shr ecx, 1
lea eax, [eax + ecx*2]
mov dword [0x456414], eax
cmp esi, 0xfffe
jae 0x411c20
mov word [0x456410], si
mov word [0x456418], si
test esi, esi
jne 0x411bc0
cmp byte [ebp - 0x94], 0
mov edx, dword [ebp - 0x48]
je 0x411b9b
mov ecx, dword [ebp - 0x98]
mov eax, dword [edx + 0x2c]
cmp eax, dword [ecx + 0x2c]
je 0x411b9b
mov byte [ebp - 0x94], 0
jmp 0x411b9b
lea eax, [ecx + 1]
movzx esi, ax
mov eax, dword [esi*8 + 0x4566f4]
add eax, eax
push eax
push dword [esi*8 + 0x4566f0]
push ebx
call fcn.0043c9e0
mov eax, dword [esi*8 + 0x4566f4]
jmp 0x411e36
mov eax, dword [0x45672c]
add eax, eax
push eax
push dword [0x456728]
push ebx
call fcn.0043c9e0
mov eax, dword [0x45672c]
jmp 0x411e36
mov eax, dword [0x45671c]
cmp dword [edx + 0x2c], 0
lea esi, [eax + 1]
cmove esi, eax
lea eax, [esi + esi]
push eax
push dword [0x456718]
push ebx
call fcn.0043c9e0
add esp, 0xc
lea ebx, [ebx + esi*2]
sub edi, esi
jmp 0x411e3e
mov eax, dword [0x456734]
add eax, eax
push eax
push dword [0x456730]
push ebx
call fcn.0043c9e0
mov eax, dword [0x456734]
jmp 0x411e36
mov eax, dword [0x456724]
cmp dword [edx + 0x2c], 0
lea esi, [eax + 1]
cmove esi, eax
lea eax, [esi + esi]
push eax
push dword [0x456720]
push ebx
call fcn.0043c9e0
add esp, 0xc
lea ebx, [ebx + esi*2]
sub edi, esi
jmp 0x411e3e
mov eax, dword [0x45673c]
cmp dword [edx + 0x2c], 0
lea esi, [eax + 1]
cmove esi, eax
lea eax, [esi + esi]
push eax
push dword [0x456738]
push ebx
call fcn.0043c9e0
add esp, 0xc
lea ebx, [ebx + esi*2]
sub edi, esi
jmp 0x411e3e
mov eax, dword [0x456744]
cmp dword [edx + 0x2c], 0
lea esi, [eax + 1]
cmove esi, eax
lea eax, [esi + esi]
push eax
push dword [0x456740]
push ebx
call fcn.0043c9e0
add esp, 0xc
lea ebx, [ebx + esi*2]
sub edi, esi
jmp 0x411e3e
movups xmm0, xmmword [str._t_____Error_unknown_Reg_Root___r_n_t__]
sub edi, 0x23
mov esi, 0x4575a4
mov dword [ebp - 0x4c], edi
movups xmmword [ebx], xmm0
movups xmm0, xmmword [0x448b00]
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [0x448b10]
movups xmmword [ebx + 0x20], xmm0
movups xmm0, xmmword [0x448b20]
movups xmmword [ebx + 0x30], xmm0
mov eax, dword [0x448b30]
mov dword [ebx + 0x40], eax
mov ax, word [0x448b34]
mov word [ebx + 0x44], ax
add ebx, 0x46
mov dword [ebp - 0x5c], ebx
mov eax, ecx
xor bl, bl
xor ecx, ecx
mov word [0x4575a4], cx
movzx eax, ax
xor edx, edx
mov ecx, 0xa
sub esi, 2
div ecx
inc bl
movzx eax, ax
lea ecx, [edx + 0x30]
mov word [esi], cx
test ax, ax
jne 0x411dc2
mov byte [ebp - 0x41], bl
mov al, byte [ebp - 0x41]
mov ebx, dword [ebp - 0x5c]
cmp al, 0x16
jbe 0x411dfe
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [0x457638]
jmp 0x411e1c
movzx edi, al
inc al
movzx eax, al
add eax, eax
mov dword [0x457638], edi
push eax
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.0043c9e0
add esp, 0xc
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x40]
push eax
push ebx
call fcn.0043c9e0
mov eax, dword [0x457638]
mov edi, dword [ebp - 0x4c]
mov byte [ebp - 0x4d], 1
add esp, 0xc
lea ebx, [ebx + eax*2]
sub edi, eax
mov edx, dword [ebp - 0x48]
mov esi, dword [edx + 0x2c]
mov ecx, dword [edx + 4]
test esi, esi
je 0x411e7b
nop dword [eax + eax]
movzx eax, word [ecx]
cmp eax, 0x22
je 0x411e5f
mov edx, eax
cmp eax, 0x25
jne 0x411e69
mov word [ebx], ax
add ebx, 2
movzx edx, word [ecx]
dec edi
mov word [ebx], dx
dec edi
add ebx, 2
add ecx, 2
sub esi, 1
jne 0x411e50
mov edx, dword [ebp - 0x48]
mov eax, 0x22
dec edi
mov word [ebx], ax
add ebx, 2
mov ecx, ebx
mov dword [ebp - 0x4c], edi
sub ecx, dword [ebp - 0x8c]
sar ecx, 1
cmp dword [edx + 0x34], 0
mov dword [ebp - 0x84], ecx
jne 0x41231b
mov eax, dword [edx + 0x30]
cmp eax, 1
ja 0x41231b
test eax, eax
jne 0x411f88
mov eax, dword [0x448b38]
mov ecx, 0x4575a4
mov dword [ebx], eax
mov eax, dword [0x448b3c]
mov dword [ebx + 4], eax
mov al, byte [edx + 0x5a]
mov edx, dword [ebp - 0x60]
mov edi, edx
or edi, 2
and al, 0x80
cmove edi, edx
xor eax, eax
mov esi, edi
mov dword [ebp - 0xb0], edi
mov word [0x4575a4], ax
mov dl, 9
test esi, esi
je 0x411f0f
mov eax, esi
sub ecx, 2
and eax, 0xf
shr esi, 4
add dl, 0xff
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test esi, esi
jne 0x411ef2
add dl, 0xff
je 0x411f2b
mov eax, 0x30
nop dword [eax]
sub ecx, 2
mov word [ecx], ax
add dl, 0xff
jne 0x411f20
sub dword [ebp - 0x4c], 0x14
mov edx, 0x78
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
movups xmmword [ebx + 8], xmm0
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x18], eax
movq xmm0, qword [str._____r_n]
movq qword [ebx + 0x1c], xmm0
mov eax, dword [0x448b4c]
mov dword [ebx + 0x24], eax
add ebx, 0x28
cmp byte [ebp - 0x4e], 0
je 0x412e09
cmp byte [ebp - 0x55], 0
jne 0x412e09
mov eax, edi
xor edi, 2
and al, 2
cmove edi, dword [ebp - 0xb0]
jmp 0x412d27
mov eax, dword [edx + 8]
movzx eax, word [eax]
cmp eax, 0x2a
je 0x411fbc
cmp eax, 0x2b
je 0x411fbc
cmp eax, 0x2d
jne 0x41231b
mov eax, ecx
add edi, ecx
neg eax
mov dword [ebp - 0x4c], edi
cmp byte [ebp - 0x4e], 0
lea ebx, [ebx + eax*2]
je 0x412e0c
jmp 0x4120f6
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0xc0], eax
je 0x41203b
mov ax, word [edx + 0x58]
cmp ax, word [edx + 0xb8]
jne 0x41203b
mov esi, dword [edx + 0x2c]
cmp esi, dword [edx + 0x8c]
jne 0x41203b
mov ecx, dword [edx + 0x64]
add esi, esi
mov eax, dword [edx + 4]
cmp esi, 0xfffe
mov dword [0x45641c], eax
mov dword [0x456414], ecx
mov ecx, 0xfffe
movzx eax, si
cmova eax, ecx
movzx eax, ax
mov word [0x456410], ax
mov word [0x456418], ax
cmp ax, cx
jae 0x412150
push 1
push 0x456410
push 0x456418
call dword [0x457674]
movzx eax, al
test eax, eax
jne 0x4121b4
mov eax, dword [0x448b54]
mov dl, 9
mov dword [ebx], eax
mov ecx, 0x4575a4
mov ax, word [0x448b58]
mov word [ebx + 4], ax
mov eax, dword [ebp - 0x60]
or eax, 0x10
mov dword [ebp - 0x60], eax
mov esi, eax
xor eax, eax
mov word [0x4575a4], ax
mov eax, esi
sub ecx, 2
and eax, 0xf
shr esi, 4
add dl, 0xff
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test esi, esi
jne 0x412066
add dl, 0xff
je 0x41209b
mov eax, 0x30
nop dword [eax]
sub ecx, 2
mov word [ecx], ax
add dl, 0xff
jne 0x412090
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
movups xmmword [ebx + 6], xmm0
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x16], eax
mov dword [ebx + 0x1a], 0xa000d
add ebx, 0x1e
sub edi, 0xf
mov edx, dword [ebp - 0x48]
mov esi, 1
mov ecx, dword [ebp - 0x94]
movzx ecx, cl
mov dword [ebp - 0x4c], edi
mov eax, dword [edx + 8]
movzx eax, word [eax]
cmp eax, 0x2b
cmove ecx, esi
cmp byte [ebp - 0x4e], 0
mov dword [ebp - 0x94], ecx
je 0x412e0c
cmp eax, 0x2a
jne 0x412e0c
mov eax, dword [ebp - 0x80]
cmp eax, dword [edx + 0x54]
jae 0x4121ca
mov edi, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x6c]
lea eax, [edi*4 + 0x40096]
push eax
push esi
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x412f8b
mov edx, dword [ebp - 0x78]
sub edx, esi
mov dword [ebp - 0x6c], eax
sar edx, 1
lea edx, [eax + edx*2]
mov eax, dword [ebp - 0x80]
add eax, edi
mov dword [ebp - 0x78], edx
add edi, edi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa4], edi
jmp 0x4121cd
push 1
push 0x456410
push 0x456418
call dword [0x457674]
test al, al
je 0x41203b
movzx edx, word [0x456418]
mov eax, dword [0x45641c]
mov ecx, edx
shr ecx, 1
sub esi, edx
lea eax, [eax + ecx*2]
movzx ecx, word [0x456410]
mov dword [0x45641c], eax
mov eax, dword [0x456414]
shr ecx, 1
lea eax, [eax + ecx*2]
mov dword [0x456414], eax
cmp esi, 0xfffe
jae 0x4121b0
mov word [0x456410], si
mov word [0x456418], si
test esi, esi
jne 0x412150
mov eax, dword [ebp - 0x84]
neg eax
add edi, dword [ebp - 0x84]
lea ebx, [ebx + eax*2]
jmp 0x4120bd
mov edx, dword [ebp - 0x78]
cmp byte [ebp - 0x55], 0
je 0x41220c
mov edi, edx
mov ecx, 0x79
mov esi, str._t_____Ambiguous___The_key_is_to_be_deleted__if_present__with_all_of_its_values_and_subkeys__when_the_component_is_uninstalled._r_n_t_____But_the_component_atribute_is_Permanent__the_installer_does_not_remove_the_component_during_an_uninstall_r_n_t__
sub eax, 0xf3
rep movsd dword es:[edi], dword [esi]
add edx, 0x1e6
mov dword [ebp - 0x80], eax
sub dword [ebp - 0x74], 0xf3
mov ecx, 0x79
mov dword [ebp - 0x78], edx
mov eax, 0x1e6
movsw word es:[edi], word [esi]
mov esi, str._t_____Ambiguous___The_key_is_to_be_deleted__if_present__with_all_of_its_values_and_subkeys__when_the_component_is_uninstalled._r_n_t_____But_the_component_atribute_is_Permanent__the_installer_does_not_remove_the_component_during_an_uninstall_r_n_t__
jmp 0x412222
sub dword [ebp - 0x74], 0xa1
mov ecx, 0x50
mov esi, str._t_____This_key_is_to_be_deleted__if_present__with_all_of_its_values_and_subkeys__when_the_component_is_uninstalled._not_need_to_backup_restore_it_after______r_n_t__
mov eax, 0x142
mov edi, dword [ebp - 0x54]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x54]
add esi, esi
push esi
push dword [ebp - 0x8c]
add edi, eax
push edx
call fcn.0043c9e0
mov ecx, dword [ebp - 0x78]
add esp, 0xc
mov eax, dword [0x448b54]
add ecx, esi
mov esi, dword [ebp - 0x60]
mov dl, 9
or esi, 0x2000
mov dword [ecx], eax
mov ax, word [0x448b58]
mov word [ecx + 4], ax
add ecx, 6
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
xor eax, eax
mov dword [ebp - 0x78], ecx
mov ecx, 0x4575a4
mov word [0x4575a4], ax
mov eax, esi
sub ecx, 2
and eax, 0xf
shr esi, 4
add dl, 0xff
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test esi, esi
jne 0x412286
add dl, 0xff
je 0x4122bb
mov eax, 0x30
nop dword [eax]
sub ecx, 2
mov word [ecx], ax
add dl, 0xff
jne 0x4122b0
mov edx, dword [ebp - 0x78]
add dword [ebp - 0x80], 0xfffffff1
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
movups xmmword [edx], xmm0
mov eax, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x84]
add eax, 0xf
mov dword [edx + 0x14], 0xa000d
add edx, 0x18
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x78], edx
lea esi, [eax + eax]
push esi
sub edx, esi
push edx
push edi
call fcn.0043c9e0
mov ecx, dword [ebp - 0x74]
add esi, edi
mov edx, dword [ebp - 0x48]
add esp, 0xc
sub ecx, dword [ebp - 0x84]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x74], ecx
jmp 0x412e0f
cmp dword [edx + 0x30], 0
jne 0x412338
mov eax, dword [0x448b38]
mov dword [ebx], eax
mov eax, dword [0x448b3c]
mov dword [ebx + 4], eax
add ebx, 8
sub edi, 4
jmp 0x4123a2
mov eax, dword [0x445f9c]
sub edi, 3
mov dword [ebx], eax
mov ax, word [0x445fa0]
mov word [ebx + 4], ax
add ebx, 6
mov esi, dword [edx + 0x30]
mov ecx, dword [edx + 8]
test esi, esi
je 0x41238b
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x22
je 0x41236f
mov edx, eax
cmp eax, 0x25
jne 0x412379
mov word [ebx], ax
add ebx, 2
movzx edx, word [ecx]
dec edi
mov word [ebx], dx
dec edi
add ebx, 2
add ecx, 2
sub esi, 1
jne 0x412360
mov edx, dword [ebp - 0x48]
mov eax, dword [0x448b5c]
mov dword [ebx], eax
mov ax, word [0x448b60]
mov word [ebx + 4], ax
add ebx, 6
sub edi, 3
mov al, byte [edx + 0x5a]
mov esi, ebx
sub esi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x60]
sar esi, 1
or ecx, 2
and al, 0x80
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x48]
cmove ecx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0xb0], esi
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x60], ecx
test edx, edx
jne 0x412461
xor esi, esi
mov al, 9
mov byte [ebp - 0x41], al
mov edx, 0x4575a4
mov word [0x4575a4], si
test ecx, ecx
je 0x412416
mov bl, al
mov eax, ecx
sub edx, 2
and eax, 0xf
shr ecx, 4
dec bl
mov ax, word [eax*2 + 0x44e568]
mov word [edx], ax
test ecx, ecx
jne 0x4123f1
mov byte [ebp - 0x41], bl
mov ebx, dword [ebp - 0x5c]
mov al, byte [ebp - 0x41]
add al, 0xff
je 0x41242a
mov esi, 0x30
nop
sub edx, 2
mov word [edx], si
add al, 0xff
jne 0x412420
mov dword [edx - 4], 0x780030
movups xmm0, xmmword [edx - 4]
movups xmmword [ebx], xmm0
mov eax, dword [edx + 0xc]
mov dword [ebx + 0x10], eax
movq xmm0, qword [str._____r_n]
movq qword [ebx + 0x14], xmm0
mov eax, dword [0x448b4c]
mov dword [ebx + 0x1c], eax
add ebx, 0x20
sub edi, 0x10
mov dword [ebp - 0x4c], edi
jmp 0x412c38
mov eax, dword [eax + 0xc]
cmp word [eax], 0x23
jne 0x412962
cmp edx, 1
jne 0x41257b
mov edi, dword [ebp - 0x8c]
lea eax, [esi + esi]
push eax
push edi
lea eax, [edi + 0xb0]
push eax
call fcn.00429d30
mov ecx, 0x2c
mov byte [ebp - 0x4d], 1
mov esi, str._t_____Error_1406_Could_not_write_value__Installer_Not_Support_REG_DWORD_NULL_Value._r_n_t__
add ebx, 0xb0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4c]
add esp, 0xc
mov ecx, dword [ebp - 0x60]
sub edi, 0x58
mov dword [ebp - 0x5c], ebx
or ecx, 0x10001
mov bl, 9
xor eax, eax
mov edx, 0x4575a4
mov word [0x4575a4], ax
mov eax, ecx
sub edx, 2
and eax, 0xf
shr ecx, 4
dec bl
mov ax, word [eax*2 + 0x44e568]
mov word [edx], ax
test ecx, ecx
jne 0x4124c8
add bl, 0xff
mov byte [ebp - 0x41], bl
mov ebx, dword [ebp - 0x5c]
je 0x412501
mov al, byte [ebp - 0x41]
mov esi, 0x30
sub edx, 2
mov word [edx], si
add al, 0xff
jne 0x4124f7
mov ecx, dword [ebp - 0x48]
mov dword [edx - 4], 0x780030
movups xmm0, xmmword [edx - 4]
movups xmmword [ebx], xmm0
mov eax, dword [edx + 0xc]
mov dword [ebx + 0x10], eax
mov eax, dword [0x445f9c]
mov dword [ebx + 0x14], eax
movzx eax, word [0x445fa0]
mov word [ebx + 0x18], ax
add ebx, 0x1a
mov eax, dword [ecx + 0x34]
lea eax, [eax*2 - 2]
push eax
mov eax, dword [ecx + 0xc]
add eax, 2
push eax
push ebx
call fcn.0043c9e0
mov edx, dword [ebp - 0x48]
add esp, 0xc
mov eax, dword [0x448b74]
mov ecx, dword [edx + 0x34]
mov dword [ebx + ecx*2 - 2], eax
movzx eax, word [0x448b78]
mov word [ebx + ecx*2 + 2], ax
mov eax, 0xfffffff1
lea ebx, [ebx + ecx*2]
sub eax, ecx
add ebx, 4
add edi, eax
mov dword [ebp - 0x4c], edi
jmp 0x412c3b
movzx edx, word [eax + 2]
cmp edx, 0x23
jne 0x4126f6
test eax, eax
je 0x4125ab
push 0x457630
mov edx, SysReAllocString
mov ecx, eax
call fcn.00402470
test eax, eax
js 0x4125ab
mov eax, dword [0x457630]
mov esi, dword [ebp - 0x48]
jmp 0x4125ce
mov esi, dword [ebp - 0x48]
mov dword [0x457630], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4125cc
cmp word [eax], 0
je 0x4125cc
mov eax, SysReAllocString
jmp 0x4125ce
xor eax, eax
mov esi, dword [esi + 0x34]
mov dword [ebp - 0x7c], 1
cmp eax, esi
jne 0x4129bf
mov dword [ebp - 0x64], 1
mov ecx, dword [ebp - 0x60]
xor esi, esi
mov al, 9
mov word [0x4575a4], si
mov edx, 0x4575a4
mov esi, dword [ebp - 0x64]
mov byte [ebp - 0x41], al
test ecx, ecx
je 0x41262b
mov bl, al
mov eax, ecx
sub edx, 2
and eax, 0xf
shr ecx, 4
dec bl
mov ax, word [eax*2 + 0x44e568]
mov word [edx], ax
test ecx, ecx
jne 0x412606
mov byte [ebp - 0x41], bl
mov ebx, dword [ebp - 0x5c]
mov al, byte [ebp - 0x41]
add al, 0xff
je 0x41263e
mov ecx, 0x30
sub edx, 2
mov word [edx], cx
add al, 0xff
jne 0x412634
mov dword [edx - 4], 0x780030
sub edi, 0xd
movups xmm0, xmmword [edx - 4]
mov dword [ebp - 0x7c], edi
movups xmmword [ebx], xmm0
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x48]
mov dword [ebx + 0x10], eax
mov eax, dword [0x445f9c]
mov dword [ebx + 0x14], eax
mov ax, word [0x445fa0]
mov word [ebx + 0x18], ax
add ebx, 0x1a
mov eax, dword [edx + 0xc]
lea ecx, [eax + esi*2]
mov esi, dword [edx + 0x34]
sub esi, dword [ebp - 0x64]
je 0x4126a8
nop
movzx eax, word [ecx]
cmp eax, 0x22
je 0x41268f
mov edx, eax
cmp eax, 0x25
jne 0x412699
mov word [ebx], ax
add ebx, 2
movzx edx, word [ecx]
dec edi
mov word [ebx], dx
dec edi
add ebx, 2
add ecx, 2
sub esi, 1
jne 0x412680
mov eax, dword [0x448b74]
sub edi, 3
mov edx, dword [ebp - 0x7c]
mov dword [ebx], eax
mov ax, word [0x448b78]
mov word [ebx + 4], ax
add ebx, 6
sub edx, edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x7c], edx
je 0x412c38
cmp byte [ebp + 8], 0
je 0x412bd7
mov eax, dword [ebp - 0x48]
mov ecx, 0x100
test word [eax + 0x5a], cx
jne 0x412bd7
mov ecx, 1
jmp 0x412bd9
cmp edx, 0x78
jne 0x4128f0
or ecx, 1
mov bl, 9
xor eax, eax
mov edx, 0x4575a4
mov word [0x4575a4], ax
mov eax, ecx
sub edx, 2
and eax, 0xf
shr ecx, 4
dec bl
mov ax, word [eax*2 + 0x44e568]
mov word [edx], ax
test ecx, ecx
jne 0x412711
add bl, 0xff
mov byte [ebp - 0x41], bl
mov ebx, dword [ebp - 0x5c]
je 0x41274a
mov al, byte [ebp - 0x41]
mov esi, 0x30
sub edx, 2
mov word [edx], si
add al, 0xff
jne 0x412740
mov ecx, dword [ebp - 0x48]
mov eax, 0x78
mov word [edx - 2], ax
sub edi, 0xc
sub edx, 4
mov dword [ebp - 0x4c], edi
mov eax, 0x30
mov word [edx], ax
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], 0x20002c
add ebx, 0x18
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x34]
cmp eax, 0x66
jbe 0x4127b2
movq xmm0, qword [str._r_n_t]
movq qword [ebx - 2], xmm0
mov eax, dword [0x448b6c]
mov dword [ebx + 6], eax
add ebx, 0xa
mov eax, dword [ecx + 0x34]
sub edi, 5
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x5c], 5
mov esi, dword [ecx + 0xc]
mov dh, 0x32
add esi, 4
mov dl, 2
add eax, 0xfffffffe
mov dword [ebp - 0x64], eax
je 0x4128dc
mov eax, dword [ebp - 0x5c]
nop dword [eax + eax]
movzx ecx, word [esi]
cmp ecx, 0x30
jb 0x4127dd
cmp ecx, 0x39
jbe 0x4127f7
cmp ecx, 0x41
jb 0x4127e7
cmp ecx, 0x46
jbe 0x4127f7
lea eax, [ecx - 0x61]
cmp ax, 5
mov eax, dword [ebp - 0x5c]
ja 0x41286f
mov word [ebx], cx
dec edi
mov ecx, dword [ebp - 0x64]
inc eax
add ebx, 2
mov dword [ebp - 0x4c], edi
add esi, 2
mov dword [ebp - 0x5c], eax
sub ecx, 1
mov dword [ebp - 0x64], ecx
je 0x412851
add dl, 0xff
jne 0x4127d0
mov ecx, 0x2c
dec edi
mov word [ebx], cx
add ebx, 2
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x4c], edi
add dh, 0xff
jne 0x412851
movq xmm0, qword [str._r_n_t]
mov dh, 0x32
movq qword [ebx], xmm0
mov eax, dword [0x448b6c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov eax, dword [ebp - 0x5c]
sub edi, 6
mov dword [ebp - 0x4c], edi
mov dl, 2
test ecx, ecx
jne 0x4127d0
mov dword [ebx], 0xa000d
add ebx, 4
sub edi, 2
mov dword [ebp - 0x4c], edi
jmp 0x412c38
mov edi, dword [ebp - 0x8c]
neg eax
mov byte [ebp - 0x4d], 1
lea ebx, [ebx + eax*2]
mov eax, ebx
sub eax, edi
and eax, 0xfffffffe
push eax
lea eax, [edi + 0xe0]
push edi
push eax
call fcn.00429d30
mov ecx, 0x38
mov esi, str._t_____Error_1406_Could_not_write_value__REG_BINARY_incorect_interpretation_representations_hexadecimal_value_r_n_t__
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x48]
add esp, 0xc
add ebx, 0xe0
mov eax, dword [esi + 0x34]
lea eax, [eax*2 - 4]
push eax
mov eax, dword [esi + 0xc]
add eax, 4
push eax
push ebx
call fcn.0043c9e0
mov eax, dword [esi + 0x34]
add esp, 0xc
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x4c]
sub ecx, eax
add edi, 0xffffff92
lea ebx, [ebx + eax*2]
add ebx, 0xfffffffc
add edi, ecx
mov dword [ebx], 0xa000d
add ebx, 4
sub edi, 2
mov dword [ebp - 0x4c], edi
jmp 0x412c38
cmp edx, 0x25
jne 0x4124b3
test eax, eax
je 0x41291c
push 0x457630
mov edx, SysReAllocString
mov ecx, eax
call fcn.00402470
test eax, eax
js 0x41291c
mov eax, dword [0x457630]
mov esi, dword [ebp - 0x48]
jmp 0x41293f
mov esi, dword [ebp - 0x48]
mov dword [0x457630], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x41293d
cmp word [eax], 0
je 0x41293d
mov eax, SysReAllocString
jmp 0x41293f
xor eax, eax
mov esi, dword [esi + 0x34]
mov dword [ebp - 0x7c], 2
cmp eax, esi
jne 0x4129bf
mov ecx, dword [ebp - 0x60]
or ecx, 0x20000
mov dword [ebp - 0x64], 2
jmp 0x4125ea
test eax, eax
je 0x412985
push 0x457630
mov edx, SysReAllocString
mov ecx, eax
call fcn.00402470
test eax, eax
js 0x412985
mov eax, dword [0x457630]
mov esi, dword [ebp - 0x48]
jmp 0x4129a8
mov esi, dword [ebp - 0x48]
mov dword [0x457630], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4129a6
cmp word [eax], 0
je 0x4129a6
mov eax, SysReAllocString
jmp 0x4129a8
xor eax, eax
mov esi, dword [esi + 0x34]
xor edx, edx
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x64], edx
cmp eax, esi
je 0x4125e7
mov ecx, dword [ebp - 0x60]
mov eax, ecx
or eax, 0x10000
mov edi, eax
xor edi, 2
and cl, 2
cmove edi, eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax]
test cx, cx
je 0x4129ec
cmp word [eax + esi*2 - 2], 0
mov edx, edi
jne 0x4129f8
mov edx, edi
cmp cx, word [eax + esi*2 - 2]
je 0x4129f8
or edx, 8
xor eax, eax
mov bl, 9
mov ecx, 0x4575a4
mov word [0x4575a4], ax
mov eax, edx
sub ecx, 2
and eax, 0xf
shr edx, 4
dec bl
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test edx, edx
jne 0x412a07
add bl, 0xff
mov byte [ebp - 0x41], bl
mov ebx, dword [ebp - 0x5c]
je 0x412a40
mov al, byte [ebp - 0x41]
mov esi, 0x30
sub ecx, 2
mov word [ecx], si
add al, 0xff
jne 0x412a36
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
mov edi, dword [ebp - 0x4c]
sub edi, 0xd
movups xmmword [ebx], xmm0
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x7c]
mov dword [ebx + 0x10], eax
mov eax, dword [0x445f9c]
mov dword [ebx + 0x14], eax
mov ax, word [0x445fa0]
mov word [ebx + 0x18], ax
add ebx, 0x1a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x64], edi
mov eax, dword [eax + 0xc]
lea edx, [eax + ecx*2]
mov eax, dword [ebp - 0x48]
mov ecx, edi
mov dword [ebp - 0x60], ecx
mov esi, dword [eax + 0x34]
sub esi, dword [ebp - 0x7c]
je 0x412aee
movzx eax, word [edx]
test ax, ax
jne 0x412ac0
cmp esi, 1
je 0x412ab9
cmp ecx, edi
je 0x412ab9
mov eax, dword [0x448b7c]
mov dword [ebx], eax
mov ax, word [0x448b80]
mov word [ebx + 4], ax
add ebx, 6
sub edi, 3
mov ecx, edi
mov dword [ebp - 0x60], ecx
jmp 0x412ae0
cmp eax, 0x22
je 0x412acc
mov ecx, eax
cmp eax, 0x25
jne 0x412ad6
mov word [ebx], ax
add ebx, 2
movzx ecx, word [edx]
dec edi
mov word [ebx], cx
add ebx, 2
mov ecx, dword [ebp - 0x60]
dec edi
add edx, 2
sub esi, 1
jne 0x412a91
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edi
mov edx, dword [ebp - 0x64]
sub edx, edi
mov dword [ebp - 0x64], edx
je 0x412b81
cmp byte [ebp + 8], 0
je 0x412b14
mov ecx, 0x100
test word [eax + 0x5a], cx
jne 0x412b14
mov ecx, 1
jmp 0x412b16
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x7c], ebx
neg eax
lea edi, [ebx + eax*2]
mov eax, dword [ebp - 0x4c]
push eax
push ecx
push ecx
lea eax, [ebp - 0x7c]
mov ecx, edi
push eax
call fcn.0040bea0
add esp, 0x10
mov byte [ebp - 0x41], al
test al, al
jne 0x412b43
mov edi, dword [ebp - 0x4c]
jmp 0x412bbb
mov eax, dword [0x457634]
mov esi, dword [ebp - 0x7c]
add eax, eax
push eax
push esi
push edi
call fcn.00429d30
add esp, 0xc
cmp byte [ebp - 0x41], 3
jne 0x412b6d
push esi
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x457634]
mov ecx, dword [ebp - 0x64]
sub ecx, eax
lea ebx, [edi + eax*2]
mov edi, dword [ebp - 0x4c]
add edi, ecx
jmp 0x412bbb
mov edi, dword [ebp - 0x8c]
mov eax, ebx
sub eax, edi
and eax, 0xfffffffe
push eax
lea eax, [edi + 0xc0]
push edi
push eax
call fcn.00429d30
mov ecx, 0x30
mov byte [ebp - 0x4d], 1
mov esi, str._t_____Error_1406_Could_not_write_value__Installer_Not_Support_REG_TYPE_MULTI_SZ_NULL_Value._r_n_t__
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4c]
add ebx, 0xc0
sub edi, 0x60
mov eax, dword [0x448b74]
mov dword [ebx], eax
mov ax, word [0x448b78]
mov word [ebx + 4], ax
add ebx, 6
sub edi, 3
mov dword [ebp - 0x4c], edi
jmp 0x412c38
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x64], ebx
neg eax
lea edi, [ebx + eax*2]
mov eax, dword [ebp - 0x4c]
push eax
push ecx
push ecx
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.0040bea0
add esp, 0x10
mov byte [ebp - 0x41], al
test al, al
je 0x412c38
mov eax, dword [0x457634]
mov esi, dword [ebp - 0x64]
add eax, eax
push eax
push esi
push edi
call fcn.00429d30
add esp, 0xc
cmp byte [ebp - 0x41], 3
jne 0x412c28
push esi
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x457634]
mov ecx, dword [ebp - 0x7c]
sub ecx, eax
add dword [ebp - 0x4c], ecx
lea ebx, [edi + eax*2]
mov edx, dword [ebp - 0x48]
cmp byte [ebp - 0x4d], 0
jne 0x412e0c
cmp byte [ebp - 0x55], 0
jne 0x412e0c
xor edi, edi
cmp byte [ebp - 0x6d], 0
jne 0x412c6d
mov eax, 0x100
mov edi, 0x4000
test word [edx + 0x5a], ax
mov eax, 0x1000
cmovne edi, eax
cmp byte [ebp - 0x94], 0
je 0x412d1d
mov esi, dword [ebp - 0xb0]
add esi, esi
push esi
push dword [ebp - 0x8c]
push dword [ebp - 0x68]
call fcn.0043c9e0
add dword [ebp - 0x68], esi
add esp, 0xc
mov esi, dword [ebp - 0x88]
or edi, 4
sub esi, dword [ebp - 0xb0]
mov dl, 9
xor eax, eax
mov ecx, 0x4575a4
mov word [0x4575a4], ax
mov eax, edi
sub ecx, 2
and eax, 0xf
shr edi, 4
add dl, 0xff
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test edi, edi
jne 0x412cb5
add dl, 0xff
je 0x412ceb
mov eax, 0x30
nop dword [eax]
sub ecx, 2
mov word [ecx], ax
add dl, 0xff
jne 0x412ce0
mov edx, dword [ebp - 0x68]
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
movups xmmword [edx], xmm0
mov eax, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0xa000d
add edx, 0x18
sub esi, 0xc
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x88], esi
jmp 0x412e09
cmp byte [ebp - 0x4e], 0
je 0x412e0c
mov eax, dword [ebp - 0x84]
lea esi, [eax + eax]
push esi
push dword [ebp - 0x8c]
push dword [ebp - 0x68]
call fcn.0043c9e0
mov ecx, dword [ebp - 0x68]
add esp, 0xc
mov eax, dword [0x448b54]
add ecx, esi
mov esi, dword [ebp - 0x84]
or edi, 0x2000
sub dword [ebp - 0x88], esi
mov dl, 9
mov dword [ecx], eax
mov ax, word [0x448b58]
mov word [ecx + 4], ax
add ecx, 6
xor eax, eax
mov dword [ebp - 0x68], ecx
mov ecx, 0x4575a4
mov word [0x4575a4], ax
nop
mov eax, edi
sub ecx, 2
and eax, 0xf
shr edi, 4
add dl, 0xff
mov ax, word [eax*2 + 0x44e568]
mov word [ecx], ax
test edi, edi
jne 0x412d80
add dl, 0xff
je 0x412db2
mov eax, 0x30
sub ecx, 2
mov word [ecx], ax
add dl, 0xff
jne 0x412da7
mov edx, dword [ebp - 0x68]
add esi, 0xf
mov edi, dword [ebp - 0x54]
add dword [ebp - 0x88], 0xfffffff1
mov dword [ecx - 4], 0x780030
movups xmm0, xmmword [ecx - 4]
mov dword [ebp - 0x84], esi
add esi, esi
push esi
movups xmmword [edx], xmm0
mov eax, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0xa000d
add edx, 0x18
mov dword [ebp - 0x68], edx
sub edx, esi
push edx
push edi
call fcn.0043c9e0
mov ecx, dword [ebp - 0x74]
add edi, esi
add esp, 0xc
mov dword [ebp - 0x54], edi
sub ecx, dword [ebp - 0x84]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xc0]
add edx, 0x60
mov eax, dword [ebp - 0xa8]
inc ecx
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x48], edx
cmp ecx, dword [eax + 8]
mov ecx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
jb 0x4118c0
mov edi, dword [ebp - 0x78]
xor eax, eax
mov esi, dword [ebp - 0x68]
xor edx, edx
mov word [ebx], ax
mov word [edi], ax
mov word [esi], ax
mov eax, dword [ebp - 0x54]
mov word [eax], dx
mov edx, dword [ebp - 0xac]
sub ebx, edx
mov eax, dword [ebp - 0x90]
sar ebx, 1
mov dword [eax + 0x10], ebx
je 0x412e85
lea ebx, [ebx*2 + 2]
push ebx
push edx
push 0
push dword [0x45764c]
call ecx
mov ecx, dword [ebp - 0x90]
mov dword [ecx], eax
jmp 0x412e94
push edx
push 0
push dword [0x45764c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x6c]
sub edi, ecx
mov eax, dword [ebp - 0x90]
sar edi, 1
mov dword [eax + 0x14], edi
je 0x412ed0
mov ebx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
lea eax, [edi*2 + 2]
push eax
push ecx
push 0
push dword [0x45764c]
call ebx
mov ecx, dword [ebp - 0x90]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ecx + 4], eax
jmp 0x412ee7
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push ecx
push 0
push dword [0x45764c]
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov ecx, dword [ebp - 0x9c]
sub esi, ecx
mov eax, dword [ebp - 0x90]
sar esi, 1
mov dword [eax + 0x18], esi
je 0x412f1a
lea eax, [esi*2 + 2]
push eax
push ecx
push 0
push dword [0x45764c]
call ebx
mov esi, dword [ebp - 0x90]
mov dword [esi + 8], eax
jmp 0x412f2b
push ecx
push 0
push dword [0x45764c]
call edi
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
sar eax, 1
mov dword [esi + 0x1c], eax
je 0x412f66
lea eax, [eax*2 + 2]
push eax
push ecx
push 0
push dword [0x45764c]
call ebx
mov dword [esi + 0xc], eax
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00428cd6
mov esp, ebp
pop ebp
ret
push ecx
push 0
push dword [0x45764c]
call edi
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00428cd6
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x6c]
jmp 0x412f8b
xor esi, esi
mov eax, dword [ebp - 0xac]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
je 0x412fa6
push eax
push 0
push dword [0x45764c]
call ebx
test esi, esi
je 0x412fb5
push esi
push 0
push dword [0x45764c]
call ebx
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x412fca
push eax
push 0
push dword [0x45764c]
call ebx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x412fdf
push eax
push 0
push dword [0x45764c]
call ebx
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00428cd6
mov esp, ebp
pop ebp
ret