Function at 0x180112a20
Capabilities:
Check if file exists
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1530]
mov eax, 0x1630
call fcn.180204780
sub rsp, rax
mov qword [rbp + 0x148], 0xfffffffffffffffe
mov qword [rsp + 0x1680], rbx
mov rax, qword [0x180332088]
xor rax, rsp
mov qword [rbp + 0x1520], rax
mov rbx, rdx
mov r15, rcx
mov qword [rbp - 0x50], rcx
mov r14d, 1
mov dword [rcx + 0x1220], r14d
lea rcx, [rbp + 0x1c0]
call fcn.18020d450
nop
xor r13d, r13d
mov qword [rbp - 0x40], r13
cmp dword [r15 + 0x1218], r13d
je 0x180112add
mov r8, rbx
lea rdx, str.DEFAULT_SKIN
mov rcx, r15
call fcn.180086d50
lea rdx, [r15 + 0x12f4]
mov rcx, r15
call fcn.180086ba0
test rax, rax
je 0x180112c65
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rbp + 0x1c0]
call fcn.180210740
jmp 0x180112c65
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x9c0]
call fcn.180233580
lea rdx, [rbp + 0x370]
mov rcx, r15
call fcn.180112410
cmp qword [rax + 0x18], 8
jb 0x180112b0a
mov rax, qword [rax]
mov r8, rax
lea rdx, [0x1802abd74]
lea rcx, [rbp + 0x9c0]
call fcn.18005c530
mov r8, qword [rbp + 0x388]
cmp r8, 8
jb 0x180112b43
inc r8
mov rdx, qword [rbp + 0x370]
lea rcx, [rbp + 0x370]
call fcn.18005cac0
lea rcx, [rbp + 0x9c0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18011428e
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
lea r8, [rbp + 0x9c0]
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xde0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbp + 0x9c0]
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor r8d, r8d
lea rdx, [rbp + 0xde0]
lea rcx, [rbp + 0x1c0]
call fcn.18020e650
test al, al
jne 0x180112c5e
lea r8, [0x1802b18d0]
lea rdx, str.Skin
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
je 0x18011428e
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
lea eax, [rdi + 1]
mov ebx, eax
mov ecx, eax
call fcn.180203f3c
mov r12, rax
mov qword [rbp - 0x40], rax
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.180233580
mov r8d, edi
mov rdx, rsi
mov rcx, r12
call fcn.18024fd70
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x1c0]
call fcn.180210740
jmp 0x180112c65
mov dword [r15 + 0x1220], r13d
lea rdx, str.TheSkin
lea rcx, [rbp + 0x1c0]
call fcn.18020e230
test rax, rax
je 0x18011428e
mov rcx, rax
call fcn.18020e360
mov r12, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x18011427b
nop dword [rax]
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x150], rax
mov qword [rax], r13
mov qword [rax + 8], r13
call fcn.180087bb0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1801162b0
nop
mov rbx, qword [r12 + 0x38]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xbd0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x160], rax
mov qword [rax], r13
mov qword [rax + 8], r13
call fcn.180087bb0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180116350
nop
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x168], rax
mov qword [rax], r13
mov qword [rax + 8], r13
call fcn.18006bab0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.1800f97a0
nop
lea rax, [r12 + 0x50]
mov rsi, qword [rax + 0x38]
mov r14, qword [rbp - 0x60]
cmp rsi, rax
je 0x180112fc6
test rsi, rsi
je 0x180112fc6
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
add rbx, 0x10
add rdi, 0x10
je 0x180112fb2
test rbx, rbx
je 0x180112fb2
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x5a0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rbp + 0x248], 7
mov qword [rbp + 0x240], r13
mov word [rbp + 0x230], r13w
cmp word [rbp + 0x390], 0
jne 0x180112e8c
mov r8, r13
jmp 0x180112eab
lea rax, [rbp + 0x390]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180112ea0
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x230]
call fcn.18005c660
nop
lea rdx, [rbp + 0x230]
mov rcx, r14
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x170], rax
mov rcx, qword [r14]
mov qword [rbp + 0x178], rcx
cmp rax, rcx
je 0x180112f26
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180112ef9
mov r8, qword [r8]
lea rcx, [rbp + 0x230]
cmp qword [rbp + 0x248], 8
cmovae rcx, qword [rbp + 0x230]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x240]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180112f59
lea rax, [rbp + 0x230]
mov qword [rbp + 0x30], rax
lea r8, [rbp + 0x30]
mov rcx, r14
call fcn.1800dfa10
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.1800d7690
mov rbx, qword [rbp + 0x38]
cmp word [rbp + 0x5a0], 0
jne 0x180112f68
mov r8, r13
jmp 0x180112f7e
lea rax, [rbp + 0x5a0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180112f73
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x5a0]
call fcn.18005c660
nop
mov r8, qword [rbp + 0x248]
cmp r8, 8
jb 0x180112fb2
inc r8
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.18005cac0
mov rcx, rsi
call fcn.18020e700
mov rsi, rax
test rax, rax
jne 0x180112dc0
mov qword [rbp + 0x268], 7
mov qword [rbp + 0x260], r13
mov word [rbp + 0x250], r13w
mov r8d, 7
lea rdx, str.OurSelf
lea rcx, [rbp + 0x250]
call fcn.18005c660
nop
lea rdx, [rbp + 0x250]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x180], rax
mov rcx, qword [rsi]
mov qword [rbp + 0x188], rcx
cmp rax, rcx
je 0x180113066
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180113039
mov r8, qword [r8]
lea rcx, [rbp + 0x250]
cmp qword [rbp + 0x268], 8
cmovae rcx, qword [rbp + 0x250]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x260]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180113099
lea rax, [rbp + 0x250]
mov qword [rbp + 0x40], rax
lea r8, [rbp + 0x40]
mov rcx, rsi
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0x48]
mov rcx, rsi
call fcn.1800df770
mov rbx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1801130af
lock inc dword [rcx + 8]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rbp - 0x60]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0x70], rcx
mov rax, qword [rbp - 0x58]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x40], r14
test rcx, rcx
je 0x1801130fd
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1801130f8
mov rbx, qword [rbp + 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1801130f8
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rbp + 0x268]
cmp r8, 8
jb 0x180113120
inc r8
mov rdx, qword [rbp + 0x250]
lea rcx, [rbp + 0x250]
call fcn.18005cac0
mov qword [rbp + 0x288], 7
mov qword [rbp + 0x280], r13
mov word [rbp + 0x270], r13w
mov r8d, 7
lea rdx, str.OurSelf
lea rcx, [rbp + 0x270]
call fcn.18005c660
nop
lea rdx, [rbp + 0x270]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x190], rax
mov rcx, qword [rdi]
mov qword [rbp + 0x198], rcx
cmp rax, rcx
je 0x1801131c0
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180113193
mov r8, qword [r8]
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 8
cmovae rcx, qword [rbp + 0x270]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x280]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x1801131f7
lea rax, [rbp + 0x270]
mov qword [rbp + 0x50], rax
lea r8, [rbp + 0x50]
mov rcx, qword [rsp + 0x40]
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0x58]
mov rcx, qword [rsp + 0x40]
call fcn.1800df770
mov rbx, qword [rbp + 0x58]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18011320a
lock inc dword [rcx + 8]
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0x80], rcx
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x40], rsi
test rcx, rcx
je 0x18011325e
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18011325e
mov rbx, qword [rbp + 0x80]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18011325e
mov rcx, qword [rbp + 0x80]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r8, qword [rbp + 0x288]
cmp r8, 8
jb 0x180113281
inc r8
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.18005cac0
lea rdx, [rbp + 0xbd0]
mov rcx, r13
lea r8, str.SkinConfigure
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x180113930
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180113930
add rcx, 2
cmp rcx, 0xe
jne 0x1801132a0
mov rcx, r12
call fcn.18020e360
mov r15, rax
test rax, rax
je 0x180113927
nop
mov rbx, qword [r15 + 0x38]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x7b0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x108], rax
mov qword [rax], r13
mov qword [rax + 8], r13
call fcn.180087bb0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180116350
nop
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x1a0], rax
mov qword [rax], r13
mov qword [rax + 8], r13
call fcn.18006bab0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.1800f97a0
nop
mov rcx, r15
call fcn.18020e360
mov rdi, rax
mov r14, qword [rbp - 0x70]
test rax, rax
je 0x1801135b8
mov rbx, qword [rdi + 0x38]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xef0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x1801135a4
mov rax, qword [rcx]
call qword [rax + 0x60]
test rax, rax
je 0x1801135a4
mov rbx, qword [rax + 0x38]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1100]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rbp + 0x2a8], 7
mov qword [rbp + 0x2a0], r13
mov word [rbp + 0x290], r13w
cmp word [rbp + 0xef0], 0
jne 0x180113487
mov r8, r13
jmp 0x18011349d
lea rax, [rbp + 0xef0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180113492
lea rdx, [rbp + 0xef0]
lea rcx, [rbp + 0x290]
call fcn.18005c660
nop
lea rdx, [rbp + 0x290]
mov rcx, r14
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x1a8], rax
mov rcx, qword [r14]
mov qword [rbp + 0x1b0], rcx
cmp rax, rcx
je 0x180113518
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x1801134eb
mov r8, qword [r8]
lea rcx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 8
cmovae rcx, qword [rbp + 0x290]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x2a0]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x18011354b
lea rax, [rbp + 0x290]
mov qword [rbp + 0x60], rax
lea r8, [rbp + 0x60]
mov rcx, r14
call fcn.1800dfa10
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.1800d7690
mov rbx, qword [rbp - 0x38]
cmp word [rbp + 0x1100], 0
jne 0x18011355a
mov r8, r13
jmp 0x180113570
lea rax, [rbp + 0x1100]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180113565
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x1100]
call fcn.18005c660
nop
mov r8, qword [rbp + 0x2a8]
cmp r8, 8
jb 0x1801135a4
inc r8
mov rdx, qword [rbp + 0x290]
lea rcx, [rbp + 0x290]
call fcn.18005cac0
mov rcx, rdi
call fcn.18020e720
mov rdi, rax
test rax, rax
jne 0x1801133b2
mov qword [rbp + 0x2c8], 7
mov qword [rbp + 0x2c0], r13
mov word [rbp + 0x2b0], r13w
mov r8d, 7
lea rdx, str.OurSelf
lea rcx, [rbp + 0x2b0]
call fcn.18005c660
nop
lea rdx, [rbp + 0x2b0]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0xd8], rax
mov rcx, qword [rsi]
mov qword [rbp + 0xe0], rcx
cmp rax, rcx
je 0x180113658
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x18011362b
mov r8, qword [r8]
lea rcx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 8
cmovae rcx, qword [rbp + 0x2b0]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x2c0]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x18011368b
lea rax, [rbp + 0x2b0]
mov qword [rbp - 0x30], rax
lea r8, [rbp - 0x30]
mov rcx, rsi
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp - 0x28]
mov rcx, rsi
call fcn.1800df770
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1801136a1
lock inc dword [rcx + 8]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rbp - 0x70]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0x90], rcx
mov rax, qword [rbp - 0x68]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x40], r14
test rcx, rcx
je 0x1801136f8
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1801136f3
mov rbx, qword [rbp + 0x90]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1801136f3
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rsp + 0x60]
mov r8, qword [rbp + 0x2c8]
cmp r8, 8
jb 0x18011371b
inc r8
mov rdx, qword [rbp + 0x2b0]
lea rcx, [rbp + 0x2b0]
call fcn.18005cac0
mov qword [rbp + 0x2e8], 7
mov qword [rbp + 0x2e0], r13
mov word [rbp + 0x2d0], r13w
cmp word [rbp + 0x7b0], 0
jne 0x180113744
mov r8, r13
jmp 0x18011375b
lea rax, [rbp + 0x7b0]
or r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180113750
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x2d0]
call fcn.18005c660
nop
lea rdx, [rbp + 0x2d0]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0xe8], rax
mov rcx, qword [rdi]
mov qword [rbp + 0xf0], rcx
cmp rax, rcx
je 0x1801137db
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x1801137ae
mov r8, qword [r8]
lea rcx, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 8
cmovae rcx, qword [rbp + 0x2d0]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x2e0]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180113812
lea rax, [rbp + 0x2d0]
mov qword [rbp - 0x20], rax
lea r8, [rbp - 0x20]
mov rcx, qword [rsp + 0x40]
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp - 0x18]
mov rcx, qword [rsp + 0x40]
call fcn.1800df770
mov rbx, qword [rbp - 0x18]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180113825
lock inc dword [rcx + 8]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0xa0], rcx
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x40], rsi
test rcx, rcx
je 0x180113879
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180113879
mov rbx, qword [rbp + 0xa0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180113879
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r8, qword [rbp + 0x2e8]
cmp r8, 8
jb 0x18011389c
inc r8
mov rdx, qword [rbp + 0x2d0]
lea rcx, [rbp + 0x2d0]
call fcn.18005cac0
mov rcx, r15
call fcn.18020e720
mov r15, rax
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1801138e1
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1801138e1
mov rbx, qword [rbp - 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1801138e1
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18011391e
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18011391e
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18011391e
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test r15, r15
jne 0x1801132e0
mov r15, qword [rbp - 0x50]
jmp 0x180114027
mov rcx, r12
call fcn.18020e360
mov r13, rax
test rax, rax
je 0x180114024
xor r12d, r12d
nop word [rax + rax]
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0xf8], rax
mov qword [rax], r12
mov qword [rax + 8], r12
call fcn.180087bb0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.180116350
nop
mov rbx, qword [r13 + 0x38]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x7b0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, r13
call fcn.18020e360
mov r15, rax
test rax, rax
je 0x180113e46
mov ecx, 0x10
call fcn.1802037c4
mov rbx, rax
mov qword [rbp + 0x100], rax
mov qword [rax], r12
mov qword [rax + 8], r12
call fcn.18006bab0
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1800f97a0
nop
lea rax, [r15 + 0x50]
mov rsi, qword [rax + 0x38]
mov r14, qword [rbp - 0x80]
cmp rsi, rax
je 0x180113c76
test rsi, rsi
je 0x180113c76
nop dword [rax]
mov rbx, qword [rsi + 0x20]
mov rdi, qword [rsi + 0x28]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x390]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rbx + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
or r9d, 0xffffffff
lea r8, [rdi + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x5a0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rdi + 0x10]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movzx ecx, word [rbp + 0x390]
cmp cx, word [0x1802b0f2c]
jne 0x180113b21
movzx eax, word [rbp + 0x392]
cmp ax, word [0x1802b0f2e]
jne 0x180113b21
movzx eax, word [rbp + 0x394]
cmp ax, word [0x1802b0f30]
jne 0x180113b21
lea r8, [rbp + 0x5a0]
lea rdx, [0x1802abd74]
lea rcx, [rbp + 0x1310]
call fcn.18005c530
movzx ecx, word [rbp + 0x390]
mov qword [rbp + 0x308], 7
mov qword [rbp + 0x300], r12
mov word [rbp + 0x2f0], r12w
test cx, cx
jne 0x180113b45
mov r8, r12
jmp 0x180113b5b
lea rax, [rbp + 0x390]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180113b50
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x2f0]
call fcn.18005c660
nop
lea rdx, [rbp + 0x2f0]
mov rcx, r14
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x158], rax
mov rcx, qword [r14]
mov qword [rbp + 0x110], rcx
cmp rax, rcx
je 0x180113bd6
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180113ba9
mov r8, qword [r8]
lea rcx, [rbp + 0x2f0]
cmp qword [rbp + 0x308], 8
cmovae rcx, qword [rbp + 0x2f0]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x300]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180113c09
lea rax, [rbp + 0x2f0]
mov qword [rbp - 0x10], rax
lea r8, [rbp - 0x10]
mov rcx, r14
call fcn.1800dfa10
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp - 8]
mov rcx, r14
call fcn.1800d7690
mov rbx, qword [rbp - 8]
cmp word [rbp + 0x5a0], 0
jne 0x180113c18
mov r8, r12
jmp 0x180113c2e
lea rax, [rbp + 0x5a0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180113c23
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x5a0]
call fcn.18005c660
nop
mov r8, qword [rbp + 0x308]
cmp r8, 8
jb 0x180113c62
inc r8
mov rdx, qword [rbp + 0x2f0]
lea rcx, [rbp + 0x2f0]
call fcn.18005cac0
mov rcx, rsi
call fcn.18020e700
mov rsi, rax
test rax, rax
jne 0x180113a40
mov qword [rbp + 0x328], 7
mov qword [rbp + 0x320], r12
mov word [rbp + 0x310], r12w
cmp word [rbp + 0x1310], 0
jne 0x180113c9f
mov r8, r12
jmp 0x180113cbb
lea rax, [rbp + 0x1310]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180113cb0
lea rdx, [rbp + 0x1310]
lea rcx, [rbp + 0x310]
call fcn.18005c660
nop
lea rdx, [rbp + 0x310]
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x118], rax
mov rcx, qword [rdi]
mov qword [rbp + 0x120], rcx
cmp rax, rcx
je 0x180113d3b
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180113d0e
mov r8, qword [r8]
lea rcx, [rbp + 0x310]
cmp qword [rbp + 0x328], 8
cmovae rcx, qword [rbp + 0x310]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x320]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180113d72
lea rax, [rbp + 0x310]
mov qword [rbp], rax
lea r8, [rbp]
mov rcx, qword [rsp + 0x70]
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 8]
mov rcx, qword [rsp + 0x70]
call fcn.1800df770
mov rbx, qword [rbp + 8]
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x180113d87
lock inc dword [rdi + 8]
mov rdi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0xb0], rcx
mov qword [rbx + 0x48], rdi
mov qword [rbx + 0x40], r14
test rcx, rcx
je 0x180113dd9
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180113dd5
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180113dd5
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp - 0x78]
mov r8, qword [rbp + 0x328]
cmp r8, 8
jb 0x180113dfc
inc r8
mov rdx, qword [rbp + 0x310]
lea rcx, [rbp + 0x310]
call fcn.18005cac0
mov rcx, r15
call fcn.18020e720
mov r15, rax
test rdi, rdi
je 0x180113e3d
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180113e3d
mov rbx, qword [rbp - 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180113e3d
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test r15, r15
jne 0x1801139e6
mov qword [rbp + 0x348], 7
mov qword [rbp + 0x340], r12
mov word [rbp + 0x330], r12w
cmp word [rbp + 0x7b0], 0
jne 0x180113e6f
mov r8, r12
jmp 0x180113e8b
lea rax, [rbp + 0x7b0]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180113e80
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x330]
call fcn.18005c660
nop
lea rdx, [rbp + 0x330]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x128], rax
mov rcx, qword [rdi]
mov qword [rbp + 0x130], rcx
cmp rax, rcx
je 0x180113f0b
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x180113ede
mov r8, qword [r8]
lea rcx, [rbp + 0x330]
cmp qword [rbp + 0x348], 8
cmovae rcx, qword [rbp + 0x330]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x340]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180113f42
lea rax, [rbp + 0x330]
mov qword [rbp + 0x10], rax
lea r8, [rbp + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0x18]
mov rcx, qword [rsp + 0x40]
call fcn.1800df770
mov rbx, qword [rbp + 0x18]
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x180113f55
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0xc0], rcx
mov qword [rbx + 0x48], rdi
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x40], rax
test rcx, rcx
je 0x180113fad
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180113fa8
mov rbx, qword [rbp + 0xc0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180113fa8
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rbp + 0x348]
cmp r8, 8
jb 0x180113fd0
inc r8
mov rdx, qword [rbp + 0x330]
lea rcx, [rbp + 0x330]
call fcn.18005cac0
mov rcx, r13
call fcn.18020e720
mov r13, rax
test rdi, rdi
je 0x180114013
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x180114013
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180114013
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test r13, r13
jne 0x180113950
mov r12, qword [rbp - 0x48]
mov r15, qword [rbp - 0x50]
xor r13d, r13d
mov qword [rbp + 0x368], 7
mov qword [rbp + 0x360], r13
mov word [rbp + 0x350], r13w
cmp word [rbp + 0xbd0], 0
jne 0x180114050
mov r8, r13
jmp 0x18011406b
lea rax, [rbp + 0xbd0]
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180114060
lea rdx, [rbp + 0xbd0]
lea rcx, [rbp + 0x350]
call fcn.18005c660
nop
mov rdi, qword [r15 + 0x12d0]
lea rdx, [rbp + 0x350]
mov rcx, rdi
call fcn.18006bb60
mov rbx, rax
mov qword [rbp + 0x138], rax
mov rcx, qword [rdi]
mov qword [rbp + 0x140], rcx
cmp rax, rcx
je 0x1801140ed
lea r8, [rax + 0x20]
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x1801140c0
mov r8, qword [r8]
lea rcx, [rbp + 0x350]
cmp qword [rbp + 0x368], 8
cmovae rcx, qword [rbp + 0x350]
mov r9, qword [r9]
mov rdx, qword [rbp + 0x360]
call fcn.18005c450
shr eax, 0x1f
test al, al
je 0x180114120
lea rax, [rbp + 0x350]
mov qword [rbp + 0x20], rax
lea r8, [rbp + 0x20]
mov rcx, rdi
call fcn.1800df710
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0x28]
mov rcx, rdi
call fcn.1800df770
mov rbx, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18011412e
lock inc dword [rcx + 8]
mov rcx, qword [rbx + 0x48]
mov qword [rbp + 0xd0], rcx
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x48], rax
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x40], rax
test rcx, rcx
je 0x180114187
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180114187
mov rbx, qword [rbp + 0xd0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180114187
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r8, qword [rbp + 0x368]
cmp r8, 8
jb 0x1801141aa
inc r8
mov rdx, qword [rbp + 0x350]
lea rcx, [rbp + 0x350]
call fcn.18005cac0
mov rcx, r12
call fcn.18020e720
mov r12, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1801141f3
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1801141f3
mov rbx, qword [rbp - 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1801141f3
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x180114230
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180114230
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180114230
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18011426d
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18011426d
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18011426d
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
test r12, r12
jne 0x180112ca0
lea r14d, [r12 + 1]
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x180114291
mov rcx, rax
call fcn.180085310
jmp 0x180114291
mov r14d, r13d
lea rax, vtable.TiXmlDocument.0
mov qword [rbp + 0x1c0], rax
lea rax, [0x180340558]
mov rcx, qword [rbp + 0x218]
cmp rcx, rax
je 0x1801142b7
call fcn.180085310
lea rcx, [rbp + 0x1c0]
call fcn.18020d790
mov eax, r14d
mov rcx, qword [rbp + 0x1520]
xor rcx, rsp
call fcn.1802037a0
mov rbx, qword [rsp + 0x1680]
add rsp, 0x1630
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret