Function at 0x4144a0
Capabilities:
Check http status code
Check if file exists
Contain obfuscated stackstrings
Copy file
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68d045
mov eax, dword fs:[0]
push eax
sub esp, 0x73c
mov eax, dword [0x737100]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x540], ecx
push 0x71d510
mov ecx, dword [ebp - 0x540]
add ecx, 0xf4
call fcn.00405fd0
push 0
push 1
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x404]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x604], eax
mov edx, dword [ebp - 0x604]
mov dword [ebp - 0x608], edx
mov dword [ebp - 4], 0
push 0x71d514
mov eax, dword [ebp - 0x608]
push eax
lea ecx, [ebp - 0x70]
push ecx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x404]
call fcn.00403030
mov byte [ebp - 0x544], 0
lea ecx, [ebp - 0x70]
call fcn.00403020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41456e
mov byte [ebp - 0x544], 1
mov edx, dword [ebp + 8]
add edx, 0x18
push edx
lea eax, [ebp - 0x41c]
push eax
call fcn.00409530
add esp, 8
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x610], ecx
mov byte [ebp - 4], 3
push 0x71d524
mov edx, dword [ebp - 0x610]
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x41c]
call fcn.00403030
push 0x71c393
lea ecx, [ebp - 0x58]
call fcn.0040d080
mov byte [ebp - 4], 6
mov byte [ebp - 0x542], 0
lea ecx, [ebp - 0x578]
call fcn.00421a00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.00421800
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x590]
push ecx
lea edx, [ebp - 0x578]
push edx
lea eax, [ebp - 0x542]
push eax
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x540]
call fcn.0041e260
movzx eax, al
test eax, eax
je 0x41463f
lea ecx, [ebp - 0x578]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x18
push edx
mov ecx, dword [ebp - 0x540]
call fcn.0041efa0
push 0
lea ecx, [ebp - 0x5c0]
call fcn.0043dde0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00444190
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x434]
push eax
call fcn.0040a1d0
add esp, 4
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x614]
mov dword [ebp - 0x618], ecx
mov byte [ebp - 4], 0xb
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x71c], esp
mov ecx, dword [ebp - 0x618]
call fcn.0040f770
push eax
mov ecx, esi
call fcn.0043dfd0
mov dword [ebp - 0x718], eax
mov byte [ebp - 4], 0xc
push 0x71d540
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.0043e670
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x434]
call fcn.0040d010
mov edx, dword [ebp + 8]
add edx, 0x30
push edx
lea eax, [ebp - 0x44c]
push eax
call fcn.0040ec60
add esp, 8
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x600]
mov dword [ebp - 0x61c], ecx
mov byte [ebp - 4], 0xd
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x714], esp
mov ecx, dword [ebp - 0x61c]
call fcn.0040f770
push eax
mov ecx, esi
call fcn.0043dfd0
mov dword [ebp - 0x710], eax
mov byte [ebp - 4], 0xe
push 0x71d544
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xd
mov ecx, eax
call fcn.0043e670
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44c]
call fcn.0040d010
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x70c], esp
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
call fcn.0043dee0
mov dword [ebp - 0x708], eax
mov byte [ebp - 4], 0xf
push 0x71d548
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x704], esp
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
push eax
call fcn.0043dee0
mov dword [ebp - 0x700], eax
mov byte [ebp - 4], 0x10
push 0x71d54c
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x6f8], esp
lea ecx, [ebp - 0x58]
call fcn.0040f770
push eax
mov ecx, esi
call fcn.0043dfd0
mov dword [ebp - 0x6f4], eax
mov byte [ebp - 4], 0x11
push 0x71d550
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6f0], esp
push 0x71d558
call fcn.0043dfd0
mov dword [ebp - 0x6ec], eax
mov byte [ebp - 4], 0x12
push 0x71d554
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
movzx ecx, byte [ebp - 0x542]
test ecx, ecx
je 0x41485d
mov dword [ebp - 0x5cc], 1
jmp 0x414867
mov dword [ebp - 0x5cc], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6e8], esp
mov edx, dword [ebp - 0x5cc]
push edx
call fcn.0043dee0
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 0x13
push 0x71d55c
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x720], esp
push 1
call fcn.0043dee0
mov dword [ebp - 0x724], eax
mov byte [ebp - 4], 0x14
push str.is_new_wb
lea ecx, [ebp - 0x5c0]
call fcn.00441760
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043e670
lea eax, [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.00444250
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x540]
add edx, 0xd8
push edx
lea ecx, [ebp - 0x88]
call fcn.0040f7b0
mov byte [ebp - 4], 0x16
push str._api_v1_client_update_check
lea ecx, [ebp - 0x88]
call fcn.0040cff0
lea ecx, [ebp - 0xa0]
call fcn.0040f840
mov byte [ebp - 4], 0x17
push 0
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x118]
push ecx
lea edx, [ebp - 0x88]
push edx
call fcn.00431810
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x414a0e
push 0x71d58c
call fcn.00425110
add esp, 4
mov dword [ebp - 0x620], 0xffffffff
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x620]
jmp 0x416b5d
push 0x3c
push 1
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
push 0
lea ecx, [ebp - 0x55c]
call fcn.0043dde0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00435680
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xa0]
call fcn.0040f770
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0040d080
mov byte [ebp - 4], 0x1a
push 1
lea ecx, [ebp - 0x55c]
push ecx
lea edx, [ebp - 0x2a0]
push edx
lea ecx, [ebp - 0x314]
call fcn.00435830
movzx eax, al
test eax, eax
jne 0x414a86
mov dword [ebp - 0x5c8], 1
jmp 0x414a90
mov dword [ebp - 0x5c8], 0
mov cl, byte [ebp - 0x5c8]
mov byte [ebp - 0x55d], cl
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2a0]
call fcn.0040d010
movzx edx, byte [ebp - 0x55d]
test edx, edx
je 0x414b8a
push 0x71d5a4
call fcn.00425110
add esp, 4
mov dword [ebp - 0x624], 0xfffffffe
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x624]
jmp 0x416b5d
mov dword [ebp - 0x5c4], 0xffffffff
mov byte [ebp - 0x543], 0
push 0x71c3d6
lea ecx, [ebp - 0x100]
call fcn.0040d080
mov byte [ebp - 4], 0x1b
push 0x71c3d7
lea ecx, [ebp - 0xe8]
call fcn.0040d080
mov byte [ebp - 4], 0x1c
push 0x71c3fe
lea ecx, [ebp - 0x130]
call fcn.0040d080
mov byte [ebp - 4], 0x1d
push 0x71c3ff
lea ecx, [ebp - 0xd0]
call fcn.0040d080
mov byte [ebp - 4], 0x1e
push 0x71c41e
lea ecx, [ebp - 0xb8]
call fcn.0040d080
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x63c], 0
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx eax, al
test eax, eax
je 0x414cad
push 0x71d5b8
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x414cad
push 0x71d5c0
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x414cad
push 0x71d5c8
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x414cad
push 0x71d5d0
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442290
movzx ecx, al
test ecx, ecx
je 0x414cad
push str.code
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f2e0
mov dword [ebp - 0x5c4], eax
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx edx, al
test edx, edx
je 0x414d51
push 0x71d5e0
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x414d51
push 0x71d5e8
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x414d51
push 0x71d5f0
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x414d51
push 0x71d5f8
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442250
movzx eax, al
test eax, eax
je 0x414d51
push str.success
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440150
mov byte [ebp - 0x543], al
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx ecx, al
test ecx, ecx
je 0x414e1d
push 0x71d608
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx edx, al
test edx, edx
je 0x414e1d
push 0x71d60c
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx eax, al
test eax, eax
jne 0x414e1d
push 0x71d610
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx ecx, al
test ecx, ecx
jne 0x414e1d
push 0x71d614
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx edx, al
test edx, edx
je 0x414e1d
lea eax, [ebp - 0x3d4]
push eax
push 0x71d618
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00421f20
lea ecx, [ebp - 0x3d4]
call fcn.0040d010
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx edx, al
test edx, edx
je 0x414ee9
push 0x71d61c
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x414ee9
push 0x71d62c
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x414ee9
push 0x71d63c
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x414ee9
push 0x71d64c
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx eax, al
test eax, eax
je 0x414ee9
lea ecx, [ebp - 0x464]
push ecx
push str.version_number
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x62c], eax
mov edx, dword [ebp - 0x62c]
push edx
lea ecx, [ebp - 0xe8]
call fcn.00421f20
lea ecx, [ebp - 0x464]
call fcn.0040d010
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx eax, al
test eax, eax
je 0x414fb5
push 0x71d66c
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x414fb5
push 0x71d670
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x414fb5
push 0x71d674
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x414fb5
push 0x71d678
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx ecx, al
test ecx, ecx
je 0x414fb5
lea edx, [ebp - 0x47c]
push edx
push 0x71d67c
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
push eax
lea ecx, [ebp - 0x130]
call fcn.00421f20
lea ecx, [ebp - 0x47c]
call fcn.0040d010
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx ecx, al
test ecx, ecx
je 0x415081
push 0x71d680
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx edx, al
test edx, edx
je 0x415081
push 0x71d688
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx eax, al
test eax, eax
jne 0x415081
push 0x71d690
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx ecx, al
test ecx, ecx
jne 0x415081
push 0x71d698
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx edx, al
test edx, edx
je 0x415081
lea eax, [ebp - 0x494]
push eax
push str.m_addr
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
push ecx
lea ecx, [ebp - 0xd0]
call fcn.00421f20
lea ecx, [ebp - 0x494]
call fcn.0040d010
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx edx, al
test edx, edx
je 0x41514d
push 0x71d6a8
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx eax, al
test eax, eax
je 0x41514d
push 0x71d6b4
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx ecx, al
test ecx, ecx
jne 0x41514d
push 0x71d6c0
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx edx, al
test edx, edx
jne 0x41514d
push 0x71d6cc
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442750
movzx eax, al
test eax, eax
je 0x41514d
lea ecx, [ebp - 0x4ac]
push ecx
push str.custom_addr
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f0a0
mov dword [ebp - 0x638], eax
mov edx, dword [ebp - 0x638]
push edx
lea ecx, [ebp - 0xb8]
call fcn.00421f20
lea ecx, [ebp - 0x4ac]
call fcn.0040d010
lea ecx, [ebp - 0x55c]
call fcn.004427d0
movzx eax, al
test eax, eax
je 0x4151f1
push 0x71d6e4
lea ecx, [ebp - 0x55c]
call fcn.00441f40
movzx ecx, al
test ecx, ecx
je 0x4151f1
push 0x71d6ec
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442210
movzx edx, al
test edx, edx
jne 0x4151f1
push 0x71d6f4
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00440740
movzx eax, al
test eax, eax
jne 0x4151f1
push 0x71d6fc
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.00442290
movzx ecx, al
test ecx, ecx
je 0x4151f1
push str.gray
lea ecx, [ebp - 0x55c]
call fcn.00441760
mov ecx, eax
call fcn.0043f2e0
mov dword [ebp - 0x63c], eax
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x4c4]
push eax
call fcn.0040ed50
add esp, 8
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x640]
push ecx
mov ecx, dword [ebp - 0x540]
add ecx, 0xf4
call fcn.00406030
lea ecx, [ebp - 0x4c4]
call fcn.00403030
cmp dword [ebp - 0x5c4], 0xc8
jne 0x41526f
movzx edx, byte [ebp - 0x543]
test edx, edx
je 0x41526f
lea ecx, [ebp - 0x100]
call fcn.0040f720
movzx eax, al
test eax, eax
jne 0x41526f
lea ecx, [ebp - 0xe8]
call fcn.0040f720
movzx ecx, al
test ecx, ecx
je 0x41538a
push 0x71d70c
call fcn.00425110
add esp, 4
mov dword [ebp - 0x644], 0xfffffffd
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x644]
jmp 0x416b5d
push 0x46
push 1
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea edx, [ebp - 0x4dc]
push edx
mov ecx, dword [ebp - 0x540]
call fcn.00418e20
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
mov dword [ebp - 0x64c], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x64c]
push ecx
lea edx, [ebp - 0x40]
push edx
call fcn.00409530
add esp, 8
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x4dc]
call fcn.00403030
push str.TmpVerinfo_
lea ecx, [ebp - 0x40]
call fcn.0040cf50
push 0
call fcn.00411ac0
add esp, 4
push edx
push eax
lea eax, [ebp - 0x4f4]
push eax
call fcn.004131a0
add esp, 0xc
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x650]
mov dword [ebp - 0x654], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x654]
push edx
lea ecx, [ebp - 0x40]
call fcn.00421e20
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x4f4]
call fcn.00403030
push str..json
lea ecx, [ebp - 0x40]
call fcn.0040cf50
push 0x71c41f
lea ecx, [ebp - 0x178]
call fcn.0040d080
mov byte [ebp - 4], 0x24
mov byte [ebp - 0x55e], 0
lea ecx, [ebp - 0x5a8]
call fcn.00421a00
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.00421800
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x541], 0
lea eax, [ebp - 0x59c]
push eax
lea ecx, [ebp - 0x5a8]
push ecx
lea edx, [ebp - 0x55e]
push edx
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0xb8]
push edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x540]
call fcn.004179b0
movzx ecx, al
test ecx, ecx
je 0x4154d3
mov byte [ebp - 0x541], 1
push 0x50
push 1
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea ecx, [ebp - 0x584]
call fcn.00421a00
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x584]
push edx
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x578]
push ecx
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x540]
call fcn.00418170
mov dword [ebp - 0x564], eax
cmp dword [ebp - 0x564], 0
je 0x415541
cmp dword [ebp - 0x564], 2
je 0x415541
cmp dword [ebp - 0x564], 3
jne 0x415871
mov ecx, dword [ebp + 8]
add ecx, 0x18
push ecx
lea edx, [ebp - 0x50c]
push edx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x65c], eax
mov byte [ebp - 4], 0x28
push str.configclient.txt
mov ecx, dword [ebp - 0x65c]
push ecx
lea edx, [ebp - 0x270]
push edx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x50c]
call fcn.00403030
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x48]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x728], esp
mov edx, dword [ebp + 8]
add edx, 0x30
push edx
call fcn.004030e0
mov dword [ebp - 0x72c], eax
mov byte [ebp - 4], 0x2b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x730], esp
lea eax, [ebp - 0x270]
push eax
call fcn.004030e0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x540]
call fcn.0041c8d0
mov ecx, dword [ebp + 8]
add ecx, 0x18
push ecx
lea edx, [ebp - 0x524]
push edx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x664], eax
mov byte [ebp - 4], 0x2c
push 0x71d76c
mov ecx, dword [ebp - 0x664]
push ecx
lea edx, [ebp - 0x288]
push edx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x524]
call fcn.00403030
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x734], esp
mov eax, dword [ebp + 8]
add eax, 0x68
push eax
call fcn.004030e0
mov dword [ebp - 0x738], eax
mov byte [ebp - 4], 0x2f
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x73c], esp
mov edx, dword [ebp + 8]
add edx, 0x50
push edx
call fcn.004030e0
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0x30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x744], esp
lea eax, [ebp - 0x288]
push eax
call fcn.004030e0
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x540]
call fcn.0041d330
movzx ecx, byte [ebp - 0x541]
test ecx, ecx
je 0x4156e4
cmp dword [ebp - 0x564], 2
je 0x4156e4
lea edx, [ebp - 0x28]
push edx
call fcn.00409210
add esp, 4
push 0
lea ecx, [ebp - 0x28]
call fcn.00403020
push eax
lea ecx, [ebp - 0x40]
call fcn.00403020
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x59c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x18
push ecx
mov ecx, dword [ebp - 0x540]
call fcn.00417850
mov dword [ebp - 0x668], 0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x288]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x270]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x668]
jmp 0x416b5d
push 0x64
push 1
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
push 0
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
cmp dword [ebp - 0x564], 0xffffffff
jne 0x416115
lea edx, [ebp - 0x53c]
push edx
mov ecx, dword [ebp - 0x540]
call fcn.00418e20
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x670], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x670]
push ecx
lea edx, [ebp - 0x160]
push edx
call fcn.00409530
add esp, 8
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x53c]
call fcn.00403030
push str.TmpClient_
lea ecx, [ebp - 0x160]
call fcn.0040cf50
push 0
call fcn.00411ac0
add esp, 4
push edx
push eax
lea eax, [ebp - 0x3ec]
push eax
call fcn.004131a0
add esp, 0xc
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x674]
mov dword [ebp - 0x678], ecx
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x678]
push edx
lea ecx, [ebp - 0x160]
call fcn.00421e20
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x3ec]
call fcn.00403030
push 0x71d7a8
lea ecx, [ebp - 0x160]
call fcn.0040cf50
push 0x5a
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0x540]
call fcn.0041c8a0
movzx edx, al
test edx, edx
jne 0x415b00
push 0x71d7b0
call fcn.00425110
add esp, 4
mov dword [ebp - 0x67c], 0xfffffffc
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x160]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x67c]
jmp 0x416b5d
push 0x5b
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
push 0x62
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x32c]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x680], eax
mov edx, dword [ebp - 0x680]
mov dword [ebp - 0x684], edx
mov byte [ebp - 4], 0x35
push 0x71d7c0
mov eax, dword [ebp - 0x684]
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x32c]
call fcn.00403030
lea edx, [ebp - 0x148]
push edx
call fcn.00409210
add esp, 4
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.00413500
add esp, 8
movzx edx, al
test edx, edx
jne 0x415d25
push 0x71d7dc
call fcn.00425110
add esp, 4
mov dword [ebp - 0x688], 0xfffffffb
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x148]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x160]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x688]
jmp 0x416b5d
lea ecx, [ebp - 0x5dc]
call fcn.0040f570
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x5dc]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x748], esp
lea edx, [ebp - 0x148]
push edx
call fcn.004030e0
mov ecx, dword [ebp - 0x540]
call fcn.00414260
lea ecx, [ebp - 0x5dc]
call fcn.00421a60
movzx eax, al
test eax, eax
je 0x415f03
push 0x71d7ec
call fcn.00425110
add esp, 4
mov dword [ebp - 0x68c], 0xfffffffb
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x5dc]
call fcn.00402ec0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x148]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x160]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x68c]
jmp 0x416b5d
lea ecx, [ebp - 0x5dc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x18
push edx
lea eax, [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x540]
call fcn.00416e20
movzx ecx, al
test ecx, ecx
jne 0x4160be
push 0x71d7fc
call fcn.004251f0
add esp, 4
mov dword [ebp - 0x690], 0xfffffffb
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x5dc]
call fcn.00402ec0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x148]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x160]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x690]
jmp 0x416b5d
lea ecx, [ebp - 0x148]
call fcn.00403020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4160e3
lea edx, [ebp - 0x148]
push edx
call fcn.004090d0
add esp, 4
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x5dc]
call fcn.00402ec0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x148]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x160]
call fcn.00403030
jmp 0x41663d
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x344]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x694], eax
mov edx, dword [ebp - 0x694]
mov dword [ebp - 0x698], edx
mov byte [ebp - 4], 0x39
push 0x71d80c
mov eax, dword [ebp - 0x698]
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x344]
call fcn.00403030
lea edx, [ebp - 0x190]
push edx
call fcn.00409210
add esp, 4
push 0x60
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
mov dword [ebp - 0x568], 0
jmp 0x4161a4
mov eax, dword [ebp - 0x568]
add eax, 1
mov dword [ebp - 0x568], eax
lea ecx, [ebp - 0x584]
call fcn.00421870
cmp dword [ebp - 0x568], eax
jae 0x416397
mov ecx, dword [ebp - 0x568]
push ecx
lea ecx, [ebp - 0x584]
call fcn.00421850
mov dword [ebp - 0x5d0], eax
mov edx, dword [ebp - 0x5d0]
push edx
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0xb8]
push ecx
lea edx, [ebp - 0xd0]
push edx
mov ecx, dword [ebp - 0x540]
call fcn.00417cf0
movzx eax, al
test eax, eax
jne 0x416392
mov ecx, dword [ebp - 0x5d0]
add ecx, 0x18
call fcn.00403020
mov dword [ebp - 0x69c], eax
lea ecx, [ebp - 0x69c]
push ecx
push 0x71d828
call fcn.00425260
add esp, 8
mov dword [ebp - 0x6a0], 0xfffffffa
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x190]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x6a0]
jmp 0x416b5d
jmp 0x416195
push 0x61
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea ecx, [ebp - 0x6c0]
call fcn.0040f570
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x56c], 0
jmp 0x4163d0
mov edx, dword [ebp - 0x56c]
add edx, 1
mov dword [ebp - 0x56c], edx
lea ecx, [ebp - 0x584]
call fcn.00421870
cmp dword [ebp - 0x56c], eax
jae 0x41643f
mov eax, dword [ebp - 0x56c]
push eax
lea ecx, [ebp - 0x584]
call fcn.00421850
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x6a4]
push ecx
lea edx, [ebp - 0x190]
push edx
lea eax, [ebp - 0x258]
push eax
call fcn.0040dc30
add esp, 0xc
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x258]
push ecx
lea ecx, [ebp - 0x6c0]
call fcn.00421ad0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x258]
call fcn.00403030
jmp 0x4163c1
lea edx, [ebp - 0x6c0]
push edx
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x190]
push ecx
mov ecx, dword [ebp - 0x540]
call fcn.00416e20
movzx edx, al
test edx, edx
jne 0x4165eb
push 0x71d844
call fcn.004251f0
add esp, 4
mov dword [ebp - 0x6a8], 0xfffffff9
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x6c0]
call fcn.00402ec0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x190]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x6a8]
jmp 0x416b5d
push 0x62
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea ecx, [ebp - 0x190]
call fcn.00403020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41661f
lea eax, [ebp - 0x190]
push eax
call fcn.004090d0
add esp, 4
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x6c0]
call fcn.00402ec0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x190]
call fcn.00403030
push 0x63
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
lea ecx, [ebp - 0x1c8]
push ecx
mov ecx, dword [ebp - 0x540]
call fcn.00418c00
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x1c8]
call fcn.00403020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x416687
lea edx, [ebp - 0x1c8]
push edx
call fcn.004090d0
add esp, 4
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x35c]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x6ac], eax
mov edx, dword [ebp - 0x6ac]
mov dword [ebp - 0x6b0], edx
mov byte [ebp - 4], 0x3f
push 0x71d858
mov eax, dword [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x210]
push ecx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x35c]
call fcn.00403030
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x48]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c4], esp
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
call fcn.004030e0
mov dword [ebp - 0x6c8], eax
mov byte [ebp - 4], 0x42
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6cc], esp
lea edx, [ebp - 0x210]
push edx
call fcn.004030e0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x540]
call fcn.0041c8d0
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x374]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x6b4], eax
mov edx, dword [ebp - 0x6b4]
mov dword [ebp - 0x5e0], edx
mov byte [ebp - 4], 0x43
push str.configcache.json
mov eax, dword [ebp - 0x5e0]
push eax
lea ecx, [ebp - 0x1e0]
push ecx
call fcn.0040db20
add esp, 0xc
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x374]
call fcn.00403030
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6d0], esp
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
call fcn.004030e0
mov dword [ebp - 0x6d4], eax
mov byte [ebp - 4], 0x46
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6d8], esp
mov eax, dword [ebp + 8]
add eax, 0x50
push eax
call fcn.004030e0
mov dword [ebp - 0x6dc], eax
mov byte [ebp - 4], 0x47
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6e0], esp
lea edx, [ebp - 0x1e0]
push edx
call fcn.004030e0
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x540]
call fcn.0041d330
movzx eax, byte [ebp - 0x544]
test eax, eax
je 0x416828
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x80]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6e4], esp
lea eax, [ebp - 0x1e0]
push eax
call fcn.004030e0
mov ecx, dword [ebp - 0x540]
call fcn.0041d8d0
movzx ecx, byte [ebp - 0x541]
test ecx, ecx
je 0x416859
lea edx, [ebp - 0x28]
push edx
call fcn.00409210
add esp, 4
push 0
lea ecx, [ebp - 0x28]
call fcn.00403020
push eax
lea ecx, [ebp - 0x40]
call fcn.00403020
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x59c]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x18
push ecx
mov ecx, dword [ebp - 0x540]
call fcn.00417850
mov edx, dword [ebp + 8]
cmp dword [edx + 0x84], 2
jne 0x4169d0
push 0x71d8bc
lea ecx, [ebp - 0x228]
call fcn.00403090
mov byte [ebp - 4], 0x48
push 0x71d8d8
lea ecx, [ebp - 0x240]
call fcn.00403090
mov byte [ebp - 4], 0x49
push 0x71d8e4
lea ecx, [ebp - 0x1f8]
call fcn.00403090
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x3bc]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], edx
mov byte [ebp - 4], 0x4b
push str.Uninstall.exe
mov eax, dword [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x3a4]
push ecx
call fcn.0040db20
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f4], edx
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp + 8]
add eax, 0x18
push eax
lea ecx, [ebp - 0x38c]
push ecx
call fcn.00409530
add esp, 8
mov dword [ebp - 0x5f0], eax
mov edx, dword [ebp - 0x5f0]
mov dword [ebp - 0x5f8], edx
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x5f4]
push eax
mov ecx, dword [ebp - 0x5f8]
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x240]
push ecx
lea edx, [ebp - 0x1f8]
push edx
call fcn.00409970
add esp, 0x18
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x38c]
call fcn.00403030
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x3a4]
call fcn.00403030
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x3bc]
call fcn.00403030
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x1f8]
call fcn.00403030
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x240]
call fcn.00403030
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x228]
call fcn.00403030
push 0x64
push 2
mov ecx, dword [ebp - 0x540]
call fcn.004186d0
mov dword [ebp - 0x5fc], 1
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x1e0]
call fcn.00403030
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x210]
call fcn.00403030
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x1c8]
call fcn.00403030
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x584]
call fcn.004219e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x59c]
call fcn.004217e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x5a8]
call fcn.004219e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x178]
call fcn.0040d010
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x40]
call fcn.00403030
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.0040d010
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd0]
call fcn.0040d010
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x130]
call fcn.0040d010
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xe8]
call fcn.0040d010
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
call fcn.0040d010
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00416b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x55c]
call fcn.0043e540
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa0]
call fcn.0040d010
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x88]
call fcn.0040d010
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x118]
call fcn.0040d010
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
call fcn.00413320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5c0]
call fcn.0043e540
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x590]
call fcn.004217e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x578]
call fcn.004219e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.0040d010
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00403030
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403030
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004815ec
mov esp, ebp
pop ebp
ret 4