Function at 0x14001d4a0
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x618
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x580], xmm13
movdqa xmmword [rbp + 0x570], xmm12
movdqa xmmword [rbp + 0x560], xmm11
movdqa xmmword [rbp + 0x550], xmm10
movdqa xmmword [rbp + 0x540], xmm9
movdqa xmmword [rbp + 0x530], xmm8
movdqa xmmword [rbp + 0x520], xmm7
movdqa xmmword [rbp + 0x510], xmm6
mov qword [rbp + 0x508], 0xfffffffffffffffe
mov qword [rbp + 0x4f8], r8
mov qword [rbp + 0x4e8], rdx
mov qword [rbp + 0x318], rcx
movdqu xmm0, xmmword [rbp + 0x608]
mov rax, qword [rbp + 0x600]
mov qword [rbp + 0x160], r9
mov qword [rbp + 0x168], rax
movdqu xmmword [rbp + 0x150], xmm0
mov dword [rbp + 0x390], 3
mov dword [rbp + 0x390], 4
mov dword [rbp + 0x390], 5
mov dword [rbp + 0x390], 6
mov dword [rbp + 0x390], 7
mov dword [rbp + 0x390], 8
mov dword [rbp + 0x390], 9
mov dword [rbp + 0x390], 0xa
mov dword [rbp + 0x390], 0xb
mov dword [rbp + 0x390], 0xc
mov dword [rbp + 0x390], 0xd
mov dword [rbp + 0x390], 0xe
mov dword [rbp + 0x390], 0xf
mov dword [rbp + 0x390], 0x10
mov dword [rbp + 0x390], 0x11
mov dword [rbp + 0x390], 0x12
mov dword [rbp + 0x390], 0x13
mov dword [rbp + 0x390], 0x14
mov dword [rbp + 0x390], 0x15
mov dword [rbp + 0x390], 0x16
mov dword [rbp + 0x390], 0x17
mov dword [rbp + 0x390], 0x18
mov dword [rbp + 0x390], 0x19
mov dword [rbp + 0x390], 0x1a
mov dword [rbp + 0x390], 0x1b
mov dword [rbp + 0x390], 0x1c
mov dword [rbp + 0x390], 0x1d
mov dword [rbp + 0x390], 0x1e
mov dword [rbp + 0x390], 0x1f
mov dword [rbp + 0x390], 0x20
mov dword [rbp + 0x390], 0x21
mov dword [rbp + 0x390], 0x22
mov dword [rbp + 0x390], 0x23
mov dword [rbp + 0x390], 0x24
mov dword [rbp + 0x390], 0x25
mov dword [rbp + 0x390], 0x26
mov dword [rbp + 0x390], 0x27
mov dword [rbp + 0x390], 0x28
mov dword [rbp + 0x390], 0x29
mov dword [rbp + 0x390], 0x2a
mov dword [rbp + 0x390], 0x2b
mov dword [rbp + 0x390], 0x2c
mov dword [rbp + 0x390], 0x2d
mov dword [rbp + 0x390], 0x2e
mov dword [rbp + 0x390], 0x2f
mov dword [rbp + 0x390], 0x30
mov dword [rbp + 0x390], 0x31
mov dword [rbp + 0x390], 0x32
mov dword [rbp + 0x390], 0x33
mov dword [rbp + 0x390], 0x34
mov dword [rbp + 0x390], 0x35
mov dword [rbp + 0x390], 0x36
mov dword [rbp + 0x390], 0x37
mov dword [rbp + 0x390], 0x38
mov dword [rbp + 0x390], 0x39
mov dword [rbp + 0x390], 0x3a
mov dword [rbp + 0x390], 0x3b
mov dword [rbp + 0x390], 0x3c
mov dword [rbp + 0x390], 0x3d
mov dword [rbp + 0x390], 0x3e
mov dword [rbp + 0x390], 0x3f
mov dword [rbp + 0x390], 0x40
mov dword [rbp + 0x390], 0x41
mov dword [rbp + 0x390], 0x42
mov dword [rbp + 0x390], 0x43
mov dword [rbp + 0x390], 0x44
mov dword [rbp + 0x390], 0x45
mov dword [rbp + 0x390], 0x46
mov dword [rbp + 0x390], 0x47
mov dword [rbp + 0x390], 0x48
mov dword [rbp + 0x390], 0x49
mov dword [rbp + 0x390], 0x4a
mov dword [rbp + 0x390], 0x4b
mov dword [rbp + 0x390], 0x4c
mov dword [rbp + 0x390], 0x4d
mov dword [rbp + 0x390], 0x4e
mov dword [rbp + 0x390], 0x4f
mov dword [rbp + 0x390], 0x50
mov dword [rbp + 0x390], 0x51
mov dword [rbp + 0x390], 0x52
mov dword [rbp + 0x390], 0x53
mov dword [rbp + 0x390], 0x54
mov dword [rbp + 0x390], 0x55
mov dword [rbp + 0x390], 0x56
mov dword [rbp + 0x390], 0x57
mov dword [rbp + 0x390], 0x58
mov dword [rbp + 0x390], 0x59
mov dword [rbp + 0x390], 0x5a
mov dword [rbp + 0x390], 0x5b
mov dword [rbp + 0x390], 0x5c
mov dword [rbp + 0x390], 0x5d
mov dword [rbp + 0x390], 0x5e
mov dword [rbp + 0x390], 0x5f
mov dword [rbp + 0x390], 0x60
mov dword [rbp + 0x390], 0x61
mov dword [rbp + 0x390], 0x62
mov dword [rbp + 0x390], 0x63
mov dword [rbp + 0x390], 0x64
mov dword [rbp + 0x390], 0x65
mov dword [rbp + 0x390], 6
mov dword [rbp + 0x390], 8
mov dword [rbp + 0x390], 0xa
mov dword [rbp + 0x390], 0xc
mov dword [rbp + 0x390], 0xe
mov dword [rbp + 0x390], 0x10
mov dword [rbp + 0x390], 0x12
mov dword [rbp + 0x390], 0x14
mov dword [rbp + 0x390], 0x16
mov dword [rbp + 0x390], 0x18
mov dword [rbp + 0x390], 0x1a
mov dword [rbp + 0x390], 0x1c
mov dword [rbp + 0x390], 0x1e
mov dword [rbp + 0x390], 0x20
mov dword [rbp + 0x390], 0x22
mov dword [rbp + 0x390], 0x24
mov dword [rbp + 0x390], 0x26
mov dword [rbp + 0x390], 0x28
mov dword [rbp + 0x390], 0x2a
mov dword [rbp + 0x390], 0x2c
mov dword [rbp + 0x390], 0x2e
mov dword [rbp + 0x390], 0x30
mov dword [rbp + 0x390], 0x32
mov dword [rbp + 0x390], 0x34
mov dword [rbp + 0x390], 0x36
mov dword [rbp + 0x390], 0x38
mov dword [rbp + 0x390], 0x3a
mov dword [rbp + 0x390], 0x3c
mov dword [rbp + 0x390], 0x3e
mov dword [rbp + 0x390], 0x40
mov dword [rbp + 0x390], 0x42
mov dword [rbp + 0x390], 0x44
mov dword [rbp + 0x390], 0x46
mov dword [rbp + 0x390], 0x48
mov dword [rbp + 0x390], 0x4a
mov dword [rbp + 0x390], 0x4c
mov dword [rbp + 0x390], 0x4e
mov dword [rbp + 0x390], 0x50
mov dword [rbp + 0x390], 0x52
mov dword [rbp + 0x390], 0x54
mov dword [rbp + 0x390], 0x56
mov dword [rbp + 0x390], 0x58
mov dword [rbp + 0x390], 0x5a
mov dword [rbp + 0x390], 0x5c
mov dword [rbp + 0x390], 0x5e
mov dword [rbp + 0x390], 0x60
mov dword [rbp + 0x390], 0x62
mov dword [rbp + 0x390], 0x64
mov dword [rbp + 0x390], 0x66
lea rdx, [0x1402786ae]
lea rcx, [rbp + 0x390]
mov r8d, 0x86c0
call fcn.14018f8f0
cmp qword [rbp + 0x390], 0
jne 0x14001ec8a
mov rax, qword [rbp + 0x398]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x3a0]
mov qword [rbp + 0x288], rax
lea rdx, str.7340a802c7a311d094ea908fd5655f3101b5ba398f244e0fad873bcfc60bf18bad898f7fb09963ee5a2d181ec923350815737ab8bd10f47f2a4f50d96af649592adf6be6c8acd3e5f29f4ef112a6e3a54311941183dd4ebbb88d80697c385bbf13210def71d0b6f13a1bed08b4d2a55de7af2a026d9b9e65a79b27147a89f92fa45d86727b6d4cb8067ab8aeaafb6aff946d50bcb4df37682f8f97bfc819c36f5d5f4c667e8aea3abffb6f1c84e981e2bbb108c23eddaddbc9a7a682a6794912f91a241812b2aa43d36296ed4d1ac4a20d0612d3e85f1161d00fcbac0a68df2e2fbfcfb1d95b27360c6bb811fe8c353c8ca4f5f98a651b786ebed11f835e913ed9af2be71e77d39ba090db830647f6717b10e5952bed209b5399d602502177d2ed5cc336a0c06e0d3342eb67317b90c7806c51b2af8b8805b59f819eb3c1f51a55a6361ae9dd9e36a0d7baa511f6b571a60b1302372dc81734503d456c40531a77d60a873aea61c219785c0cd2a1c02de3726574f4011e4cd36253c26c35351033b4a9087ba0781a0b71d5a9cd19a9a182b91714d460dd7fe5430ce8cdd825f35c690e8a8401bd62f52a9eb507a45b0959afa01d8ae5d4747657b94d02385b0d33c46d2d62e758238b5f212813fed5816753acf83fbc74397585712dd54d284a4ba74257904d6c81c57f604d89295a42e1d33977d7ae27df5b7cdf0b0aa1ad030ea02277f9d93d31b1b0fc7fb72296200802571120979bed83648b634720282ff49f71264b7879ad98d49e614255d09fb7990bd92ffff9b50510ada3094b2bf7372382a82149744ceae38423abad309ec2ed547d2f0e3a8778b7a53cbbe20caed0820bceecadaad8577b7caffcdf7e886052cc9f049c8cb72dfcbd2edcfd16f8a4eb9ec1ca5ba6c03edb4ff81fa3512f10b09c091b03e4658f6b06873c5c8463a45a4f1b5f208d2c0a0e1f0c45ccc5fe0607582d3b49ec672aeeda949c2a05d47450973249ce37081ec0ab59645365ed17fc289c22a80cb5a1a2c7994ce94ed4a2e39f10eaa635e8a4e494005070f608e9e7681c686fbe8f5bc0b566be6766cd611d3aa345140d37d5fc5ab36cda46ac027ab99903eb6050c4038fca3c9ee8880fd8e6b51145bb942b0660c5bf165ecf3ca5a1b1314ba55805336a26c6a74426332077e58be3111bcf33b391426f2ba25672e5a1ce5c0f1e523edcbd99e2944ab9dce75c543c7b014edf3b3bf19d120bf376704f359ae480be29a1086e35d7563cc127319fff16a98f17558e37b1b59aef61a6174cdeea6cb3d380c8b0388f2e99a2a7beefefe8fa916b3fc70c0f4f40721c108a93d5763e1b82adc1f4af09879aeabf7a4be4daaa7b4c4c7fd17cfe12792ba68d9ca82de38b3e70ee1e296bafbbe81544fd5e2f9cb29060ccce664012f072a2421f93a8f11ebb14dbbd2b3c806b02a2bdcb48c65ceeccb7d862f3e707905e62d607629de5c3743cc04a5751eaa0a9d706eb3ce4e57bcead2b21cabeeb2e432c2963a1f2e34c65bd5325db0a3d8825230606ac33bb7e667b987e7a652aac2489685dc9b7a6cc29de00422518159205691f7a89abc8a316f2faea74e26e692838381ae06b2993521f9baf92121a9f8d121b29caa0e34eace99f07194c2218428f8996368b7022f2e1d22282c8c39bfb6f5a20a48bfba5e5be208dee7a3a9543e3ebe488ec52b625f53ae594fb27758eeff910bae7b0fd95cedb5120a1d5f48c9bf701183ffcdd19d78c77cb12e72dd449bf848a2afcf8b1e5f8226bad2616b0b06e6f7637946093b929416ec73ca06839071657a95f34abf077b8b93388702f013e02188335cfdba969d6d046228ba004c44a0a827590c00f7d99cb100dfe7f61360dcb96f45411eb52b57181a4f84278288b4270bf2774a0fd0198ebb7ef58e28765422f7c1ce6344d1a2c3cdd1d706f87ab970c50d808f9f6000450afeff4b9ca03d6b49b8c908484e7c43438af6064e24be922551f6fd1b0234f09613a1988806c001f6055a32d3829a211827bda3aaa993bfb9d944279ed6b388c89744de1f85008154468dc543151cbeabf6fbc3f1d65dc96c397395763ebe03eefe0e4aa1bc47ae0721f58e2869daa21777faed41621b1432424a5002428af8bc66fb09b783e90b2caf29a971067e3d83400de5cf86daaf53a199856560bf19a5ef345c14640502121a26e35340b0c8b351893fa111a4623f93f33f6baa9df80f86a9ab8d33927ff18f3abf8d2ea4c59420b8c25b8d6932d505fe4b3b83042779188bda474ee2bd76fc99466a1b3325a2f2edcf3f9254fdd3ec69e7e32416fd3682ab732711e7988ba604b0e8d9f082ea523020b9077b51ed32c143e08c7d3c3f7b59d373bedc62d2d67bb47cf3c23e98cf097fc1f5d180523778148eb74a0a58c0015c43a9806829d9552d7e1721b16c88049a1d0fb657749fa836841e35905fa69d06534837dfccf45fcd545f71f387161759b027b2a94e087b264a279187738b18d0072923668ee7436798d13f48e5fad39e6368f26707144bfd24287df380ca396ba70d8d811d38c4b4d7f33ff2737bdc855708adcfc6d5feeba5cff4173ba959b1be955c357f945b9b3930306328c6e17c2c34a9b964ab6dc34bbe12eda2b7a5485102b46d9d546e2cb06149d9802a1e99166e90e514b0245c7b35c20985a56918467badbcdc27b3de3999118e8e3e52b8b90eff2aee3494ce6b2045d447e7a168c08fd738b445f4652fe262aa8e33a4b5361fc442e7ada3e0ab5f384f2f7036168e4c65fce735c741a0ec09d60163fb95e638d2210731f3f1510483b145bfe208670f84808e15e7b70e189712ff9ed39e4472cc354bba955a93608a6ac3373790f97d9ed4a6ed9e10074a22cf001
lea rcx, [rbp + 0x390]
mov r8d, 0x7d20
call fcn.14018f8f0
cmp qword [rbp + 0x390], 0
jne 0x14001ec9e
mov rax, qword [rbp + 0x398]
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x3a0]
mov qword [rbp + 0x298], rax
lea rdx, [0x140288ac0]
lea rcx, [rbp + 0x2f8]
mov r8d, 0x21
call fcn.1401512c0
lea rcx, [rbp + 0x390]
call fcn.140150a70
movabs rax, 0x8000000000000000
cmp qword [rbp + 0x390], rax
je 0x14001ecd1
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x390]
mov r8d, 0x140
call fcn.140263e30
lea rdx, [0x140288b00]
lea rcx, [rbp + 0x2e0]
mov r8d, 0x17
call fcn.1401512c0
mov rax, qword [0x140318080]
cmp rax, 2
je 0x14001dc1b
lea rcx, [section..data]
mov rdx, rcx
call fcn.140267270
lea rsi, [0x140318008]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14031b7c8]
mov rax, qword [rax]
shl rax, 1
test rax, rax
je 0x14001e667
call fcn.140273310
xor al, 1
mov dword [rbp + 0x4dc], eax
movzx eax, byte [0x140318010]
test al, al
jne 0x14001e67e
lea rax, [0x140318030]
mov qword [rbp + 0x310], rax
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x4e8]
mov r8, qword [rbp + 0x4f8]
call fcn.14017eb70
movdqu xmm0, xmmword [rbp + 0x390]
movdqu xmm1, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x2b0], xmm1
movdqa xmmword [rbp + 0x2a0], xmm0
lea rdx, [0x140288b30]
lea rcx, [rbp + 0x218]
mov r8d, 8
call fcn.1401512c0
mov rdx, qword [rbp + 0x220]
mov r8, qword [rbp + 0x228]
lea rcx, [rbp + 0x2a0]
mov qword [rbp + 0x4f0], rdx
call fcn.140176ff0
mov rdx, qword [rbp + 0x218]
test rdx, rdx
je 0x14001dcfd
mov r8d, 1
mov rcx, qword [rbp + 0x4f0]
call fcn.140001700
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
lea rcx, [rbp + 0x390]
mov qword [rbp + 0x4f0], rdx
mov qword [rbp + 0x4e0], r8
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001ecf0
mov rsi, qword [rbp + 0x398]
mov rdi, qword [rbp + 0x3a0]
mov rdx, qword [rbp + 0x2a8]
mov r8, qword [rbp + 0x2b0]
lea rcx, [rbp + 0x390]
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001ed0d
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x3a0]
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x398], rdi
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], rcx
mov qword [rsp + 0x20], 0
lea r9, fcn.1400010a0
lea rcx, [rbp + 0x340]
lea rdx, [rbp + 0x390]
mov r8d, 2
call fcn.140016c30
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x320], rax
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x328], rax
mov rsi, qword [rbp + 0x350]
mov byte [rbp + 0x507], 1
lea rdx, [0x140288b98]
lea rcx, [rbp + 0x268]
mov r8d, 0x11
call fcn.1401512c0
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0x390], rax
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0x398], rax
mov qword [rbp + 0x3a0], rsi
lea rcx, [rbp + 0x340]
lea rdx, [rbp + 0x390]
call fcn.1400156a0
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x330], rax
cmp dword [rbp + 0x340], 2
jne 0x14001ed2a
mov rax, qword [rbp + 0x358]
mov qword [rbp + 0x240], rax
movdqu xmm0, xmmword [rbp + 0x348]
movdqa xmmword [rbp + 0x230], xmm0
lea rdx, str.AXWGRP
lea rcx, [rbp + 0x250]
mov r8d, 0x24
call fcn.1401512c0
lea rdx, [0x140288bec]
lea rcx, [rbp + 0x138]
mov r8d, 0x1e
call fcn.1401512c0
mov rbx, qword [rbp + 0x240]
lea rcx, [rbp + 0x390]
lea r8, [rbp + 0x138]
mov rdx, rbx
call fcn.14001d220
cmp dword [rbp + 0x390], 2
je 0x14001deed
mov rdx, qword [rbp + 0x3a0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14001deed
test rdx, rdx
je 0x14001deed
mov rcx, qword [rbp + 0x3a8]
mov r8d, 1
call fcn.140001700
lea rdx, [0x140288c0a]
lea rcx, [rbp + 0x120]
mov r8d, 0x19
call fcn.1401512c0
lea rcx, [rbp + 0x390]
lea r8, [rbp + 0x120]
mov rdx, rbx
call fcn.14001d220
cmp dword [rbp + 0x390], 2
je 0x14001df52
mov rdx, qword [rbp + 0x3a0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14001df52
test rdx, rdx
je 0x14001df52
mov rcx, qword [rbp + 0x3a8]
mov r8d, 1
call fcn.140001700
lea rdx, [0x140288c23]
lea r13, [rbp + 0x200]
mov r8d, 0x1ed
mov rcx, r13
call fcn.1401512c0
lea rdx, [0x140288e10]
lea r15, [rbp + 0x1e8]
mov r8d, 4
mov rcx, r15
call fcn.1401512c0
lea rdx, [0x140288e14]
lea rdi, [rbp + 0x1d0]
mov r8d, 0x14
mov rcx, rdi
call fcn.1401512c0
lea rdx, [0x140288e28]
lea r12, [rbp + 0x1b8]
mov r8d, 0x14
mov rcx, r12
call fcn.1401512c0
lea rdx, [0x140288e3c]
lea r14, [rbp + 0x1a0]
mov r8d, 0x40
mov rcx, r14
call fcn.1401512c0
lea rdx, [0x140288e7c]
lea rsi, [rbp + 0x188]
mov r8d, 0x36
mov rcx, rsi
call fcn.1401512c0
mov qword [rbp + 0x390], r13
lea rax, [0x14001d120]
mov qword [rbp + 0x398], rax
lea rcx, [rbp + 0x160]
mov qword [rbp + 0x3a0], rcx
lea rdx, [0x140011af0]
mov qword [rbp + 0x3a8], rdx
mov qword [rbp + 0x3b0], r15
mov qword [rbp + 0x3b8], rax
mov qword [rbp + 0x3c0], rcx
mov qword [rbp + 0x3c8], rdx
mov qword [rbp + 0x3d0], rdi
mov qword [rbp + 0x3d8], rax
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x3e0], rcx
mov qword [rbp + 0x3e8], rdx
mov qword [rbp + 0x3f0], r12
mov qword [rbp + 0x3f8], rax
lea rcx, [rbp + 0x310]
mov qword [rbp + 0x400], rcx
lea rcx, [0x14000e0a0]
mov qword [rbp + 0x408], rcx
mov qword [rbp + 0x410], r14
mov qword [rbp + 0x418], rax
lea rcx, [rbp + 0x250]
mov qword [rbp + 0x420], rcx
mov qword [rbp + 0x428], rax
mov qword [rbp + 0x430], rsi
mov qword [rbp + 0x438], rax
lea rax, [0x140288eb8]
mov qword [rbp + 0x340], rax
mov qword [rbp + 0x348], 0xb
mov qword [rbp + 0x360], 0
lea rax, [rbp + 0x390]
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x358], 0xb
lea rcx, [rbp + 0x378]
lea rdx, [rbp + 0x340]
call fcn.140189bf0
mov rax, qword [rbp + 0x388]
mov qword [rbp + 0x350], rax
movdqu xmm0, xmmword [rbp + 0x378]
movdqa xmmword [rbp + 0x340], xmm0
lea rcx, [rbp + 0x390]
lea r8, [rbp + 0x340]
mov rdx, rbx
call fcn.14001d220
cmp dword [rbp + 0x390], 2
je 0x14001e17f
mov rdx, qword [rbp + 0x3a0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14001e17f
test rdx, rdx
je 0x14001e17f
mov rcx, qword [rbp + 0x3a8]
mov r8d, 1
call fcn.140001700
lea rdx, str.__62
lea rcx, [rbp + 0x108]
mov r8d, 0x3c
call fcn.1401512c0
lea rcx, [rbp + 0x390]
lea r8, [rbp + 0x108]
mov rdx, rbx
call fcn.14001d220
cmp dword [rbp + 0x390], 2
je 0x14001e1e4
mov rdx, qword [rbp + 0x3a0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14001e1e4
test rdx, rdx
je 0x14001e1e4
mov rcx, qword [rbp + 0x3a8]
mov r8d, 1
call fcn.140001700
lea rdx, [0x140288fa4]
lea rcx, [rbp + 0xf0]
mov r8d, 0x54
call fcn.1401512c0
lea rcx, [rbp + 0x390]
lea r8, [rbp + 0xf0]
mov rdx, rbx
call fcn.14001d220
cmp dword [rbp + 0x390], 2
je 0x14001e249
mov rdx, qword [rbp + 0x3a0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14001e249
test rdx, rdx
je 0x14001e249
mov rcx, qword [rbp + 0x3a8]
mov r8d, 1
call fcn.140001700
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x4e8]
mov r8, qword [rbp + 0x4f8]
call fcn.14017eb70
movdqu xmm0, xmmword [rbp + 0x390]
movdqu xmm1, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x350], xmm1
movdqa xmmword [rbp + 0x340], xmm0
lea rdx, [0x140288ff8]
lea rcx, [rbp + 0x170]
mov r8d, 0x12
call fcn.1401512c0
mov rdx, qword [rbp + 0x178]
mov r8, qword [rbp + 0x180]
lea rcx, [rbp + 0x340]
mov qword [rbp + 0x4f8], rdx
call fcn.140176ff0
mov rdx, qword [rbp + 0x170]
test rdx, rdx
je 0x14001e2db
mov r8d, 1
mov rcx, qword [rbp + 0x4f8]
call fcn.140001700
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x4f0]
mov r8, qword [rbp + 0x4e0]
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001ed8a
mov rsi, qword [rbp + 0x398]
mov rdi, qword [rbp + 0x3a0]
mov rdx, qword [rbp + 0x348]
mov r8, qword [rbp + 0x350]
lea rcx, [rbp + 0x390]
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001eda7
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x3a0]
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x398], rdi
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], rcx
mov qword [rsp + 0x20], 0
lea r9, fcn.1400010a0
lea rcx, [rbp + 0x378]
lea rdx, [rbp + 0x390]
mov r8d, 2
call fcn.140016c30
mov rax, qword [rbp + 0x378]
mov qword [rbp + 0x4f8], rax
mov rcx, qword [rbp + 0x380]
mov rdx, qword [rbp + 0x388]
mov qword [rbp + 0x4e8], rcx
call fcn.14017c960
mov rsi, rax
mov rdx, qword [rbp + 0x4f8]
test rdx, rdx
je 0x14001e3d5
mov r8d, 1
mov rcx, qword [rbp + 0x4e8]
call fcn.140001700
mov qword [rbp + 0x390], rsi
test rsi, rsi
je 0x14001e3ed
lea rcx, [rbp + 0x390]
call fcn.14000ad50
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x4f0]
mov r8, qword [rbp + 0x4e0]
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001edc4
mov rsi, qword [rbp + 0x398]
mov rdi, qword [rbp + 0x3a0]
mov rdx, qword [rbp + 0x348]
mov r8, qword [rbp + 0x350]
lea rcx, [rbp + 0x390]
call fcn.140171320
cmp qword [rbp + 0x390], 0
jne 0x14001ede1
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x3a0]
mov qword [rbp + 0x390], rsi
mov qword [rbp + 0x398], rdi
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], rcx
mov qword [rsp + 0x20], 0
lea r9, fcn.1400010a0
lea rcx, [rbp + 0x378]
lea rdx, [rbp + 0x390]
mov r8d, 2
call fcn.140016c30
mov rax, qword [rbp + 0x378]
mov qword [rbp + 0x4f8], rax
mov rdi, qword [rbp + 0x380]
mov rsi, qword [rbp + 0x388]
mov byte [rbp + 0x506], 1
lea rdx, [0x140289070]
lea rcx, [rbp + 0x2c8]
mov r8d, 0x15
mov qword [rbp + 0x4e8], rdi
call fcn.1401512c0
mov dword [rbp + 0x390], 0
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov dword [rbp + 0x3a8], 7
mov qword [rbp + 0x3ac], 0
mov word [rbp + 0x3b4], 0
mov byte [rbp + 0x3b1], 1
mov byte [rbp + 0x3b4], 1
mov byte [rbp + 0x3b3], 1
lea rcx, [rbp + 0x390]
mov rdx, rdi
mov r8, rsi
call fcn.140171380
mov rdi, rax
mov rsi, rdx
mov rdx, qword [rbp + 0x4f8]
test rdx, rdx
mov rcx, qword [rbp + 0x4e8]
je 0x14001e560
mov r8d, 1
call fcn.140001700
test rdi, rdi
jne 0x14001edfe
mov qword [rbp + 0x338], rsi
mov rax, qword [rbp + 0x310]
mov r12, qword [rax + 8]
mov rdi, qword [rax + 0x10]
cmp rdi, 7
jb 0x14001e5c7
cmp rdi, 0x14
ja 0x14001e6c3
mov eax, 0x676f6f67
nop word cs:[rax + rax]
cmp rdi, 6
jb 0x14001e5ea
mov ecx, dword [r12]
xor ecx, eax
movzx edx, word [r12 + 4]
xor edx, 0x656c
inc r12
dec rdi
or edx, ecx
jne 0x14001e5a0
jmp 0x14001e919
cmp rdi, 6
jne 0x14001e5ea
mov eax, 0x676f6f67
xor eax, dword [r12]
movzx ecx, word [r12 + 4]
xor ecx, 0x656c
or ecx, eax
je 0x14001e919
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x280]
mov r8, qword [rbp + 0x288]
call fcn.140004330
mov rcx, qword [rbp + 0x390]
movabs rax, 0x8000000000000000
mov qword [rbp + 0x4f0], rcx
cmp rcx, rax
je 0x14001ee34
mov rdx, qword [rbp + 0x398]
mov r8, qword [rbp + 0x3a0]
lea rcx, [rbp + 0x338]
mov qword [rbp + 0x4e0], rdx
call fcn.1400084c0
mov qword [rbp + 0x390], rax
test rax, rax
je 0x14001e98d
lea rcx, [rbp + 0x390]
call fcn.14000ad50
jmp 0x14001e98d
xor eax, eax
mov dword [rbp + 0x4dc], eax
movzx eax, byte [0x140318010]
test al, al
je 0x14001dc5d
mov rcx, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x2f0]
mov qword [rbp + 0x390], rsi
mov eax, dword [rbp + 0x4dc]
mov byte [rbp + 0x398], al
lea rax, [0x140288b18]
mov qword [rsp + 0x20], rax
lea r9, fcn.1400010a0
lea r8, [rbp + 0x390]
call fcn.1402743e0
jmp 0x14001eeaa
mov qword [rbp + 0x390], r12
mov qword [rbp + 0x398], rdi
lea rax, [0x1402890a1]
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], 5
cmp rdi, 0x46
jb 0x14001e859
xor r15d, r15d
movdqa xmm6, xmmword [str.ggggggggggggggggeeeeeeeeeeeeeeee]
movdqa xmm7, xmmword [0x1402784b0]
lea r14, [rbp + 0x390]
xor ebx, ebx
movdqu xmm0, xmmword [r12 + r15]
movdqu xmm1, xmmword [r12 + r15 + 5]
movdqu xmm12, xmmword [r12 + r15 + 0x10]
movdqu xmm13, xmmword [r12 + r15 + 0x15]
pcmpeqb xmm0, xmm6
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb r8d, xmm1
movdqu xmm10, xmmword [r12 + r15 + 0x20]
movdqu xmm11, xmmword [r12 + r15 + 0x25]
movdqu xmm8, xmmword [r12 + r15 + 0x30]
movdqu xmm9, xmmword [r12 + r15 + 0x35]
test r8d, r8d
jne 0x14001e7d1
pcmpeqb xmm12, xmm6
pcmpeqb xmm13, xmm7
pand xmm13, xmm12
pmovmskb r8d, xmm13
test r8w, r8w
jne 0x14001e7ee
pcmpeqb xmm10, xmm6
pcmpeqb xmm11, xmm7
pand xmm11, xmm10
pmovmskb r8d, xmm11
test r8w, r8w
jne 0x14001e80c
pcmpeqb xmm8, xmm6
pcmpeqb xmm9, xmm7
pand xmm9, xmm8
pmovmskb r8d, xmm9
test r8w, r8w
jne 0x14001e82a
lea rsi, [r15 + 0x40]
add r15, 0x85
cmp r15, rdi
jae 0x14001e85d
mov eax, ebx
mov r15, rsi
and al, 1
je 0x14001e710
jmp 0x14001e85d
mov r9d, ebx
and r9b, 1
mov rcx, r14
mov rdx, r15
call fcn.1402687f0
or al, bl
and al, 1
mov ebx, eax
jmp 0x14001e75d
lea rdx, [r15 + 0x10]
mov r9d, ebx
and r9b, 1
mov rcx, r14
call fcn.1402687f0
or al, bl
and al, 1
mov ebx, eax
jmp 0x14001e777
lea rdx, [r15 + 0x20]
mov r9d, ebx
and r9b, 1
mov rcx, r14
call fcn.1402687f0
or al, bl
and al, 1
mov ebx, eax
jmp 0x14001e791
lea rdx, [r15 + 0x30]
mov r9d, ebx
and r9b, 1
mov rcx, r14
call fcn.1402687f0
or al, bl
and al, 1
mov ebx, eax
lea rsi, [r15 + 0x40]
add r15, 0x85
cmp r15, rdi
jb 0x14001e7bf
jmp 0x14001e85d
xor ebx, ebx
xor esi, esi
lea rax, [rsi + 0x15]
mov r9d, ebx
and r9b, 1
cmp rax, rdi
jae 0x14001e8e0
test r9b, r9b
jne 0x14001e8e0
movdqa xmm6, xmmword [str.ggggggggggggggggeeeeeeeeeeeeeeee]
movdqa xmm7, xmmword [0x1402784b0]
lea r14, [rbp + 0x390]
nop dword [rax]
movdqu xmm0, xmmword [r12 + rsi]
pcmpeqb xmm0, xmm6
movdqu xmm1, xmmword [r12 + rsi + 5]
pcmpeqb xmm1, xmm7
pand xmm1, xmm0
pmovmskb r8d, xmm1
test r8d, r8d
jne 0x14001e8ce
lea rax, [rsi + 0x25]
mov r9d, ebx
and r9b, 1
cmp rax, rdi
jae 0x14001e8e0
add rsi, 0x10
test r9b, r9b
je 0x14001e890
jmp 0x14001e8e0
mov rcx, r14
mov rdx, rsi
xor r9d, r9d
call fcn.1402687f0
mov ebx, eax
jmp 0x14001e8b3
movdqu xmm0, xmmword [r12 + rdi - 0x15]
movdqu xmm1, xmmword [r12 + rdi - 0x10]
pcmpeqb xmm0, xmmword [str.ggggggggggggggggeeeeeeeeeeeeeeee]
pcmpeqb xmm1, xmmword [0x1402784b0]
pand xmm1, xmm0
pmovmskb r8d, xmm1
test r8d, r8d
jne 0x14001ec5d
test bl, 1
je 0x14001e5ea
lea rcx, [rbp + 0x390]
mov rdx, qword [rbp + 0x290]
mov r8, qword [rbp + 0x298]
call fcn.140004330
mov rcx, qword [rbp + 0x390]
movabs rax, 0x8000000000000000
mov qword [rbp + 0x4f0], rcx
cmp rcx, rax
je 0x14001ee6f
mov rdx, qword [rbp + 0x398]
mov r8, qword [rbp + 0x3a0]
lea rcx, [rbp + 0x338]
mov qword [rbp + 0x4e0], rdx
call fcn.1400084c0
mov qword [rbp + 0x390], rax
test rax, rax
je 0x14001e98d
lea rcx, [rbp + 0x390]
call fcn.14000ad50
mov rdx, qword [rbp + 0x4f0]
test rdx, rdx
je 0x14001e9ab
mov r8d, 1
mov rcx, qword [rbp + 0x4e0]
call fcn.140001700
lea rdx, [0x1402890d8]
lea rcx, [rbp + 0x378]
mov r8d, 0x11
call fcn.1401512c0
lea rcx, [rbp + 0x390]
lea rdx, [rbp + 0x378]
call fcn.14018abb0
mov rax, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x318]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rbp + 0x390]
movdqu xmmword [rcx], xmm0
mov rdx, qword [rbp + 0x378]
test rdx, rdx
je 0x14001ea13
mov rcx, qword [rbp + 0x380]
mov r8d, 1
call fcn.140001700
mov rcx, qword [rbp + 0x338]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rdx, qword [rbp + 0x2c8]
test rdx, rdx
je 0x14001ea3e
mov rcx, qword [rbp + 0x2d0]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x340]
test rdx, rdx
je 0x14001ea5c
mov rcx, qword [rbp + 0x348]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x188]
test rdx, rdx
je 0x14001ea7a
mov rcx, qword [rbp + 0x190]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x1a0]
test rdx, rdx
je 0x14001ea98
mov rcx, qword [rbp + 0x1a8]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x1b8]
test rdx, rdx
je 0x14001eab6
mov rcx, qword [rbp + 0x1c0]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x1d0]
test rdx, rdx
je 0x14001ead4
mov rcx, qword [rbp + 0x1d8]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x1e8]
test rdx, rdx
je 0x14001eaf2
mov rcx, qword [rbp + 0x1f0]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x200]
test rdx, rdx
je 0x14001eb10
mov rcx, qword [rbp + 0x208]
mov r8d, 1
call fcn.140001700
mov rdx, qword [rbp + 0x250]
test rdx, rdx
je 0x14001eb2e
mov rcx, qword [rbp + 0x258]
mov r8d, 1
call fcn.140001700
lea rcx, [rbp + 0x230]
call fcn.14001cfb0
mov rdx, qword [rbp + 0x268]
test rdx, rdx
je 0x14001eb58
mov r8d, 1
mov rcx, qword [rbp + 0x330]
call fcn.140001700
mov rdx, qword [rbp + 0x2a0]
test rdx, rdx
je 0x14001eb76
mov rcx, qword [rbp + 0x2a8]
mov r8d, 1
call fcn.140001700
cmp byte [rbp + 0x4dc], 0
je 0x14001ec2e
lea rcx, [0x140318008]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov rdx, qword [rbp + 0x2e0]
test rdx, rdx
je 0x14001ebae
mov rcx, qword [rbp + 0x2e8]
mov r8d, 1
call fcn.140001700
lea rcx, [rbp - 0x50]
call fcn.14001ce60
mov rdx, qword [rbp + 0x2f8]
test rdx, rdx
je 0x14001ebd5
mov rcx, qword [rbp + 0x300]
mov r8d, 1
call fcn.140001700
mov rax, qword [rbp + 0x318]
movaps xmm6, xmmword [rbp + 0x510]
movaps xmm7, xmmword [rbp + 0x520]
movaps xmm8, xmmword [rbp + 0x530]
movaps xmm9, xmmword [rbp + 0x540]
movaps xmm10, xmmword [rbp + 0x550]
movaps xmm11, xmmword [rbp + 0x560]
movaps xmm12, xmmword [rbp + 0x570]
movaps xmm13, xmmword [rbp + 0x580]
add rsp, 0x618
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [0x14031b7c8]
mov rax, qword [rax]
shl rax, 1
test rax, rax
je 0x14001eb83
call fcn.140273310
test al, al
jne 0x14001eb83
mov byte [0x140318010], 1
jmp 0x14001eb83
add rdi, 0xffffffffffffffeb
test r9b, r9b
setne sil
lea rcx, [rbp + 0x390]
mov rdx, rdi
call fcn.1402687f0
mov ebx, eax
or bl, sil
test bl, 1
je 0x14001e5ea
jmp 0x14001e919
movups xmm0, xmmword [rbp + 0x398]
movaps xmmword [rbp - 0x50], xmm0
lea rax, [0x140280d70]
jmp 0x14001ecb0
movups xmm0, xmmword [rbp + 0x398]
movaps xmmword [rbp - 0x50], xmm0
lea rax, [0x140288aa8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140278520]
lea r9, [0x140278550]
lea r8, [rbp - 0x50]
mov edx, 0x2b
call fcn.1402743e0
mov rcx, qword [rbp + 0x300]
mov rdx, qword [rbp + 0x308]
lea r8, [0x140288ae8]
call fcn.140273ed0
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140288b68]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140288b80]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
mov rdx, qword [rbp + 0x278]
mov rax, qword [rbp + 0x360]
mov qword [rbp + 0x3b0], rax
movdqu xmm0, xmmword [rbp + 0x340]
movdqu xmm1, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x3a0], xmm1
movdqa xmmword [rbp + 0x390], xmm0
lea rax, [0x140288bb0]
mov qword [rsp + 0x20], rax
lea r9, [0x1402784e0]
lea r8, [rbp + 0x390]
mov rcx, qword [rbp + 0x330]
call fcn.1402743e0
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140289010]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140289028]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140289040]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
lea rcx, [0x140288b38]
lea r8, [0x140289058]
mov edx, 0x2b
call fcn.140274010
jmp 0x14001eeaa
mov rcx, qword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x2d8]
mov qword [rbp + 0x390], rsi
lea rax, [0x140289088]
mov qword [rsp + 0x20], rax
lea r9, fcn.14000ad50
lea r8, [rbp + 0x390]
call fcn.1402743e0
jmp 0x14001eeaa
movups xmm0, xmmword [rbp + 0x398]
movups xmmword [rbp + 0x378], xmm0
lea rax, [0x1402890a8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140278520]
lea r9, [0x140278570]
lea r8, [rbp + 0x378]
mov edx, 0x2b
call fcn.1402743e0
jmp 0x14001eeaa
movdqu xmm0, xmmword [rbp + 0x398]
movdqu xmmword [rbp + 0x378], xmm0
lea rax, [0x1402890c0]
mov qword [rsp + 0x20], rax
lea rcx, [0x140278520]
lea r9, [0x140278570]
lea r8, [rbp + 0x378]
mov edx, 0x2b
call fcn.1402743e0
ud2