Function at 0x18005e330
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov r14d, dword [rbp + 0x78]
mov r10, r8
mov r11, qword [rbp - 0x80]
mov r13, rcx
mov rcx, qword [rbp - 0x80]
mov rdi, r9
mov ebx, dword [rbp + 0x78]
mov rsi, rdx
mov r15d, dword [rbp + 0x78]
lea eax, [r14 - 0xd]
mov r8d, dword [rbp + 0x78]
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x60], r11
cmp r14d, eax
jbe 0x18005e7ee
mov rax, qword [rbp - 0x80]
lea edi, [r14 - 0x56]
mov rdx, qword [rbp - 0x80]
lea r9, [0x18004d720]
mov r12d, dword [rbp + 0x78]
mov r14, qword [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
mov qword [rbp - 0x58], rax
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x40], r15d
mov r15d, dword [rbp + 0x78]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x48]
mov qword [rbp - 0x60], rcx
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x70], edi
mov qword [rbp - 0x68], rdx
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x78], r15d
nop word [rax + rax]
cmp edi, 0x2d
ja case.default.0x18005e419
lea rcx, [0x180000000]
movzx eax, byte [rcx + rdi + 0x5fab4]
mov ecx, dword [rcx + rax*4 + 0x5fa7c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [r10]
mov rcx, qword [rbp + 0x68]
call qword [rax + 0x28]
mov r11, qword [rsp + 0x60]
lea r9, [0x18004d720]
mov rdx, qword [rbp - 0x68]
jmp case.0x18005e419.4
xor eax, eax
mov qword [r10 + 0x20], rax
mov qword [r10 + 0x18], rax
mov qword [r10 + 0x10], rax
jmp case.0x18005e419.4
mov rax, qword [rbp - 0x20]
xor r8d, r8d
mov ecx, dword [rsp + 0x50]
mov qword [rbp - 0x58], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], r8d
jmp 0x18005e7d0
mov qword [r10 + 8], 0
jmp case.0x18005e419.4
mov rax, qword [r10]
mov rax, qword [rax + 0x2e8]
mov qword [rbp - 0x58], rax
jmp case.0x18005e419.4
mov rax, qword [r10]
mov rdx, qword [rax + 0x2a8]
mov qword [rbp - 0x68], rdx
jmp case.0x18005e419.4
mov rax, qword [r10]
add r15d, r8d
cmp r15d, dword [rax + 0x2d8]
jle 0x18005e7be
mov edi, 0x106
nop word [rax + rax]
cmp edi, 0x106
je 0x18005e553
cmp edi, 0x1ae
je 0x18005e517
cmp edi, 0x256
je 0x18005e50b
cmp edi, 0x2fe
jne 0x18005e55d
cmp r8d, r12d
jle 0x18005e55d
mov r9, qword [r10]
mov rdx, r13
mov rax, qword [rbp + 0x68]
mov rcx, rax
mov r9, qword [r9 + 0x2e8]
call qword [rax + 0x50]
mov r10, qword [rbp + 0x60]
mov r8d, dword [rsp + 0x58]
jmp 0x18005e55d
mov rax, qword [r10]
mov qword [rax + 0x2e8], r14
jmp 0x18005e55d
mov rax, qword [r10]
lea ecx, [r15 + 0x10]
mov dword [rax + 0x2d8], ecx
mov rax, qword [r10]
movsxd rdx, dword [rax + 0x2d8]
mov rcx, qword [rax + 0x2e8]
shl rdx, 5
call qword [rax + 0x20]
mov r14, rax
test rax, rax
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov r8d, dword [rsp + 0x58]
jmp 0x18005e55d
mov rax, qword [r10]
mov r12d, dword [rax + 0x2d8]
add edi, 0xa8
cmp edi, 0x3a6
jb 0x18005e4c0
mov edi, dword [rsp + 0x70]
lea r9, [0x18004d720]
mov r15d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x68]
jmp case.0x18005e419.4
mov rcx, qword [rbp - 0x20]
lea r9, [rdx + 0x28]
mov rax, qword [rbp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x28], r8
xor edx, edx
mov dword [rsp + 0x44], r8d
mov qword [rbp - 0x60], rcx
mov ecx, 0x11d
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x80]
mov qword [rbp - 0x28], r8
lea r8, [rbp - 0x28]
mov qword [rsp + 0x20], rax
call fcn.180014ee0
mov rdx, qword [rbp - 0x68]
lea r9, [0x18004d720]
mov r11, rax
mov qword [rsp + 0x60], rax
jmp case.0x18005e419.4
mov qword [r10], 0
jmp case.0x18005e419.4
test r11, r11
jne 0x18005e6eb
mov edi, 0x1c
mov eax, edi
sub eax, 0x1c
je 0x18005e6a1
sub eax, 1
je 0x18005e69a
sub eax, 1
je 0x18005e659
cmp eax, 1
jne 0x18005e6dc
mov rax, qword [r10]
cmp byte [rax + 0x1d0], 0
je 0x18005e6dc
xor edx, edx
mov qword [rbp - 0x80], rax
lea r9, [rbp - 0x80]
mov r8, r11
lea ecx, [rdx + 0x5b]
call fcn.18000aee0
test eax, eax
jne 0x18005e6cf
mov eax, 1
jmp 0x18005e754
lea r9, [rdx + 0x28]
mov qword [rsp + 0x28], 0
lea rax, [rbp - 0x80]
mov qword [rbp - 0x28], 0x28
xor edx, edx
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x28]
mov qword [rbp - 0x80], rsi
mov ecx, 0x11d
call fcn.180014ee0
mov qword [rsp + 0x60], rax
mov r11, rax
test rax, rax
je 0x18005e64f
jmp 0x18005e6d4
test rsi, rsi
je 0x18005e64f
jmp 0x18005e6dc
lea rax, [rdx + 0xa0]
mov r9d, 0x127
mov qword [rsp + 0x28], rax
xor edx, edx
mov rax, qword [rbp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x20], 0
mov r8, qword [rax]
call fcn.18005faf0
mov rsi, rax
mov r11, qword [rsp + 0x60]
mov r10, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x68]
inc edi
cmp edi, 0x20
jb 0x18005e600
mov edi, dword [rsp + 0x70]
mov rax, qword [r10]
mov rdx, r13
mov r15d, dword [r11 + 0x18]
mov dword [rsp + 0x78], r15d
mov r9, qword [rax + 0x2e8]
mov r8d, dword [rax + 0x2d8]
mov rax, qword [rbp + 0x68]
mov rcx, rax
call qword [rax + 0x50]
mov r11, qword [rsp + 0x60]
lea r9, [0x18004d720]
mov rdx, qword [rbp - 0x68]
mov dword [rsp + 0x58], eax
jmp case.0x18005e419.4
mov rcx, qword [rbp + 0x68]
mov eax, dword [rcx]
cmp eax, 0xf
je 0x18005f6de
cmp eax, 0x19
jne 0x18005e783
mov eax, 0x106
cmp eax, 0x106
je 0x18005e76f
cmp eax, 0x9d9c
jne 0x18005e777
mov eax, ebx
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r10], r9
mov ebx, 0x3a
add eax, 0x9c96
cmp eax, 0x1392c
jbe 0x18005e744
mov eax, dword [rcx]
lea r8, [rbp - 0x48]
xor ecx, ecx
mov dword [rbp - 0x48], eax
mov r9, r10
mov dword [rsp + 0x20], 0x1d
xor edx, edx
call fcn.180005960
mov r11, qword [rsp + 0x60]
lea r9, [0x18004d720]
mov rdx, qword [rbp - 0x68]
mov ebx, eax
jmp case.0x18005e419.4
mov rax, qword [rbp + 0x68]
mov qword [r10 + 0x28], rax
jmp case.0x18005e419.4
mov r15d, dword [rsp + 0x78]
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x40]
mov r10, qword [rbp + 0x60]
dec eax
dec edi
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x70], edi
cmp eax, ecx
jbe 0x18005e819
mov r8d, dword [rsp + 0x58]
jmp 0x18005e3f0
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x80]
mov eax, dword [rbp + 0x78]
mov r9d, dword [rbp + 0x78]
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], r13
mov dword [rsp + 0x40], r8d
mov qword [rbp - 0x68], rcx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x44], r9d
jmp 0x18005e836
mov r9d, dword [rsp + 0x44]
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp + 0x68]
mov rcx, qword [rbp - 0x68]
mov rsi, qword [rbp + 0x58]
mov r13, qword [rbp - 0x60]
mov r14d, dword [rbp + 0x78]
imul eax, r14d, 0x9ae
mov edx, r14d
mov dword [rsp + 0x48], edx
mov dword [rbp - 8], eax
cmp r14d, eax
ja case.0x18005e419.44
movzx eax, byte [rbp + 0x78]
movsxd r14, r15d
mov qword [rbp - 0x80], r14
mov dword [rsp + 0x78], eax
nop
cmp edx, 0x236b8
ja 0x18005f7f5
je 0x18005f766
movsxd r11, r8d
mov qword [rbp - 0x38], r11
cmp edx, 0xf324
ja 0x18005f6b2
je 0x18005ef29
cmp edx, 0x75
je 0x18005ea4a
cmp edx, 0x515a
je 0x18005e8b5
cmp edx, 0xa23f
jne 0x18005ea0c
mov qword [r12 + r11*8], 0
jmp 0x18005ea0c
xor r13d, r13d
xor esi, esi
mov dword [rsp + 0x50], r13d
test r14, r14
jle 0x18005ea08
mov r15d, dword [rsp + 0x40]
xor edi, edi
nop
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 0x20]
add r8, rdi
mov rdx, qword [r8]
mov rax, qword [rdx]
cmp byte [rax - 1], 0
jne 0x18005e9e4
mov rcx, qword [r8 + 0x10]
test rcx, rcx
je 0x18005e9e4
mov r9, qword [rdx + 8]
test r9, r9
je 0x18005e99a
cmp byte [rdx + 0x11], 0
je 0x18005e940
mov rax, qword [r10]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x28], 0x120
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x58]
mov qword [rsp + 0x50], rax
call fcn.180031bd0
test eax, eax
jne 0x18005e754
mov r11, qword [rbp - 0x38]
jmp 0x18005e9e4
mov r14d, dword [rsp + 0x44]
mov edx, 0xb2
nop word [rax + rax]
mov eax, edx
sub eax, 0xb2
je 0x18005e968
cmp eax, 1
jne 0x18005e985
mov rax, qword [r8 + 0x10]
mov qword [r12 + r11*8], rax
jmp 0x18005e97f
mov rax, qword [r8]
inc r14d
mov rcx, qword [rax]
mov byte [rcx - 1], 2
mov rax, qword [r8]
mov rcx, qword [rax]
mov qword [r12 + r11*8], rcx
inc r15d
inc r11
inc edx
cmp edx, 0xb4
jb 0x18005e950
mov dword [rsp + 0x44], r14d
mov r14, qword [rbp - 0x80]
jmp 0x18005e9db
mov edx, 0xd5
nop
cmp edx, 0xd5
jne 0x18005e9cd
mov rax, qword [r8]
add r15d, 2
mov rcx, qword [rax]
mov byte [rcx - 1], 1
mov rax, qword [r8]
mov rcx, qword [rax]
mov qword [r12 + r11*8], rcx
mov rax, qword [r8 + 0x10]
mov qword [r12 + r11*8 + 8], rax
add r11, 2
add edx, 0xad
cmp edx, 0x182
jb 0x18005e9a0
mov qword [rbp - 0x38], r11
mov dword [rsp + 0x40], r15d
mov r10, qword [rbp + 0x60]
inc r13d
inc rsi
mov dword [rsp + 0x50], r13d
add rdi, 0x18
cmp rsi, r14
jl 0x18005e8d0
mov edx, dword [rsp + 0x48]
mov r10, qword [rbp + 0x60]
mov r13, qword [rbp - 0x60]
mov r11, qword [rsp + 0x60]
imul eax, dword [rbp + 0x78], 0xb1
add edx, eax
mov dword [rsp + 0x48], edx
cmp edx, dword [rbp - 8]
ja case.0x18005e419.44
mov r14, qword [rbp - 0x80]
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp + 0x68]
mov rcx, qword [rbp - 0x68]
mov rsi, qword [rbp + 0x58]
jmp 0x18005e860
movsxd r13, dword [rsp + 0x58]
xor r12d, r12d
mov dword [rsp + 0x50], 0
test r13, r13
jle 0x18005ee6c
xor r14d, r14d
nop word [rax + rax]
mov r15d, 0x96
nop word [rax + rax]
mov eax, r15d
sub eax, 0x96
je 0x18005ed80
sub eax, 1
je 0x18005ed70
sub eax, 1
je 0x18005eb8a
cmp eax, 1
jne 0x18005ee37
mov rdx, qword [rbp - 0x18]
cmp qword [rdx + 8], 0
je 0x18005eb7d
cmp byte [rdx + 0x11], 0
je 0x18005eb33
mov rcx, qword [rbp - 0x58]
mov edi, 0x4d
movsxd rax, r8d
lea rsi, [rcx + rax*8]
nop
mov eax, edi
sub eax, 0x4c
je 0x18005eb17
cmp eax, 1
jne 0x18005eb23
mov rax, qword [r10]
lea r8, [rbp - 0x38]
mov r9, qword [rdx + 8]
mov rcx, qword [rsi]
mov dword [rsp + 0x28], 0x120
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x58]
mov qword [rbp - 0x38], rax
call fcn.180031bd0
test eax, eax
jne 0x18005e754
mov rdx, qword [rbp - 0x18]
mov r8d, dword [rsp + 0x40]
jmp 0x18005eb23
dec r8d
mov dword [rsp + 0x40], r8d
sub rsi, 8
mov r10, qword [rbp + 0x60]
dec edi
cmp edi, 0x4b
ja 0x18005ead0
jmp 0x18005ee32
mov ecx, 0x8b
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x89
je 0x18005eb5d
sub eax, 1
je 0x18005eb58
cmp eax, 1
jne 0x18005eb64
inc r8d
jmp 0x18005eb64
inc r9d
jmp 0x18005eb64
mov rax, qword [rdx]
mov byte [rax - 1], 2
dec ecx
cmp ecx, 0x88
ja 0x18005eb40
mov dword [rsp + 0x44], r9d
mov dword [rsp + 0x40], r8d
jmp 0x18005ee37
inc r8d
mov dword [rsp + 0x40], r8d
jmp 0x18005ee37
mov r9, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x58]
movsxd rcx, r8d
inc r8d
mov dword [rsp + 0x40], r8d
mov rax, qword [r9]
movsxd rsi, r8d
mov qword [rdx + rcx*8], rax
mov rax, qword [r10]
mov rcx, qword [rax + 0x2e8]
cmp byte [rcx + r14 + 0x18], 0
jne 0x18005ecfd
mov edi, 0x61
mov eax, edi
sub eax, 0x61
je 0x18005ec64
sub eax, 0x67
je 0x18005ec09
sub eax, 0x67
je 0x18005ebf6
cmp eax, 0x67
jne 0x18005ece9
mov rcx, qword [r10]
mov rax, qword [rcx + 0x320]
mov qword [rcx + 0x328], rax
jmp 0x18005ece9
mov rax, qword [r10]
mov rcx, qword [rax + 0x328]
mov qword [rdx + rsi*8], rcx
jmp 0x18005ece9
mov rdx, qword [r10]
mov r9d, 0x12d
mov rax, qword [rdx + 0x2e8]
mov rcx, qword [rax + r14 + 0x10]
mov r8, qword [rax + r14 + 8]
movzx eax, byte [rsp + 0x68]
mov qword [rbp], rdx
mov byte [rbp - 0x78], al
lea rax, [rdx + 0x308]
mov rdx, qword [rbp + 0x68]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp]
mov qword [rsp + 0x20], rax
call fcn.180023d50
test eax, eax
jne 0x18005e754
mov r9, qword [rbp - 0x18]
jmp 0x18005ece1
cmp byte [r9 + 0x10], 0
mov byte [rsp + 0x68], 1
je 0x18005ece9
mov r10, qword [rsp + 0x60]
mov r8d, 0x57
nop dword [rax + rax]
cmp r8d, 0x57
je 0x18005ec91
cmp r8d, 0x3a74
je 0x18005ecc3
jmp 0x18005ecd1
mov r11, qword [rbp - 0x80]
xor eax, eax
test r11, r11
jle 0x18005ecd1
mov rdx, qword [r10 + 0x20]
mov rcx, rdx
cmp r9, qword [rcx]
je 0x18005ecb6
inc rax
add rcx, 0x18
cmp rax, r11
jl 0x18005eca3
jmp 0x18005ecd1
lea rax, [rax + rax*2]
movzx eax, byte [rdx + rax*8 + 8]
mov byte [rsp + 0x68], al
mov r8d, 0x3a74
mov dword [rsp + 0x48], 0x75
add r8d, 0x3a1d
cmp r8d, 0x743a
jbe 0x18005ec80
mov rdx, qword [rbp - 0x58]
mov r10, qword [rbp + 0x60]
add edi, 0x67
cmp edi, 0x1fd
jb 0x18005ebc2
jmp 0x18005ee32
mov edi, 0xf6
cmp edi, 0xf6
jne 0x18005ed5d
mov rcx, qword [r10]
lea r8d, [rdi - 0x54]
mov rax, qword [rcx + 0x2e8]
add rcx, 0x308
mov rdx, qword [rax + r14 + 8]
mov r9, qword [rax + r14 + 0x10]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp + 0x68]
call fcn.18005bd00
mov rcx, qword [rbp - 0x58]
mov qword [rcx + rsi*8], rax
test rax, rax
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov rcx, qword [r10]
mov rax, qword [rcx + 0x320]
mov qword [rcx + 0x328], rax
add edi, 0x87
cmp edi, 0x17d
jb 0x18005ed02
jmp 0x18005ee32
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov byte [rax - 1], 1
jmp 0x18005ee37
mov rax, qword [r10]
mov rcx, rdi
mov rdx, qword [rax + 0x2e8]
mov rdx, qword [rdx + r14]
call qword [rdi + 0x40]
mov rsi, qword [rbp + 0x60]
lea rcx, [rbp + 8]
movsxd rdx, eax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x114
mov r8, qword [rsi]
mov rax, qword [r8 + 0x2e8]
mov r9, qword [r14 + rax]
mov qword [rbp + 8], r8
add rdx, r9
mov r8, rdi
call fcn.18004d7f0
mov qword [rbp - 0x18], rax
test rax, rax
je 0x18005e64f
mov rax, qword [rax]
cmp byte [rax - 1], 0
je 0x18005ee32
mov r8d, 0x11c
nop dword [rax]
mov eax, r8d
sub eax, 0x11b
je case.0x18005e419.44
cmp eax, 1
jne 0x18005ee26
mov rdx, qword [rsi]
cmp rdi, qword [rdx + 0x120]
jne 0x18005ee21
mov rax, qword [rdx + 0x2e8]
mov rcx, qword [r14 + rax]
mov qword [rdx + 0x228], rcx
mov ebx, 8
dec r8d
cmp r8d, 0x11a
ja 0x18005edf0
mov r9d, dword [rsp + 0x44]
mov r10, qword [rbp + 0x60]
inc r15d
mov r8d, dword [rsp + 0x40]
mov rdi, qword [rbp + 0x68]
cmp r15d, 0x9a
jb 0x18005ea80
inc dword [rsp + 0x50]
inc r12
add r14, 0x20
cmp r12, r13
jl 0x18005ea70
mov edx, dword [rsp + 0x48]
mov rax, qword [r10]
mov r11, qword [rsp + 0x60]
mov dword [rax + 0x2dc], r8d
mov rax, qword [r11 + 0x10]
test rax, rax
je 0x18005ef13
mov rax, qword [rax]
cmp byte [rax - 1], 0
je 0x18005ef13
mov eax, 0x24
movsxd r8, r8d
nop dword [rax]
cmp eax, 0x24
je 0x18005eeb7
cmp eax, 0xbc
jne 0x18005eefa
mov edx, 0x75
mov dword [rsp + 0x48], edx
jmp 0x18005eefe
xor r15d, r15d
xor ecx, ecx
mov dword [rsp + 0x50], r15d
test r8, r8
jle 0x18005eef5
mov rax, qword [r11 + 0x10]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x58]
cmp qword [rax + rcx*8], rdx
je 0x18005eeeb
add r15d, 2
add rcx, 2
mov dword [rsp + 0x50], r15d
cmp rcx, r8
jl 0x18005eed1
jmp 0x18005eef5
mov rax, qword [r10]
mov dword [rax + 0x2e0], r15d
mov eax, 0x24
mov edx, dword [rsp + 0x48]
add eax, 0x98
cmp eax, 0x154
jb 0x18005eea0
mov r13, qword [rbp - 0x60]
jmp 0x18005ea11
mov rax, qword [r10]
mov r13, qword [rbp - 0x60]
mov dword [rax + 0x2e0], 0xffffffff
jmp 0x18005ea11
xor r15d, r15d
xor r13d, r13d
mov dword [rsp + 0x50], r15d
test r9d, r9d
je 0x18005ea08
mov esi, 0x57
mov eax, esi
sub eax, 0x57
je 0x18005f674
sub eax, 1
je 0x18005f5a8
sub eax, 1
je 0x18005f539
cmp eax, 1
jne 0x18005f692
cmp r13, r11
jge 0x18005f3bf
lea r12, [r12 + r13*8]
nop word [rax + rax]
mov r14, qword [r12]
cmp byte [r14 - 1], 2
jne 0x18005f50d
mov r15d, 0x33
nop word [rax + rax]
cmp r15d, 0xc7
ja 0x18005f375
je 0x18005f125
mov eax, r15d
sub eax, 0x33
je 0x18005f118
sub eax, 0x25
je 0x18005f107
sub eax, 0x25
je 0x18005f0ca
cmp eax, 0x25
jne 0x18005f4e9
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x18005f79f
xor esi, esi
mov dword [rsp + 0x6c], 0
cmp dword [rax + 0x28], esi
jle 0x18005f4e9
nop word [rax + rax]
mov edi, 0x11e
cmp edi, 0x11e
je 0x18005f038
cmp edi, 0x6132
jne 0x18005f09d
imul ecx, dword [rbp - 0x6c], 0xf4243
movzx eax, byte [rsp + 0x69]
xor ecx, eax
mov dword [rbp - 0x6c], ecx
jmp 0x18005f099
mov rax, qword [rax + 0x20]
mov r9, qword [r10]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x69], al
mov rax, qword [r9 + 0x318]
cmp qword [r9 + 0x320], rax
jne 0x18005f07e
add r9, 0x308
mov dword [rsp + 0x20], 0x45
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180026df0
test al, al
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov rax, qword [r10]
mov rcx, qword [rax + 0x320]
movzx eax, byte [rsp + 0x69]
mov byte [rcx], al
mov rax, qword [r10]
inc qword [rax + 0x320]
mov rax, qword [rbp - 0x28]
add edi, 0x6014
cmp edi, 0xc028
jbe 0x18005f015
mov edx, dword [rsp + 0x6c]
inc rsi
inc edx
mov dword [rsp + 0x6c], edx
cmp edx, dword [rax + 0x28]
jl 0x18005f010
jmp 0x18005f4e4
lea r9, [rcx + 0x50]
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x48]
mov qword [rbp - 0x20], 0
mov ecx, 0x11d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
mov qword [rsp + 0x48], r14
xor edx, edx
call fcn.180014ee0
mov qword [rbp - 0x20], rax
jmp 0x18005f4e4
mov dword [rbp - 0x6c], 0
mov byte [r14 - 1], 0
jmp 0x18005f4e9
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x28], rax
jmp 0x18005f4e9
movzx eax, byte [r14]
inc r14
cmp al, 0x3a
jne 0x18005f125
mov edi, reloc.SHELL32.dll_ILFindLastID
mov eax, edi
sub eax, 0x10
je 0x18005f1a7
cmp eax, 1
jne 0x18005f1ae
mov r9, qword [r10]
mov rax, qword [r9 + 0x318]
cmp qword [r9 + 0x320], rax
jne 0x18005f17b
add r9, 0x308
mov dword [rsp + 0x20], 0x45
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180026df0
test al, al
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov rax, qword [r10]
imul esi, dword [rbp - 0x6c], 0xf4243
mov rcx, qword [rax + 0x320]
movzx eax, byte [r14]
mov byte [rcx], al
mov rax, qword [r10]
inc qword [rax + 0x320]
movzx eax, byte [rbp - 0x70]
xor esi, eax
mov dword [rbp - 0x6c], esi
jmp 0x18005f1b1
movzx eax, byte [r14]
mov byte [rbp - 0x70], al
mov esi, dword [rbp - 0x6c]
inc edi
cmp edi, 0x12
jb 0x18005f135
movzx eax, byte [r14]
inc r14
test al, al
jne 0x18005f130
mov edi, 0x89
mov eax, edi
sub eax, 0x89
je 0x18005f351
sub eax, 1
je 0x18005f346
cmp eax, 1
jne 0x18005f35e
mov r11, qword [r10]
movsxd rdx, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x74]
mov rax, rdx
add rax, rax
mov r10, qword [r11 + 0x2f0]
cmp dword [r10 + rax*8], ecx
jne 0x18005f35e
mov r9d, 0x114
nop dword [rax + rax]
mov eax, r9d
sub eax, 0x112
je 0x18005f308
sub eax, 1
je 0x18005f2d6
cmp eax, 1
jne 0x18005f320
movsxd r8, edx
shl r8, 4
add r8, r10
cmp esi, dword [r8 + 4]
jne 0x18005f320
mov edx, 0x7e
nop dword [rax]
mov eax, edx
sub eax, 0x7e
je 0x18005f27f
cmp eax, 0x35
jne 0x18005f2c5
mov rax, qword [rbp - 0x10]
cmp byte [rax], 0
jne 0x18005f2c5
mov eax, 8
jmp 0x18005e754
mov rax, qword [r11 + 0x328]
mov rcx, qword [r8 + 8]
mov qword [rbp - 0x10], rax
movzx eax, byte [rax]
cmp al, byte [rcx]
jne 0x18005f2c5
sub rcx, qword [rbp - 0x10]
mov r10, qword [r11 + 0x2f0]
test al, al
je 0x18005f2c5
mov rax, qword [rbp - 0x10]
inc rax
mov qword [rsp + 0x48], rdx
mov qword [rbp - 0x10], rax
mov rdx, qword [rbp - 0x10]
movzx eax, byte [rax]
cmp al, byte [rdx + rcx]
mov rdx, qword [rsp + 0x48]
je 0x18005f2a0
add edx, 0x35
cmp edx, 0xe8
jb 0x18005f260
mov edx, dword [rsp + 0x6c]
jmp 0x18005f320
cmp byte [rsp + 0x78], 0
jne 0x18005f320
mov r8d, dword [rbp - 0x48]
movzx ecx, byte [r11 + 0x2fc]
not r8d
mov eax, dword [rbp - 0x48]
and r8d, esi
dec ecx
shr eax, 2
shr r8d, cl
and r8b, al
or r8b, 1
mov dword [rsp + 0x78], r8d
jmp 0x18005f320
movzx ecx, byte [rsp + 0x78]
cmp edx, ecx
jge 0x18005f31a
mov eax, dword [rbp - 0x50]
sub eax, ecx
add edx, eax
jmp 0x18005f31c
sub edx, ecx
mov dword [rsp + 0x6c], edx
dec r9d
cmp r9d, 0x111
ja 0x18005f220
mov ecx, dword [rsp + 0x74]
movsxd rax, edx
add rax, rax
cmp dword [r10 + rax*8], ecx
je 0x18005f212
jmp 0x18005f35e
mov eax, dword [rbp - 0x48]
and eax, esi
mov dword [rsp + 0x6c], eax
jmp 0x18005f35e
mov eax, dword [rbp - 0x50]
dec eax
mov byte [rsp + 0x78], 0
mov dword [rbp - 0x48], eax
mov r10, qword [rbp + 0x60]
inc edi
cmp edi, 0x8c
jb 0x18005f1d0
jmp 0x18005f4e4
mov eax, r15d
sub eax, 0xec
je 0x18005f431
sub eax, 0x25
je 0x18005f410
sub eax, 0x25
je 0x18005f3d2
cmp eax, 0x25
jne 0x18005f4e9
sub r9d, 1
mov dword [rsp + 0x44], r9d
jne 0x18005f4e9
mov r15d, dword [rsp + 0x50]
mov r11, qword [rbp - 0x38]
add r15d, 2
mov dword [rsp + 0x50], r15d
add r13, 2
mov edx, 0xf324
mov esi, 0x5a
mov dword [rsp + 0x48], edx
jmp 0x18005f696
mov rax, qword [r10]
movsxd rdx, dword [rsp + 0x6c]
add rdx, rdx
mov rcx, qword [rax + 0x2f0]
mov eax, dword [rsp + 0x74]
mov dword [rcx + rdx*8], eax
mov rax, qword [r10]
mov rcx, qword [rax + 0x2f0]
mov eax, dword [rbp - 0x6c]
mov dword [rcx + rdx*8 + 4], eax
mov rax, qword [r10]
mov rcx, qword [rax + 0x2f0]
mov qword [rcx + rdx*8 + 8], r14
jmp 0x18005f4e9
mov rcx, qword [r10]
mov rax, qword [rcx + 0x320]
mov r14, qword [rcx + 0x328]
mov qword [rcx + 0x328], rax
mov qword [r12], r14
jmp 0x18005f4e9
mov rax, qword [r10]
cmp byte [rax + 0x1d1], 0
je 0x18005f4e9
mov edi, 0x45
mov eax, edi
sub eax, 0x45
je 0x18005f4b7
cmp eax, 0x43
jne 0x18005f4d5
mov r9, qword [r10]
mov rax, qword [r9 + 0x318]
cmp qword [r9 + 0x320], rax
jne 0x18005f490
add r9, 0x308
mov dword [rsp + 0x20], 0x45
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180026df0
test al, al
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov rax, qword [r10]
mov rcx, qword [rax + 0x320]
movzx eax, byte [r14]
mov byte [rcx], al
mov rax, qword [r10]
inc qword [rax + 0x320]
movzx eax, byte [r14]
inc r14
test al, al
jne 0x18005f456
jmp 0x18005f4d5
mov rax, qword [r10]
mov rcx, qword [rax + 0x320]
movzx eax, byte [rax + 0x374]
mov byte [rcx - 1], al
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov r14, qword [rax]
add edi, 0x43
cmp edi, 0xcb
jb 0x18005f446
mov r9d, dword [rsp + 0x44]
mov r10, qword [rbp + 0x60]
add r15d, 0x25
mov rcx, qword [rbp - 0x68]
cmp r15d, 0x180
jb 0x18005efa0
mov r11, qword [rbp - 0x38]
mov r15d, dword [rsp + 0x50]
jmp 0x18005f512
mov byte [r14 - 1], 0
add r15d, 2
add r13, 2
add r12, 0x10
mov dword [rsp + 0x50], r15d
cmp r13, r11
jge 0x18005f3bf
mov r10, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x68]
jmp 0x18005ef80
mov r8d, dword [rsp + 0x74]
test r8d, r8d
jne 0x18005f591
movsxd rax, dword [rbp - 0x50]
mov r8d, 0xffffffff
mov dword [rsp + 0x74], r8d
mov rdx, rax
mov dword [rsp + 0x6c], eax
test eax, eax
je 0x18005f591
mov r8, rax
mov dword [rsp + 0x6c], 0
shl r8, 4
nop dword [rax]
mov rax, qword [r10]
lea r8, [r8 - 0x10]
mov rcx, qword [rax + 0x2f0]
mov dword [r8 + rcx], 0xffffffff
sub rdx, 1
jne 0x18005f570
mov r8d, dword [rsp + 0x74]
mov rax, qword [r10]
dec r8d
mov dword [rsp + 0x74], r8d
mov dword [rax + 0x2f8], r8d
jmp 0x18005f692
mov rax, qword [r10]
movzx ecx, byte [rax + 0x2fc]
lea eax, [r9 + r9]
sar eax, cl
test eax, eax
je 0x18005f692
mov edi, 0x2a
cmp edi, 0x2a
je 0x18005f620
cmp edi, 0x33
je 0x18005f5e5
cmp edi, 0x3c
jne 0x18005f662
mov dword [rsp + 0x74], 0
jmp 0x18005f662
mov rax, qword [r10]
movsxd rdx, dword [rbp - 0x50]
shl rdx, 4
mov rcx, qword [rax + 0x2f0]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
je 0x18005e64f
mov r10, qword [rbp + 0x60]
mov r9d, dword [rsp + 0x44]
mov rax, qword [r10]
mov qword [rax + 0x2f0], rcx
jmp 0x18005f662
mov rdx, qword [r10]
mov eax, r9d
movzx ecx, byte [rdx + 0x2fc]
sar eax, cl
inc cl
mov byte [rdx + 0x2fc], cl
test eax, eax
jne 0x18005f620
mov rax, qword [r10]
cmp byte [rax + 0x2fc], 3
jae 0x18005f651
mov byte [rax + 0x2fc], 3
mov rax, qword [r10]
movzx ecx, byte [rax + 0x2fc]
mov eax, 1
shl eax, cl
mov dword [rbp - 0x50], eax
add edi, 9
cmp edi, 0x45
jb 0x18005f5c5
mov r11, qword [rbp - 0x38]
jmp 0x18005f692
mov rax, qword [r10]
mov ecx, dword [rax + 0x2f8]
mov dword [rsp + 0x74], ecx
movzx ecx, byte [rax + 0x2fc]
mov eax, 1
shl eax, cl
mov dword [rbp - 0x50], eax
mov edx, dword [rsp + 0x48]
mov r10, qword [rbp + 0x60]
inc esi
mov r12, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x68]
cmp esi, 0x5b
jb 0x18005ef42
jmp 0x18005ea04
cmp edx, 0x14409
je 0x18005f71d
cmp edx, 0x194ee
je 0x18005f6e5
cmp edx, 0x1e5d3
jne 0x18005ea0c
mov rax, qword [r10]
cmp byte [rax + 0x1d0], 0
jne 0x18005ea0c
xor eax, eax
jmp 0x18005e754
mov r14, qword [rsi]
mov qword [rbp - 0x40], r14
test r14, r14
je 0x18005ea0c
nop word [rax + rax]
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax]
mov byte [rcx - 1], 0
mov r14, qword [r14 + 8]
test r14, r14
jne 0x18005f700
mov qword [rbp - 0x40], r14
jmp 0x18005ea0c
movsxd r15, dword [rsp + 0x50]
mov rcx, r15
cmp r15, r11
jge 0x18005ea0c
mov rax, r11
sub rax, rcx
dec rax
shr rax, 1
lea r15d, [r15 + rax*2]
add r15d, 2
mov dword [rsp + 0x50], r15d
nop word [rax + rax]
mov rax, qword [r12 + rcx*8]
add rcx, 2
mov byte [rax - 1], 0
cmp rcx, r11
jl 0x18005f750
jmp 0x18005ea0c
cmp qword [r11 + 8], 0
je 0x18005f7d1
mov ecx, 0xd8
mov eax, ecx
sub eax, 0xd5
je 0x18005f7b2
sub eax, 1
je 0x18005f7a9
sub eax, 1
je 0x18005f798
cmp eax, 1
jne 0x18005f7c2
mov rax, qword [r11 + 8]
mov rax, qword [rax + 8]
mov qword [rbp - 0x40], rax
jmp 0x18005f7c2
cmp qword [rbp - 0x40], 0
jne 0x18005f7c2
mov eax, 0x1b
jmp 0x18005e754
mov rax, qword [rbp + 0x70]
mov r13, qword [rax]
jmp 0x18005f7be
movzx eax, byte [r13]
inc r13
cmp al, 0x3a
jne 0x18005f7b2
mov qword [rbp - 0x60], r13
dec ecx
cmp ecx, 0xd4
ja 0x18005f772
jmp 0x18005ea11
mov r8, qword [rcx + 0x138]
mov qword [rbp - 0x40], r8
test r8, r8
je 0x18005f6de
mov rax, qword [rbp + 0x70]
mov r13, qword [rax]
mov qword [rbp - 0x60], r13
jmp 0x18005ea11
cmp edx, 0x37a4c
ja 0x18005f987
je 0x18005f8a0
cmp edx, 0x2879d
je 0x18005f85a
cmp edx, 0x2d882
je 0x18005f9cc
cmp edx, 0x32967
jne 0x18005ea11
xor r15d, r15d
mov rcx, r13
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
inc r15d
test al, al
jne 0x18005f830
mov rax, qword [rbp - 0x40]
mov dword [rsp + 0x50], r15d
mov ecx, dword [rax + 0x28]
add ecx, r15d
add ecx, dword [rsp + 0x70]
mov dword [rsp + 0x58], ecx
jmp 0x18005ea11
mov rax, qword [r10]
xor r8d, r8d
mov dword [rsp + 0x70], r8d
cmp byte [rax + 0x1d1], r8b
je 0x18005f893
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rcx, qword [rax]
test rcx, rcx
je 0x18005f893
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
inc r8d
test al, al
jne 0x18005f880
mov dword [rsp + 0x70], r8d
mov rax, qword [rbp + 0x70]
mov qword [rax + 8], r13
jmp 0x18005ea11
mov r14, qword [rbp - 0x40]
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [r14 + 0x2c]
jle 0x18005f972
mov rdi, qword [rbp - 0x30]
mov esi, 0x87
nop dword [rax + rax]
mov eax, esi
sub eax, 0x87
je 0x18005f932
sub eax, 1
je 0x18005f920
sub eax, 1
je 0x18005f8e8
cmp eax, 1
jne 0x18005f957
mov rax, qword [r10]
mov rcx, qword [r14 + 0x20]
call qword [rax + 0x28]
mov qword [r14 + 0x20], rdi
jmp 0x18005f953
mov rax, qword [r10]
mov rcx, qword [rax + 0x2b8]
test rcx, rcx
je 0x18005f953
nop word [rax + rax]
mov rax, qword [r14 + 0x20]
cmp qword [rcx + 0x18], rax
jne 0x18005f912
mov rax, qword [rbp - 0x30]
mov qword [rcx + 0x18], rax
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18005f900
mov rdi, qword [rbp - 0x30]
jmp 0x18005f953
movsxd r8, dword [r14 + 0x28]
mov rcx, rdi
mov rdx, qword [r14 + 0x20]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x18005f953
mov rax, qword [r10]
lea edi, [rcx + 0x18]
movsxd rcx, edi
call qword [rax + 0x18]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x18005e64f
mov dword [r14 + 0x2c], edi
mov rdi, rax
mov ecx, dword [rsp + 0x58]
mov r10, qword [rbp + 0x60]
inc esi
cmp esi, 0x8b
jb 0x18005f8c0
mov edx, dword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
movsxd rax, dword [r14 + 0x28]
add rax, qword [r14 + 0x20]
mov r10, qword [rbp + 0x60]
mov qword [rbp - 0x30], rax
jmp 0x18005ea11
cmp edx, 0x3cb31
je 0x18005f9f2
cmp edx, 0x41c16
jne 0x18005ea11
mov r8, qword [rbp + 0x70]
mov ecx, 0x4a
mov eax, ecx
sub eax, 0x4a
je 0x18005f9b6
cmp eax, 0x49
je 0x18005f6de
jmp 0x18005f9c1
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x20]
mov qword [r8], rax
add ecx, 0x49
cmp ecx, 0xdc
jb 0x18005f9a4
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp + 0x70]
mov eax, dword [rcx + 0x28]
mov dword [r8 + 0x1c], eax
mov rax, qword [rcx]
mov rcx, qword [rax]
mov eax, dword [rsp + 0x70]
mov qword [r8 + 0x10], rcx
mov dword [r8 + 0x20], eax
jmp 0x18005ea11
movsxd r15, dword [rsp + 0x50]
mov rdx, r13
mov r12, qword [rbp - 0x30]
mov r8, r15
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x18005fa6d
mov rsi, qword [rbp + 0x60]
mov edi, 0x22
nop dword [rax]
mov eax, edi
sub eax, 0x22
je 0x18005fa58
cmp eax, 1
jne 0x18005fa62
mov rax, qword [rsi]
movsxd r8, r8d
movzx ecx, byte [rax + 0x374]
mov rax, qword [rbp - 0x40]
mov byte [r12], cl
lea rcx, [r12 + 1]
mov rdx, qword [rax]
mov rdx, qword [rdx]
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [rsp + 0x70]
jmp 0x18005fa62
lea eax, [r15 - 1]
movsxd rcx, eax
add r12, rcx
inc edi
cmp edi, 0x24
jb 0x18005fa20
mov qword [rbp - 0x30], r12
mov edx, dword [rsp + 0x48]
mov r10, qword [rbp + 0x60]
jmp 0x18005ea0c