Function at 0x14000c560
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x14006e060]
xor rax, rsp
mov qword [rbp + 0x110], rax
xor r15d, r15d
mov dword [rbp - 0x70], r15d
mov dword [rsp + 0x20], r15d
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x40]
call fcn.14002e640
lea rax, [0x1400624a8]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x78], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r15
mov dword [rbp - 0x70], 1
lea r12, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x70], r12
mov dword [rbp + 0x6c], 0x98
mov qword [rbp - 0x38], r15
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x70]
call fcn.1400118d0
nop
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x40], rsi
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x30]
call fcn.140010470
nop
lea rdx, [0x1400713e0]
cmp qword [0x1400713f8], 8
cmovae rdx, qword [0x1400713e0]
lea rcx, [rbp - 0x30]
call fcn.1400194e0
lea ebx, [r15 + 6]
lea edi, [rbx - 4]
test rax, rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rcx, [rbp + rcx - 0x40]
je 0x14000c67a
mov edx, 4
cmp qword [rcx + 0x48], r15
cmovne edx, r15d
jmp 0x14000c687
mov edx, ebx
cmp qword [rcx + 0x48], 0
cmovne edx, edi
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140008260
mov r14d, 0xf
cmp qword [rbp + 0x50], 0
je 0x14000c7d5
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [0x14006ec90]
call fcn.1400039b0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14000c706
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c701
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0cb
call fcn.14002bdc0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.140008790
nop
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x14000c766
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
lea rcx, [0x14006ec90]
call fcn.1400039b0
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x40]
add rcx, rax
mov edx, ebx
cmp qword [rcx + 0x48], 0
cmovne edx, edi
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140008260
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14000c7a3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c79e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0cb
call fcn.14002bdc0
lea rcx, [rbp - 0x30]
call fcn.140010380
test rax, rax
jne 0x14000c7d5
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x40]
add rcx, rax
cmp qword [rcx + 0x48], 0
cmovne ebx, edi
or ebx, dword [rcx + 0x10]
xor r8d, r8d
mov edx, ebx
call fcn.140008260
cmp dword [rsp + 0x20], 0
jne 0x14000c837
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], rsi
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x30]
call fcn.14000ef40
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], r12
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x44], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x70]
call fcn.14002ad1c
nop
jmp 0x14000c8aa
lea rdx, [rsp + 0x20]
lea rcx, [0x140071348]
call fcn.14000d190
nop
test al, al
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], rsi
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x30]
jne 0x14000d053
call fcn.14000ef40
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], r12
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x44], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x70]
call fcn.14002ad1c
nop
lea rcx, [rsp + 0x20]
call fcn.140002030
mov qword [rsp + 0x20], r15
lea rax, [0x14006ec50]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.14000ae60
mov qword [rbp - 0x68], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14000c941
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c93c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0d1
call fcn.14002bdc0
cmp dword [rsp + 0x20], 0
je 0x14000c94f
xor bl, bl
jmp 0x14000cfbb
mov cl, 1
call fcn.14002aa4c
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x58]
lea rbx, [rcx + rax*2]
mov r11, rbx
mov rdx, rbx
call fcn.1400083e0
cmp rax, rbx
je 0x14000c9bb
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14000c990
cmp cx, 0x2f
jne 0x14000c9a0
add rax, 2
cmp rax, rbx
jne 0x14000c981
mov r8, rbx
jmp 0x14000c9fd
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14000c9bb
cmp cx, 0x2f
je 0x14000c9bb
mov r11, rdx
cmp rax, rdx
jne 0x14000c9a0
mov r8, r11
cmp r11, rbx
je 0x14000c9fd
cmp word [r8], 0x3a
je 0x14000c9d3
add r8, 2
cmp r8, rbx
jne 0x14000c9c3
cmp r11, r8
je 0x14000c9fd
lea rax, [r8 - 2]
cmp r11, rax
je 0x14000c9fd
cmp word [rax], 0x2e
jne 0x14000cadd
lea rcx, [rax - 2]
cmp r11, rcx
jne 0x14000c9fa
cmp word [rcx], 0x2e
je 0x14000c9fd
mov r8, rax
sub r8, r11
sar r8, 1
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r15w
mov rdx, r11
lea rcx, [rsp + 0x30]
call fcn.1400036c0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.14000fb90
nop
lea rcx, [rsp + 0x50]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
cmovae rcx, r8
mov rax, qword [rsp + 0x60]
lea rsi, [rcx + rax*2]
lea rdi, [rsp + 0x50]
cmovae rdi, r8
mov qword [rsp + 0x70], r15
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r15w
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
cmp rdi, rsi
je 0x14000cb2d
nop dword [rax]
movzx ebx, word [rdi]
lea rcx, [rsp + 0x20]
call fcn.14001ca70
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
movzx edx, bx
mov rcx, rax
call r8
mov rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x78]
cmp rdx, r8
jae 0x14000cb08
lea rcx, [rdx + 1]
mov qword [rbp - 0x80], rcx
lea rcx, [rsp + 0x70]
cmp r8, 8
cmovae rcx, qword [rsp + 0x70]
mov word [rcx + rdx*2], ax
mov word [rcx + rdx*2 + 2], r15w
jmp 0x14000cb16
sub rax, 2
cmp r11, rax
je 0x14000c9fd
nop word [rax + rax]
cmp word [rax], 0x2e
je 0x14000c9fa
sub rax, 2
cmp r11, rax
jne 0x14000caf0
jmp 0x14000c9fd
movzx r9d, ax
lea rcx, [rsp + 0x70]
call fcn.140015690
add rdi, 2
cmp rdi, rsi
jne 0x14000ca90
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14000cb68
lea rdx, [rdx*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x14000cb60
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0d7
mov rcx, r8
call fcn.14002bdc0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r15w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14000cbbf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cbb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0dd
call fcn.14002bdc0
nop
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14000cbe5
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14000cbe5
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
lea r11, [rsp + 0x70]
mov r10, qword [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r11, r10
mov r8d, 0x70
cmp qword [rbp - 0x80], 0x13
jne 0x14000cc46
lea edx, [r8 - 0x5d]
lea rax, str.productagentservice
movzx ecx, word [r11]
mov r9d, r8d
cmp cx, r8w
jb 0x14000cc46
sub r11, rax
cmp cx, r9w
ja 0x14000cc46
cmp rdx, 1
je 0x14000cd57
dec rdx
add rax, 2
movzx ecx, word [r11 + rax]
movzx r9d, word [rax]
cmp cx, r9w
jae 0x14000cc24
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r9, r10
cmp qword [rbp - 0x80], 0xe
jne 0x14000cc9a
mov edx, 0xe
lea rax, str.productagentui
movzx ecx, word [r9]
cmp cx, r8w
jb 0x14000cc9a
sub r9, rax
cmp cx, r8w
ja 0x14000cc9a
cmp rdx, 1
je 0x14000cd57
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000cc78
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r9, r10
cmp qword [rbp - 0x80], 8
jne 0x14000ccf0
mov edx, 8
lea rax, str.watchdog
movzx ecx, word [r9]
mov r8d, 0x77
cmp cx, r8w
jb 0x14000ccf0
sub r9, rax
cmp cx, r8w
ja 0x14000ccf0
cmp rdx, 1
je 0x14000cd57
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000ccd2
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r9, r10
cmp qword [rbp - 0x80], 0xc
jne 0x14000cf68
mov edx, 0xc
lea rax, str.discoverysrv
movzx ecx, word [r9]
mov r8d, 0x64
cmp cx, r8w
jb 0x14000cf68
sub r9, rax
cmp cx, r8w
ja 0x14000cf68
cmp rdx, 1
je 0x14000cd57
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000cd30
jmp 0x14000cf68
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
lea r8, str.SETTINGS
mov edx, 0xc350
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
test rax, rax
je 0x14000cf63
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14000cf63
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r14
mov byte [rsp + 0x50], 0
mov eax, eax
add rax, rbx
lea rcx, [rsp + 0x20]
mov qword [rbp - 0x70], rcx
mov word [rsp + 0x45], r15w
mov byte [rsp + 0x47], 0
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rax
mov rbx, 0xffffffffffffffff
mov dword [rsp + 0x40], ebx
mov byte [rsp + 0x44], 0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.14001cbb0
test al, al
jne 0x14000cf05
mov r9d, dword [rsp + 0x48]
lea r8, str.syntax_error_at_line__d_near:
lea edx, [rbx + 0x41]
lea rcx, [rbp + 0xd0]
call fcn.1400059d0
lea rax, [rbp + 0xd0]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14000ce40
mov r8, rbx
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.1400039b0
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0x44], 0
je 0x14000ce74
mov byte [rsp + 0x44], 0
mov ecx, dword [rsp + 0x40]
jmp 0x14000ce95
cmp rax, qword [rsp + 0x38]
je 0x14000cee8
cmp dword [rsp + 0x40], 0xa
jne 0x14000ce86
inc dword [rsp + 0x48]
movzx ecx, byte [rax]
mov dword [rsp + 0x40], ecx
inc rax
mov qword [rsp + 0x30], rax
cmp ecx, 0xffffffff
je 0x14000cee8
cmp ecx, 0xa
je 0x14000cee8
cmp ecx, 0x20
jl 0x14000ce62
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
cmp rdx, r8
jae 0x14000ced5
lea rax, [rdx + 1]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
cmp r8, 0x10
cmovae rax, qword [rsp + 0x50]
mov byte [rax + rdx], cl
mov byte [rax + rdx + 1], 0
jmp 0x14000ce5d
movzx r9d, cl
lea rcx, [rsp + 0x50]
call fcn.140004590
jmp 0x14000ce5d
cmp qword [rsp + 0x60], 0
je 0x14000cf00
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14000cf59
inc rdx
jmp 0x14000cf29
mov r14, qword [rsp + 0x68]
lea rdx, [rsp + 0x20]
lea rcx, [0x140071348]
call fcn.14000d190
nop
test al, al
jne 0x14000d003
cmp r14, 0x10
jb 0x14000cf59
lea rdx, [r14 + 1]
mov rcx, qword [rsp + 0x50]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14000cf53
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0e9
call fcn.14002bdc0
nop
lea rcx, [rsp + 0x20]
call fcn.140002030
mov r10, qword [rsp + 0x70]
xor bl, bl
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14000cfa9
lea rdx, [rdx*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14000cfa1
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0e3
mov rcx, r10
call fcn.14002bdc0
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r15w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x14000cffb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cff6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0c5
call fcn.14002bdc0
movzx eax, bl
jmp 0x14000d095
cmp r14, 0x10
jb 0x14000d03d
lea rdx, [r14 + 1]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d037
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d0e9
call fcn.14002bdc0
nop
lea rcx, [rsp + 0x20]
call fcn.140002030
mov bl, 1
mov r10, qword [rsp + 0x70]
jmp 0x14000cf6a
call fcn.14000ef40
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x40], r12
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x44], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x70]
call fcn.14002ad1c
nop
lea rcx, [rsp + 0x20]
call fcn.140002030
mov al, 1
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.14002bda0
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14003759c
nop
call fcn.14003759c
nop
call fcn.14003759c
nop
call fcn.14003759c
nop
call fcn.14003759c
nop
call fcn.14003759c
nop
call fcn.14003759c
int3