Function at 0x419130
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x504f47
mov eax, dword fs:[0]
push eax
sub esp, 0x5bc
mov eax, dword [0x541074]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c4], edx
mov ebx, ecx
push 0x3b
mov dword [ebp - 0x5b4], 0
mov ecx, 0x5484d0
push str.Content_Type:_application_json_r_nUser_Agent:_superclient_r_n_r_n
mov dword [ebp - 0x5c0], 0
call fcn.00402f90
lea ecx, [ebp - 0x51c]
call fcn.0040a920
push 1
push ecx
push 0x51f948
lea ecx, [ebp - 0x51c]
mov dword [ebp - 4], 0
call fcn.004076b0
mov esi, eax
cmp esi, 0xffffffff
je 0x41922d
push 1
push ecx
push 0x51bb48
lea ecx, [ebp - 0x51c]
call fcn.004076b0
cmp eax, 0xffffffff
je 0x41922d
sub eax, esi
lea ecx, [ebp - 0x51c]
dec eax
push eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x54c]
push eax
call fcn.004046b0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x53c], 0
je 0x41920b
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x54c]
mov ecx, 0x5484e8
push eax
call fcn.004034d0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x538]
cmp eax, 8
jb 0x41922d
inc eax
lea ecx, [ebp - 0x54c]
push eax
push dword [ebp - 0x54c]
call fcn.00403ab0
lea ecx, [ebp - 0x51c]
call fcn.00406310
lea ecx, [ebp - 0x51c]
call fcn.004063b0
lea ecx, [ebp - 0x51c]
call fcn.00406450
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x218]
add esp, 0xc
push 0x104
push eax
push 0x66
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
mov eax, dword [0x548514]
cmp eax, 8
jb 0x4192c7
inc eax
mov ecx, 0x548500
push eax
push dword [0x548500]
call fcn.00403ab0
xor eax, eax
mov dword [0x548514], 7
mov word [0x548500], ax
mov ecx, 0x548500
lea eax, [ebp - 0x438]
mov dword [0x548510], 0
push eax
call fcn.00403090
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x419316
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403ab0
cmp dword [0x548514], 8
mov ecx, 0x548500
mov edx, dword [0x548510]
mov esi, 1
cmovae ecx, dword [0x548500]
cmp edx, esi
cmovb esi, edx
test esi, esi
je 0x41935f
mov edx, 0x51bde8
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x419dad
add ecx, 2
add edx, 2
sub esi, 1
jne 0x419342
mov edx, dword [0x548510]
xor eax, eax
test eax, eax
jne 0x41937c
cmp edx, 1
jb 0x41937c
ja 0x41937c
push eax
push 0x51b9cc
mov ecx, 0x548500
call fcn.00402f90
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6d
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x454], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x468], cx
push eax
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x458], 0
call fcn.00402f90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x468]
cmp dword [ebp - 0x454], 8
mov esi, 1
mov edx, dword [ebp - 0x458]
cmovae ecx, dword [ebp - 0x468]
cmp edx, esi
cmovb esi, edx
test esi, esi
je 0x419421
mov edx, 0x51f94c
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x419dc4
add ecx, 2
add edx, 2
sub esi, 1
jne 0x419404
mov edx, dword [ebp - 0x458]
xor eax, eax
mov esi, 1
test eax, eax
jne 0x41943f
cmp edx, esi
jb 0x41943f
movzx eax, byte [0x5480ad]
cmovbe eax, esi
mov byte [0x5480ad], al
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6e
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
mov eax, dword [ebp - 0x454]
cmp eax, 8
jb 0x4194b4
inc eax
lea ecx, [ebp - 0x468]
push eax
push dword [ebp - 0x468]
call fcn.00403ab0
xor eax, eax
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
lea ecx, [ebp - 0x468]
lea eax, [ebp - 0x438]
mov dword [ebp - 0x458], 0
push eax
call fcn.00403090
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x419505
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403ab0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x5480b4]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x5480b4], cl
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x71
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x4195ae
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403ab0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x541974]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x541974], cl
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x72
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x5480af]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x5480af], cl
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6f
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x5480ac]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x5480ac], cl
call fcn.004e2480
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x70
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x5480ae]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x5480ae], cl
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6c
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
mov edx, 0x51f94c
lea ecx, [ebp - 0x468]
call fcn.00407c20
movzx ecx, byte [0x5480b5]
test al, al
push 0x104
lea eax, [ebp - 0x218]
cmovne ecx, esi
push 0
push eax
mov byte [0x5480b5], cl
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6a
push ebx
call edi
push eax
xor ecx, ecx
mov dword [ebp - 0x424], 7
lea eax, [ebp - 0x218]
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
call fcn.00402f90
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x468]
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push ecx
lea ecx, [ebp - 0x468]
call fcn.00418640
add esp, 4
mov dword [0x541970], eax
lea eax, [ebp - 0x218]
push 0x104
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x69
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x548548
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x65
push ebx
call edi
xor ecx, ecx
mov dword [ebp - 0x424], 7
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x428], 0
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x548518
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x67
push ebx
call edi
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
xor ecx, ecx
push eax
lea eax, [ebp - 0x218]
mov word [ebp - 0x438], cx
push eax
lea ecx, [ebp - 0x438]
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x5484a0
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x68
push ebx
call edi
mov esi, eax
mov dword [ebp - 0x424], 7
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
lea ecx, [ebp - 0x438]
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x548428
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x73
push ebx
call edi
xor eax, eax
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
lea ecx, [ebp - 0x438]
push esi
lea eax, [ebp - 0x218]
mov dword [ebp - 0x428], 0
push eax
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x548410
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x74
push ebx
call edi
mov dword [ebp - 0x424], 7
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
lea ecx, [ebp - 0x438]
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.00402f90
lea eax, [ebp - 0x438]
mov ecx, 0x548488
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x438]
call fcn.00402ca0
cmp dword [0x548498], 0
jne 0x419b80
push 0xffffffffffffffff
push 0
push 0x5483e0
mov ecx, 0x548488
call fcn.004034d0
push 0x51bb5c
mov edx, 0x548548
lea ecx, [ebp - 0x480]
call fcn.00404d30
add esp, 4
push 0x548410
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x450]
call fcn.00404eb0
add esp, 4
mov ecx, 0x548548
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x450]
call fcn.00402ca0
lea ecx, [ebp - 0x480]
call fcn.00402ca0
xor eax, eax
mov dword [ebp - 0x4f0], 7
mov dword [ebp - 0x4f4], 0
mov word [ebp - 0x504], ax
push 0x5483e0
mov edx, 0x51f950
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x594]
call fcn.004099f0
lea edx, [ebp - 0x594]
mov byte [ebp - 4], 7
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00420910
add esp, 4
lea ecx, [ebp - 0x438]
push str.UninstallString
call fcn.00402d60
push ecx
lea eax, [ebp - 0x504]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x438]
mov dword [ebp - 0x5b4], 1
push eax
lea edx, [ebp - 0x594]
call fcn.00420ae0
add esp, 0xc
test al, al
je 0x419c6e
cmp dword [ebp - 0x4f4], 0
mov byte [ebp - 0x5ad], 1
jne 0x419c75
mov byte [ebp - 0x5ad], 0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 7
call fcn.00402ca0
cmp byte [ebp - 0x5ad], 0
je 0x419ced
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x504]
cmp dword [ebp - 0x4f0], 8
cmovae eax, dword [ebp - 0x504]
push eax
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.004e4c47
add esp, 0xc
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x420]
mov ecx, 0x5483f8
push eax
call fcn.00402c50
cmp dword [0x548408], 0
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
je 0x419d1a
cmp dword [0x54840c], 8
mov eax, 0x5483f8
cmovae eax, dword [0x5483f8]
push eax
call esi
test eax, eax
jne 0x419e85
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004e2480
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x6b
push ebx
call edi
lea eax, [ebp - 0x218]
push eax
call esi
test eax, eax
je 0x419ddb
push 0x51bb3c
mov edx, 0x5483f8
lea ecx, [ebp - 0x480]
call fcn.00404d30
add esp, 4
push 0x5483e0
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x450]
call fcn.00404eb0
add esp, 4
mov ecx, 0x5483f8
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x450]
call fcn.00402ca0
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 7
call fcn.00402ca0
jmp 0x419e85
movzx eax, word [ecx]
cmp ax, word [edx]
mov edx, dword [0x548510]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x419361
movzx eax, word [ecx]
cmp ax, word [edx]
mov edx, dword [ebp - 0x458]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x419423
lea ecx, [ebp - 0x4ec]
call fcn.00404300
mov byte [ebp - 4], 0xa
cmp byte [ebp - 0x4cc], 0
je 0x419e23
sub esp, 0x18
mov ecx, esp
push 0x5483e0
call fcn.00404740
lea ecx, [ebp - 0x450]
call fcn.0040aa40
add esp, 0x18
mov ecx, 0x5483f8
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x450]
jmp 0x419e71
push str.Program_Files__x86__
lea edx, [ebp - 0x4ec]
lea ecx, [ebp - 0x480]
call fcn.00404d30
add esp, 4
push 0x5483e0
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x450]
call fcn.00404eb0
add esp, 4
mov ecx, 0x5483f8
push eax
call fcn.00402ce0
lea ecx, [ebp - 0x450]
call fcn.00402ca0
lea ecx, [ebp - 0x480]
call fcn.00402ca0
lea ecx, [ebp - 0x4ec]
mov byte [ebp - 4], 7
call fcn.00402ca0
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x5c4]
call fcn.00402d60
lea ecx, [ebp - 0x5bc]
call fcn.004186a0
push str.silent
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 0xc
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x5b4], 2
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
mov dword [ebp - 4], 0xe
mov ebx, 6
mov edx, eax
mov dword [ebp - 0x5b4], ebx
mov ecx, str.true
call fcn.0041b4a0
test al, al
jne 0x419fb3
push str.silent
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x480]
mov dword [ebp - 0x5b4], 0xe
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
mov dword [ebp - 4], 0x10
mov ebx, 0x1e
mov edx, eax
mov dword [ebp - 0x5b4], ebx
mov ecx, 0x51f94c
call fcn.0041b4a0
test al, al
jne 0x419fb3
push str.silent
lea ecx, [ebp - 0x438]
call fcn.00402d60
lea eax, [ebp - 0x438]
mov dword [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x450]
mov dword [ebp - 0x5b4], 0x3e
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
mov edx, eax
mov ecx, 0x51fa24
mov ebx, 0x7e
call fcn.0041b4a0
mov byte [ebp - 0x5ad], 0
test al, al
je 0x419fba
mov byte [ebp - 0x5ad], 1
test bl, 0x40
je 0x419fcd
lea ecx, [ebp - 0x450]
and ebx, 0xffffffbf
call fcn.00402ca0
test bl, 0x20
je 0x419fe0
lea ecx, [ebp - 0x438]
and ebx, 0xffffffdf
call fcn.00402ca0
test bl, 0x10
je 0x419ff3
lea ecx, [ebp - 0x480]
and ebx, 0xffffffef
call fcn.00402ca0
test bl, 8
je 0x41a006
lea ecx, [ebp - 0x498]
and ebx, 0xfffffff7
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
and ebx, 0xfffffffb
call fcn.00402ca0
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 4], 0xc
and ebx, 0xfffffffd
call fcn.00402ca0
movzx eax, byte [0x5480ad]
mov ecx, 1
cmp byte [ebp - 0x5ad], 0
mov esi, ebx
push str.silent
cmovne eax, ecx
lea ecx, [ebp - 0x438]
mov byte [0x5480ad], al
call fcn.00402d60
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x4c8]
or ebx, 0x80
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], ebx
call fcn.004187e0
or esi, 0x180
mov dword [ebp - 4], 0x13
mov edx, eax
mov dword [ebp - 0x5b4], esi
mov ecx, 0x51fa28
mov edi, esi
call fcn.0041b4a0
test al, al
jne 0x41a163
push str.silent
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x480]
or esi, 0x200
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
mov esi, edi
mov dword [ebp - 4], 0x15
or esi, 0x600
mov edx, eax
mov ecx, 0x51f458
mov dword [ebp - 0x5b4], esi
mov edi, esi
call fcn.0041b4a0
test al, al
jne 0x41a163
push str.silent
lea ecx, [ebp - 0x4b0]
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x450]
or esi, 0x800
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
mov esi, edi
mov edx, eax
mov ecx, 0x51fa34
or esi, 0x1800
call fcn.0041b4a0
test al, al
jne 0x41a163
xor bl, bl
jmp 0x41a165
mov bl, 1
test esi, 0x1000
je 0x41a17e
lea ecx, [ebp - 0x450]
and esi, 0xffffefff
call fcn.00402ca0
test esi, 0x800
je 0x41a197
lea ecx, [ebp - 0x4b0]
and esi, 0xfffff7ff
call fcn.00402ca0
test esi, 0x400
je 0x41a1b0
lea ecx, [ebp - 0x480]
and esi, 0xfffffbff
call fcn.00402ca0
test esi, 0x200
je 0x41a1c9
lea ecx, [ebp - 0x498]
and esi, 0xfffffdff
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
and esi, 0xfffffeff
call fcn.00402ca0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xc
and esi, 0xffffff7f
call fcn.00402ca0
movzx eax, byte [0x5480ad]
xor ecx, ecx
test bl, bl
mov edi, esi
push 0x51fa38
cmovne eax, ecx
lea ecx, [ebp - 0x438]
mov byte [0x5480ad], al
call fcn.00402d60
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x4c8]
or esi, 0x2000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
or edi, 0x6000
mov dword [ebp - 4], 0x18
mov edx, eax
mov dword [ebp - 0x5b4], edi
mov ecx, str.true
mov esi, edi
call fcn.0041b4a0
test al, al
jne 0x41a324
push 0x51fa38
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x480]
or edi, 0x8000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
mov edi, esi
mov dword [ebp - 4], 0x1a
or edi, 0x18000
mov edx, eax
mov ecx, 0x51f94c
mov dword [ebp - 0x5b4], edi
mov esi, edi
call fcn.0041b4a0
test al, al
jne 0x41a324
push 0x51fa38
lea ecx, [ebp - 0x4b0]
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x450]
or edi, 0x20000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
mov edi, esi
mov edx, eax
mov ecx, 0x51fa24
or edi, 0x60000
call fcn.0041b4a0
test al, al
jne 0x41a324
xor bl, bl
jmp 0x41a326
mov bl, 1
test edi, 0x40000
je 0x41a33f
lea ecx, [ebp - 0x450]
and edi, 0xfffbffff
call fcn.00402ca0
test edi, 0x20000
je 0x41a358
lea ecx, [ebp - 0x4b0]
and edi, 0xfffdffff
call fcn.00402ca0
test edi, 0x10000
je 0x41a371
lea ecx, [ebp - 0x480]
and edi, 0xfffeffff
call fcn.00402ca0
test edi, 0x8000
je 0x41a38a
lea ecx, [ebp - 0x498]
and edi, 0xffff7fff
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
and edi, 0xffffbfff
call fcn.00402ca0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xc
and edi, 0xffffdfff
call fcn.00402ca0
movzx eax, byte [0x5480b4]
test bl, bl
mov ecx, 1
mov esi, edi
cmovne eax, ecx
lea ecx, [ebp - 0x438]
push 0x51fa38
mov byte [0x5480b4], al
call fcn.00402d60
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x4c8]
or edi, 0x80000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
or esi, 0x180000
mov dword [ebp - 4], 0x1d
mov edx, eax
mov dword [ebp - 0x5b4], esi
mov ecx, 0x51fa28
mov edi, esi
call fcn.0041b4a0
test al, al
jne 0x41a4e8
push 0x51fa38
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x480]
or esi, 0x200000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
mov esi, edi
mov dword [ebp - 4], 0x1f
or esi, 0x600000
mov edx, eax
mov ecx, 0x51f458
mov dword [ebp - 0x5b4], esi
mov edi, esi
call fcn.0041b4a0
test al, al
jne 0x41a4e8
push 0x51fa38
lea ecx, [ebp - 0x4b0]
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x450]
or esi, 0x800000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
mov esi, edi
mov edx, eax
mov ecx, 0x51fa34
or esi, 0x1800000
call fcn.0041b4a0
test al, al
jne 0x41a4e8
xor bl, bl
jmp 0x41a4ea
mov bl, 1
test esi, 0x1000000
je 0x41a503
lea ecx, [ebp - 0x450]
and esi, 0xfeffffff
call fcn.00402ca0
test esi, 0x800000
je 0x41a51c
lea ecx, [ebp - 0x4b0]
and esi, 0xff7fffff
call fcn.00402ca0
test esi, 0x400000
je 0x41a535
lea ecx, [ebp - 0x480]
and esi, 0xffbfffff
call fcn.00402ca0
test esi, 0x200000
je 0x41a54e
lea ecx, [ebp - 0x498]
and esi, 0xffdfffff
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
and esi, 0xffefffff
call fcn.00402ca0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xc
and esi, 0xfff7ffff
call fcn.00402ca0
movzx eax, byte [0x5480b4]
xor ecx, ecx
test bl, bl
mov edi, esi
push 0x51fa44
cmovne eax, ecx
lea ecx, [ebp - 0x438]
mov byte [0x5480b4], al
call fcn.00402d60
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x564]
or esi, 0x2000000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], esi
call fcn.004187e0
or edi, 0x6000000
mov dword [ebp - 4], 0x22
mov edx, eax
mov dword [ebp - 0x5b4], edi
mov ecx, str.true
mov esi, edi
call fcn.0041b4a0
test al, al
jne 0x41a6a9
push 0x51fa44
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x480]
or edi, 0x8000000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
mov edi, esi
mov dword [ebp - 4], 0x24
or edi, 0x18000000
mov edx, eax
mov ecx, 0x51f94c
mov dword [ebp - 0x5b4], edi
mov esi, edi
call fcn.0041b4a0
test al, al
jne 0x41a6a9
push 0x51fa44
lea ecx, [ebp - 0x4b0]
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x450]
or edi, 0x20000000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
mov edi, esi
mov edx, eax
mov ecx, 0x51fa24
or edi, 0x60000000
call fcn.0041b4a0
test al, al
jne 0x41a6a9
xor bl, bl
jmp 0x41a6ab
mov bl, 1
test edi, 0x40000000
je 0x41a6c4
lea ecx, [ebp - 0x450]
and edi, 0xbfffffff
call fcn.00402ca0
test edi, 0x20000000
je 0x41a6dd
lea ecx, [ebp - 0x4b0]
and edi, 0xdfffffff
call fcn.00402ca0
test edi, 0x10000000
je 0x41a6f6
lea ecx, [ebp - 0x480]
and edi, 0xefffffff
call fcn.00402ca0
test edi, 0x8000000
je 0x41a70f
lea ecx, [ebp - 0x498]
and edi, 0xf7ffffff
call fcn.00402ca0
lea ecx, [ebp - 0x564]
and edi, 0xfbffffff
call fcn.00402ca0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xc
and edi, 0xfdffffff
call fcn.00402ca0
movzx eax, byte [0x5480ac]
lea ecx, [ebp - 0x4c8]
test bl, bl
mov esi, 1
push 0x51fa44
cmovne eax, esi
mov byte [0x5480ac], al
call fcn.00402d60
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x57c]
or edi, 0x80000000
push eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x5b4], edi
call fcn.004187e0
mov dword [ebp - 4], 0x27
mov ebx, esi
mov edx, eax
mov dword [ebp - 0x5c0], ebx
mov ecx, 0x51fa28
call fcn.0041b4a0
test al, al
jne 0x41a85a
push 0x51fa44
lea ecx, [ebp - 0x498]
call fcn.00402d60
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x5ac]
mov dword [ebp - 0x5c0], 3
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
mov dword [ebp - 4], 0x29
mov ebx, 7
mov edx, eax
mov dword [ebp - 0x5c0], ebx
mov ecx, 0x51f458
call fcn.0041b4a0
test al, al
jne 0x41a85a
push 0x51fa44
lea ecx, [ebp - 0x4b0]
call fcn.00402d60
lea eax, [ebp - 0x4b0]
mov dword [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x564]
mov dword [ebp - 0x5c0], 0xf
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
mov edx, eax
lea ebx, [esi + 0x1e]
mov ecx, 0x51fa34
call fcn.0041b4a0
mov byte [ebp - 0x5ad], 0
test al, al
je 0x41a861
mov byte [ebp - 0x5ad], 1
test bl, 0x10
je 0x41a874
lea ecx, [ebp - 0x564]
and ebx, 0xffffffef
call fcn.00402ca0
test bl, 8
je 0x41a887
lea ecx, [ebp - 0x4b0]
and ebx, 0xfffffff7
call fcn.00402ca0
test bl, 4
je 0x41a89a
lea ecx, [ebp - 0x5ac]
and ebx, 0xfffffffb
call fcn.00402ca0
test bl, 2
je 0x41a8aa
lea ecx, [ebp - 0x498]
call fcn.00402ca0
lea ecx, [ebp - 0x57c]
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 4], 0xc
call fcn.00402ca0
movzx eax, byte [0x5480ac]
xor ecx, ecx
cmp byte [ebp - 0x5ad], cl
push str._silent
push dword [ebp - 0x5c4]
cmovne eax, ecx
mov byte [0x5480ac], al
call fcn.004e1212
movzx ecx, byte [0x5480ad]
add esp, 8
test eax, eax
cmovne ecx, esi
mov byte [0x5480ad], cl
lea ecx, [ebp - 0x438]
push str.silent
call fcn.00402d60
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041ae00
lea ecx, [ebp - 0x438]
call fcn.00402ca0
push 0x51fa38
lea ecx, [ebp - 0x480]
call fcn.00402d60
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041ae00
lea ecx, [ebp - 0x480]
call fcn.00402ca0
push 0x51fa44
lea ecx, [ebp - 0x450]
call fcn.00402d60
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041ae00
lea ecx, [ebp - 0x450]
call fcn.00402ca0
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004189a0
push 0xffffffffffffffff
push 0
push eax
mov ecx, 0x548500
mov byte [ebp - 4], 0x2b
call fcn.00404c20
lea ecx, [ebp - 0x4e0]
mov byte [ebp - 4], 0xc
call fcn.00402ca0
sub esp, 0x18
mov ecx, esp
push 0x51fa5c
call fcn.00402d60
lea ecx, [ebp - 0x5bc]
call fcn.00418930
test al, al
je 0x41aa2e
push 0x51fa5c
lea ecx, [ebp - 0x450]
call fcn.00402d60
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
push eax
mov ecx, 0x5483f8
call fcn.00402ce0
lea ecx, [ebp - 0x4e0]
call fcn.00402ca0
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0xc
call fcn.00402ca0
sub esp, 0x18
mov ecx, esp
push str.instdir
call fcn.00402d60
lea ecx, [ebp - 0x5bc]
call fcn.00418930
test al, al
je 0x41aa9e
push str.instdir
lea ecx, [ebp - 0x450]
call fcn.00402d60
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.004187e0
push eax
mov ecx, 0x5483f8
call fcn.00402ce0
lea ecx, [ebp - 0x4e0]
call fcn.00402ca0
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0xc
call fcn.00402ca0
lea ecx, [ebp - 0x534]
call fcn.0040a560
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x2e
call fcn.0040d160
sub esp, 0x18
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x534]
mov ecx, esp
push edx
mov edx, eax
call fcn.0041b4f0
add esp, 4
lea ecx, [ebp - 0x4e0]
xor dl, dl
call fcn.00418510
add esp, 0x18
mov ecx, 0x548440
push eax
call fcn.00402e00
lea ecx, [ebp - 0x4e0]
call fcn.00402dc0
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x2e
call fcn.00402dc0
cmp dword [ebp - 0x520], 0x10
lea edx, [ebp - 0x534]
push dword [ebp - 0x524]
cmovae edx, dword [ebp - 0x534]
lea ecx, [ebp - 0x5ac]
call fcn.00417400
add esp, 4
mov ecx, 0x5484b8
push eax
call fcn.00402e00
lea ecx, [ebp - 0x5ac]
call fcn.00402dc0
push 0x548440
lea ecx, [ebp - 0x450]
call fcn.004bffa0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x30
push eax
push 0x51fa78
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x2e
call fcn.004c0630
push 0x5484b8
lea ecx, [ebp - 0x480]
call fcn.004bffa0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0x31
push eax
push 0x51fa7c
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0x2e
call fcn.004c0630
lea ecx, [ebp - 0x564]
call fcn.0040a780
push eax
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 0x32
call fcn.00410ca0
add esp, 4
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x4e0]
mov edx, eax
call fcn.0040d240
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x34
call fcn.004bffa0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x35
push eax
push 0x51fa80
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x450]
call fcn.004c0630
lea ecx, [ebp - 0x4e0]
call fcn.00402dc0
lea ecx, [ebp - 0x57c]
call fcn.00402ca0
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0x2e
call fcn.00402ca0
lea ecx, [ebp - 0x4c8]
call fcn.0040a0e0
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x4e0]
call fcn.0040d240
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x37
call fcn.004bffa0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x38
push eax
push str.winver
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x450]
call fcn.004c0630
lea ecx, [ebp - 0x4e0]
call fcn.00402dc0
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0x2e
call fcn.00402ca0
mov edx, 0x548410
lea ecx, [ebp - 0x4b0]
call fcn.0040d240
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x39
call fcn.004bffa0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x3a
push eax
push str.product_sn
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x450]
call fcn.004c0630
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 0x2e
call fcn.00402dc0
mov edx, 0x5484e8
lea ecx, [ebp - 0x498]
call fcn.0040d240
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x450]
push eax
call fcn.004bffa0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x3c
push eax
push str.promo_code
mov ecx, 0x548560
call fcn.004c08b0
mov ecx, eax
call fcn.004c0750
lea ecx, [ebp - 0x450]
call fcn.004c0630
lea ecx, [ebp - 0x498]
call fcn.00402dc0
lea ecx, [ebp - 0x534]
call fcn.00402dc0
mov eax, dword [ebp - 0x5bc]
lea ecx, [ebp - 0x5bc]
push eax
push dword [eax]
lea eax, [ebp - 0x5c4]
push eax
call fcn.0041af80
push 0x40
push 1
push dword [ebp - 0x5bc]
call fcn.00401d90
add esp, 0xc
lea ecx, [ebp - 0x594]
call fcn.00402ca0
lea ecx, [ebp - 0x504]
call fcn.00402ca0
lea ecx, [ebp - 0x468]
call fcn.00402ca0
lea ecx, [ebp - 0x51c]
call fcn.00402ca0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c8882
mov esp, ebp
pop ebp
ret