Function at 0x18058092a
Capabilities:
Authenticate hmac
Execute anti-debugging instructions

Disassembly:
je 0x180521c40
not dword [rsp + rdx - 0x1d55052c]
mov r9d, dword [r8 + rdx*2 - 0x3aaa0a58]
inc rbx
ror rcx, 0xea
lea r8, [r8 + rdx - 0x1d550528]
xor word [rsp + rbx*2 - 0x14fae], dx
mov edi, dword [rsp + rdx*2 - 0x3aaa0a57]
xor r9d, r10d
cqo
mov byte [rsp + rdx + 5], bpl
xor r9d, 0x28a58fa5
and dl, 0x9d
add word [rsp + rdx + 4], 0x57af
and byte [rsp + rdx*2 + 6], 0x18
neg r9d
add qword [rsp + rdx*4], 0xffffffff9804e880
jns 0x1805c0646
mov edi, dword [r8]
mov r9d, 0xd40c60b6
lea rcx, [r9 + r9*2 - 0x2a41547c]
add r8, 4
movzx eax, r9w
movsx ebx, al
xor edi, r10d
shr cx, 0xc5
btc r9, 0x36
bswap edi
btc r9d, r9d
lea rdx, [rax*8 - 0x1fd81067]
inc edi
sar r9d, 0x34
inc rax
btc bx, dx
rol edi, 3
dec r9w
div ebx
mov ebp, 0xe9945b25
neg edi
cbw
inc bx
push r10
btr r9d, r9d
or rcx, rbx
ror rax, 0x63
xor dword [rsp + rdx - 0x225a701b], edi
sub bp, dx
jge 0x180523cf5
pop r10
xadd bx, ax
movsxd rdi, edi
not cl
shl rcx, 0x57
sar r9w, 5
adc r11, rdi
sub edx, eax
mov edi, ebx
idiv bl
mov rdi, qword [rsi + riz]
shl r9, 0x9b
ror edx, 0x86
add bx, 0x590d
adc rsi, 7
movzx ebp, byte [r8 + riz]
push rdx
sub qword [rsp], rcx
shr bl, 0x61
adc r8, 1
pop r9
rol r9b, 0x26
xor bpl, r10b
cqo
ror bpl, 1
neg bpl
not bpl
btc rbx, rbx
push rcx
and dx, bx
neg bpl
sal bl, 5
xor r10b, bpl
sal rbx, 0xaa
lea rbp, [rsp + rbp + 8]
sub cl, dh
jae 0x1805bb1a3
mov eax, 0xa2017eaa
movzx r10d, byte [rsi + riz]
lea rdx, [rax*4 - 0x3dee1243]
mov ecx, 0xd7276438
movsx edi, ax
xor r10b, r8b
jmp 0x1805902d6
dec edx
and al, r9b
xor r10w, r10w
mov r9d, edx
mov word [rbx + rbp - 0x1f11], ax
movzx edi, byte [rbp + rsi - 0x1f13]
mov eax, 0x9084d99a
xor dil, r8b
push rax
mov qword [rsp + rbp - 0x1f13], rax
shr dword [rsp + rbp*4 - 0x7c49], cl
sbb dil, 0x1b
neg dil
bts cx, r9w
or rbp, 0xffffffff83878dbc
dec byte [rsp + rbp + 0x7c786048]
ror dil, 1
shl rdx, cl
and byte [rsp + rbp + 0x7c786043], dl
not edx
adc dil, 0x38
ror qword [rsp + rbp + 0x7c786041], cl
jae 0x180523a8e
mov r9, rax
push 0xffffffffbf9e632f
lea rsp, [rsp + 8]
jmp 0x1805c97ba
mul r10
neg edi
imul dx
inc rax
inc edi
shl al, 0x47
jp 0x180591720
call fcn.18057ad81
movsx eax, r9w
lea rsi, [rsi + r9 - 0x4a07f4b0]
sal rax, 0xaa
xor ecx, r8d
mov edi, r9d
mov edx, r9d
lea ecx, [r9 + rcx + 0x128b91f1]
not ecx
mov ebp, edi
bswap ecx
not ecx
add al, 0xbe
lea r9, [r9*8 + 0x222321b1]
rol ecx, 3
xor ecx, 0x2db0c11d
ror rdx, 0x4b
btc rax, rdi
inc ecx
rol ecx, 1
inc ecx
push r8
neg r9b
sub rbp, rdi
xor dword [rsp + rdi - 0x4a07f4b4], ecx
sal r9b, 0xa5
ror r9d, 0xdb
js 0x180523c4f
mov edi, dword [rsi + rbp]
call fcn.18056c8c5
mov r9d, 0xd3aec615
mov ebp, dword [rsi + riz]
movzx edx, r9w
lea rax, [r9 - 0xef6f8f5]
lea rsi, [rsi + rdx*8 - 0x630a4]
xor ebp, r8d
bswap ebp
shl rax, 0x23
inc ebp
movsx edi, dl
shl rax, 0x5c
mov r10d, eax
bswap ebp
sub di, 0x5ca0
jp 0x18059703b
lea ebp, [rbp + rdx + 0x158f108f]
push rdi
setae al
bt r10, 0x84
rol ebp, 1
inc r10d
mul rdi
add r10, rdi
neg ebp
inc qword [rsp + rdx*4]
shl eax, 0x19
lea ebp, [rdx + rbp + 0x6614ec92]
pop rax
bswap ebp
movzx ecx, al
not r10w
cwd
not ebp
push r8
xor r10w, dx
mov r8d, r9d
xor dword [rsp + rdx - 0xffff], ebp
xchg dl, r8b
pop r8
inc r10w
or edi, r9d
jae 0x1805756b7
mov ecx, 0x24b55f81
push rcx
mov rax, qword [rcx + rbx - 0x24b55f81]
sar qword [rsp + rcx*2 - 0x496abf02], cl
lea rbx, [rcx + rbx - 0x24b55f79]
shr rcx, 0xa2
call fcn.18055514d
pop r8
ror rcx, 0x50
movzx eax, bp
jb 0x1805ce347
movsxd rdi, edi
setb cl
shr r10, 0x3f
sal cx, 0xed
adc r11, rdi
not rcx
rdtsc
xor r10d, 0xc27f587
not bp
lea rbx, [rbx + r10*8 - 0x613fac40]
lea rdi, [r9 + rbp - 0x186751d0]
mov dword [r10 + rbx - 0xc27f583], eax
or r10, rdi
bt ebp, 0x30
mov dword [rbx + riz], edx
jae fcn.18051ffce
sub byte [rsp + rax*2 + 0x10], dil
xor r10w, bx
xchg ecx, r9d
push r9
lea rbx, [rsp + rbx + 0x20]
mov byte [rax + rbx], dl
sal edi, 0xc2
cqo
neg dword [rsp + rbp - 0x796afbd6]
mov qword [rsp + rbp - 0x796afbdd], r11
ret 0x18
not ecx
xor ebp, edi
xchg r9b, al
inc ecx
call fcn.18055980a
lea rdx, [rdx + rdi*8 + 0x74821f09]
sar rdi, 0xee
not r9b
shr bpl, 0x27
movsx eax, cl
neg r9b
sub r9b, 0xb0
cbw
ror bp, 0xe9
xor r9b, 2
dec cl
lea rdx, [rdi + rax*8 + 0x2877e33]
rol r10b, 0x23
xor r8b, r9b
xor edx, ecx
or dx, 0xae95
adc r9, rsp
shl edx, 0x2b
add edi, dword [r9 + rbp - 0x8099]
add dl, 0x3a
mov dword [rbx + r10*2 - 0x672c], edi
lea rax, [rcx + 0x301b7cac]
movsx edi, cl
mov eax, dword [rbp + rsi - 0x8098]
call fcn.180557814
mov ebx, 0x829c73a5
mov edi, ebx
add bl, dil
mov edi, dword [rsi + riz]
mov ebx, dword [rsi + riz + 4]
mov r9d, 0x9127ac3b
or edi, ebx
not edi
movzx ebp, r9w
lea rcx, [r9 + rbp*2 + 0x1fb8932e]
lea rdx, [r9*2 + 0x72828e80]
mov dword [rsi + rbp*2 - 0x15872], edi
mov rax, qword [rbp + rsi - 0xac37]
movsx ebx, cl
sal rbx, cl
sbb bpl, 0x23
mov cl, byte [rsi + rbp*4 - 0x2b054]
movzx edi, bx
not bp
shr rax, cl
mov qword [rsi + rbp*8 - 0x29f32], rax
lea rsi, [rbp + rsi - 0x53e1]
mov r9d, dword [r8 + rbp*4 - 0x14f9c]
dec rdi
jne 0x1805a1106
mov edx, 0xed388a1d
lea rcx, [rdx + rdx*4 - 0x33d44efc]
mov rcx, qword [rbx + riz]
mov dx, word es:[rcx + riz]
add rbx, 6
mov r10d, 0x770bed1d
lea rax, [r10 + 0x1fa053ad]
push rax
mov word [rbx + r10 - 0x770bed1d], dx
movzx ecx, byte [rsp + r10 - 0x770bed1d]
mov edi, dword [rsi + r10 - 0x770bed1d]
lea rsi, [rcx + rsi - 0xc6]
xor edi, r8d
xor r10w, r10w
inc edi
imul cl
sar dword [rsp + rcx*2 - 0x191], cl
not edi
add byte [rsp + rcx*2 - 0x194], cl
pop rdx
shr r10b, 0xc7
lea edi, [rdi + r10 + 0x1827868f]
je 0x18051dc16
xor r8b, dil
xchg r9, rax
or r9d, r10d
push rbp
lea rdi, [rsp + rdi + 0x10]
mov byte [rsp + rbp + 0x7c786048], 0x21
movzx bp, byte [rdi + rbp + 0x7c786041]
ror qword [rsp + 8], cl
mov word [rbx + riz], bp
mov r9d, dword [rsi + riz + 1]
jns 0x1805753b2
sbb rsi, 0xfffffffffffffffb
xchg qword [rsp + 7], rcx
movsx ebp, dl
xor r9d, r8d
cwde
sub r9d, ebp
btr rdx, 0xab
sbb dl, byte [rsp]
movzx edi, word [rsp + 0xc]
neg r9d
call fcn.18054e6aa
mov r10d, 0x5f000e16
mov edi, r10d
movzx ebp, word [rsi + rdi - 0x5f000e16]
neg rdi
lea rdi, [rdi*2 + 0x2b0acfb6]
js 0x1805b607a
mov r10d, 0x6b12059a
mov ecx, r10d
mov rbp, qword [rdx + r10 - 0x6b12059a]
neg cx
mov qword [rbx + r10 - 0x6b12059a], rbp
lea rax, [rcx + rcx*2 - 0x5ade6880]
sal r10, 0xe8
lea r9, [rcx + r10*8 - 0x42c9a8f6]
add r10d, dword [rcx + rsi - 0x6b12fa66]
call fcn.180525243
btr rbp, 0x9a
jae 0x180593990
dec r9d
btr rdi, rcx
call fcn.180579a81
mov qword [rsp + rcx + 9], r8
inc ebp
rol dword [rsp + rcx + 5], 0xeb
xor dword [rsp + rcx*4 + 0xc], edi
xadd word [rsp + rcx + 5], dx
mov r8, qword [rsp + rcx + 9]
sal al, 6
shl al, 0x65
btc rax, r10
movsxd rdi, edi
or ax, bp
dec word [rsp + rcx + 6]
adc r11, rdi
push rcx
pop rdi
pop rdi
pop rdx
jmp fcn.18051ffce
pop r8
xchg rdx, rax
movsxd rcx, ecx
jle 0x180527b23
neg r9d
bt rbx, 0x34
lea rdx, [rdi*8 - 0x15d27f4f]
and bl, 0x9d
sbb r9d, 0x862b363d
sub dl, al
add al, dil
movzx ecx, di
ror r9d, 3
btc rdx, rcx
sub bpl, dl
rol dx, 0xef
push r10
lea rcx, [rbp + rcx*2 - 0x14e86c53]
bswap rdi
xor dword [rsp + rbp - 0x782a021c], r9d
cbw
btc ecx, 0xb9
pop r10
movsxd r9, r9d
bt bp, di
push rdx
not rdx
adc r11, r9
shl byte [rsp + rbp - 0x782a0219], 0x22
mov dx, word [rsi + rbp - 0x782a021c]
lea rsi, [rsi + rax*4 + 2]
ror di, cl
sbb bl, bpl
sbb dil, byte [rsp + rbp - 0x782a0218]
movzx ebx, word [rax + r8]
shr qword [rsp + rbp - 0x782a021c], cl
lea r8, [rbp + r8 - 0x782a021a]
push rax
push rax
and edi, edi
xor bx, r10w
sal word [rsp + rbp - 0x782a020c], 0x22
adc bx, 0x5495
add dil, dil
mov r9d, ecx
or rbp, rcx
rol bx, 1
not r9w
add bx, 0xc2a
rol bx, 1
and edi, ebp
xchg byte [rsp + rbp - 0x796afbd1], r9b
adc bx, 0x4a2c
xchg word [rsp + rax*4 + 6], ax
jmp 0x18052036f
pop rax
pop r8
xadd rsi, r9
sal r15w, 0xc1
lea r10, [r15 + r9*4 + 0x29829900]
pop rbp
pop r15
pop rdx
sar esi, 0xbe
mov r14d, ecx
pop r9
lea rbx, [rcx*8 - 0x6d5d269]
btc r14, 0x3e
mov r11d, 0x459c171b
pop rcx
pop rdi
setb sil
lea r13, [r11*2 + 0x243ea8bb]
btc r13, 0x81
pop r12
jb 0x18057bcbe
sar r14b, 0xa3
popfq
pop rsi
push r10
bswap r11
call fcn.180537fbf
add byte [rax], al
add byte [rax], al
invalid
call fcn.1805b1864
mov cl, byte [rsi + rcx - 0x6f1ea987]
jns 0x1805345e1
sub rdx, qword [rsp + 0x18]
shr byte [rsp + rdx + 0x9a6ce58], 0x63
shl rbp, cl
sar r9w, 0x6b
lea rbx, [rdx*4 - 0x18cb37fa]
mov qword [rsi + rdx + 0x9a6ce43], rbp
neg bx
lea rsi, [rsi + rbx*2 + 0x7ecd1e18]
rol dword [rsp + rbx + 0x3f668f24], 0xac
mov edi, r9d
mov qword [rsp + rbx + 0x3f668f0a], r11
ret 0x18
movsxd rax, eax
sub word [rsp + rdx - 0x457030f7], r9w
rol r10w, 0x29
mov qword [rsp + rdx - 0x457030f5], 0x2a95723d
adc r11, rax
imul ecx, dword [rsp + rdi - 0x4570be31]
xchg rcx, rdx
mov qword [rsp + r9 - 0x4570cf02], r11
ret 8
xor r10d, r8d
not r10d
mov qword [rsp + rcx - 0x7f9eff98], r9
movsx edx, ax
lea r10d, [r10 + rax + 0x75894af2]
sar bpl, 0xc5
neg r10d
shl ax, 0x68
and byte [rsp + rax - 0x7f9e97fb], dl
shl r9w, 0x84
lea r10d, [rax + r10 - 0x51eca5cd]
cmovns eax, ecx
add qword [rsp + rcx - 0x7f9eff98], r9
ror r10d, 1
mov qword [rsp + rax - 0x7f9e9800], r8
lea rcx, [r9*2 + 0x1b2b3b81]
jmp 0x180537e36
inc r9d
imul rbp, rbx
or ecx, ecx
xor r9d, 0x2926eb8a
rol r9d, 3
lea rbx, [rcx + rbx + 0x7e917cab]
jmp 0x1805269a0
ror word [rsp + 9], 0xae
ror byte [rsp + 7], 0x46
xor r9d, 0x43395b33
push 0xffffffff9ea391bb
inc byte [rsp + 0xd]
shr byte [rsp + 1], 0xa5
dec rdx
lea rsp, [rsp + 0x20]
jne 0x1805c2058
mov ecx, 0x1237c00b
pop rsi
mov edx, 0xc131cf90
mov ecx, edx
neg cx
not r9d
adc edx, ecx
mov eax, edx
mov dword [rbx + riz], r9d
movsx ebp, dl
jmp r11
lea rbx, [r10 + rbx - 0x702e6414]
btr r9w, r9w
mov qword ss:[rdx + rcx*2 - 0x1fe], rax
rol cl, 0x21
jmp r11
jo 0x18051caea
setle byte [rsp + rcx + 1]
dec r9w
rol dx, 0x41
sub edx, dword [rsp + r10 + 0x5f000e16]
xor r8w, r9w
mov word [rbx + r10 + 0x5f000e12], r9w
bswap r10
lea rbx, [rbx + rcx - 4]
mov edi, dword [rcx + rsi + 4]
neg qword [rsp + rcx + 7]
imul cx, word [rsp + rcx*4 + 8]
lea rsi, [rsi + rcx*2 + 8]
xor edi, r8d
xor edi, r10d
not byte [rsp + rcx + 3]
rol edi, 2
dec qword [rsp + rcx*4 + 1]
ror byte [rsp + rcx*4 + 1], 0x21
lea edi, [rdx + rdi + 0x1ff3c0d3]
js 0x1805c50fa
call fcn.1805ca7be
xor edx, r8d
sal dword [rsp + 4], 0xf6
shl word [rsp + 6], 0x8f
not edx
mov eax, dword [rsp]
jp 0x18053f8c3
btr ax, ax
dec dword [rsp + rcx + 2]
or edx, dword [rsi + rax - 0x7fff]
not rax
lea rsi, [rsi + rcx + 4]
add dword [rsp + rcx*2 + 4], 0xafa7de8d
sar qword [rsp + rcx], 0x88
xor edx, r8d
bswap edx
call fcn.180539cc4
push 0xffffffffef83ac96
mov ebp, dword [r8]
sal dword [rsp], 0x9f
mov r9d, 0xda854822
adc r8, 3
xor ebp, r10d
shl r9, 0x97
inc ebp
movsx ecx, byte [rsp + 3]
lea rdx, [r9*2 - 0x364dc5e9]
rol ebp, 1
add ecx, 0x879cb20b
bswap ebp
sal byte [rsp + 5], 0x81
imul rcx, qword [rsp]
movsx ebx, dx
xor ebp, 0xb28fa6a0
mov qword [rsp + rbx - 0x3a17], r10
movsx edi, cx
neg dl
xor dword [rsp + rdi], ebp
sar bl, 0x21
pop r10
movsxd rbp, ebp
shr edi, 0xc4
adc r11, rbp
lea rbp, [rcx + 0x299f1995]
dec rdi
xadd rbp, rbx
mov rbp, qword [rsi + rdi + 1]
jns 0x18054e476
mov r9, qword gs:[rbp + rdi*2 + 2]
movzx eax, di
lea rbp, [rdx + rcx*2 + 0x4626e92b]
btr rdx, 0xa2
mov qword [rsi + rdi*8 + 8], r9
mov r9d, 0x16806c9a
add al, r9b
jmp r11
mov r8, qword [rsp + rdx*2 + 8]
lea rbp, [rax*4 + 0x45b03a0c]
movsxd rcx, ecx
cdqe
add r11, rcx
lea rbp, [rdx + rbx + 2]
movzx ecx, al
div r10d
mov qword [rbx + rax*8 - 0xe], rbp
neg di
and r9w, di
pop rdx
lea rbx, [rbx + rax - 7]
mov qword [rsp + rax - 1], 0xffffffffbf046309
pop rax
jae fcn.18051ffce
xor ebx, r10d
rol ebx, 1
movsx edi, cx
lea rax, [rcx + rcx*8 + 0x3f388193]
lea rdx, [rax - 0x6c62d346]
xor ebx, 0xc13cf482
call fcn.18057ed31
mov edi, 0xcf1c1a26
lea rbp, [rdi + 0x138ee0ae]
movzx r9d, word [r8 + riz]
mov eax, 0xd688788a
mov edx, ebp
cbw
add r8, 2
xor r9w, r10w
mov ecx, ebp
not r9w
neg r9w
movzx ebx, cx
or edi, ebx
jne 0x18059e2f2
mov r10d, 0xedbc1f13
lea rcx, [r10*4 - 0x676cab71]
movsx edi, r10w
movzx ax, byte [rbx + rdi - 0x1f13]
movzx edx, di
mov r9b, byte [rbx + rdi*2 - 0x3e24]
not al
movsx ebp, r10w
bts rdi, 0xb4
not r9b
add edx, 0xea977e37
jnp 0x18051cd0d
sbb edx, 0xb33eb7b7
ror edx, 2
inc edx
xor edx, 0x57178da6
btr r9w, di
lea rax, [rcx + rcx + 0x7b2ab3a5]
push r8
xor dword [rsp + rcx - 0x31977f35], edx
or rax, r9
pop r8
lea rbp, [rdi*4 + 0x55ab088e]
sar cl, 0x26
neg bp
movsxd rdx, edx
mov r10d, eax
add r11, rdx
mov ecx, dword [rbx + rcx*2 - 0x632efdfc]
imul rbp
lea rbx, [rbx + rdx + 0x18]
rol r10d, 0x6e
btc rax, 0x9c
cdqe
movzx eax, byte [rdx + rsi + 0x14]
call fcn.180554b38
xor rdx, r11
jmp rdx
shr cl, 0x24
lea r9, [rdi + rdi*8 + 0x20b86aa6]
xor r10b, 0x81
cqo
div r9d
push rax
add r10b, 0x81
xor byte [rsp + rax - 3], dh
jge 0x1805ca962
sbb r9b, 0x96
shr ebp, cl
xor eax, ecx
imul eax
not r9b
cbw
adc r9b, al
push rcx
cdqe
rol r9b, 1
sub r9b, 4
mov r10d, 0x4a314121
xor r9b, 0x18
not r9b
cbw
div r10
ror byte [rsp + rbp*2 - 0x518], 0xa3
xor r8b, r9b
neg qword [rsp + rbp - 0x28f]
lea r9, [rsp + r9 + 8]
dec word [rsp + rbp - 0x28f]
cdqe
xor bpl, bpl
mov qword [r9 + rbp*2 - 0x400], rdi
adc bp, word [rsp + rax - 0x2efc74da]
mov eax, dword [rax + rsi - 0x2efc74db]
sbb r10, 0xffffffffe085a12f
xchg byte [rsp + rbp*2 - 0x3f9], r10b
lea rdi, [r10 + rbp*4 - 0x49fca074]
lea rsi, [rsi + rbp*2 - 0x3fb]
xor eax, r8d
neg eax
xchg di, dx
pop r10
bswap eax
lea r9, [rdx + r10*4 + 0x373883b5]
sar r9b, 0x82
neg eax
lea eax, [rdi + rax + 0x770c20fd]
push r8
jmp 0x18059f10a
movsx edi, r10b
lea rsi, [rsi + r10*8 - 0x7c]
lea rax, [rcx + rcx*8 + 0x248ded11]
inc ax
xor edx, r8d
btr cx, cx
sal ecx, cl
lea edx, [rdx + r10*2 - 0x218f4bc0]
push rax
jne 0x1805a25a7
mov rax, qword [rbx]
mov r9d, 0x75277e90
movzx ecx, r9w
lea rdi, [r9 + r9*8 - 0x4152f6da]
mov ebp, dword ss:[rcx + rax - 0x7e90]
mov dword [rbx + r9 - 0x75277e8c], ebp
mov edx, dword [r9 + rsi - 0x75277e90]
xor r9, 0x44b001a5
xor edx, r8d
push r9
not r9w
neg rdi
rol edx, 1
inc rdi
lea rcx, [r9 + r9*4 + 0x2d88d0bb]
xor edx, 0x8b9ab409
pop rcx
and r9d, r9d
ja 0x18058ba31
movsxd rax, eax
sar rcx, 0x81
sar ecx, 0xc
btc edx, r9d
add r11, rax
xadd cl, ch
dec cl
imul r9, r9
mov rdx, qword [rbx + rcx - 0xff]
mov rax, qword [rbx + rcx*8 - 0x7f0]
jb 0x180567021
sal di, cl
ror dx, 0xee
adc r9, rsp
mov edi, dword [r9 + rdx*4]
mov r9d, ebp
lea rbx, [rdx + rbx - 4]
cdqe
mov dword [rbx + rax - 0x24f07440], edi
call fcn.180561aa8
mov edx, 0xb63f2993
mov r10d, edx
mov r9d, r10d
mov rbp, qword [rbx + riz]
ror edx, 0x7a
or r9b, r10b
mov dx, word [rbx + riz + 8]
adc rbx, 0xa
btc r10w, r10w
mov word [rbp + riz], dx
movsx edx, r9w
mov edi, 0x5d847413
movzx eax, r9b
mov r10d, dword [rsi + rdx*4 - 0xa64c]
rol r9d, 0xf7
lea rsi, [rdx + rsi - 0x298f]
idiv r9b
bswap edx
xor r10d, r8d
sal edx, 0xd9
lea rcx, [r9 + rdx*4 + 0x4aa4f2f]
rol r10d, 1
bswap edx
bswap r10d
and cx, dx
btr rdx, r9
ror r10d, 2
btr rdx, 0x39
dec r10d
rol rcx, 0x47
cdq
xor r10d, 0xf68917b0
push rdi
pop rax
xor r9d, 0x14124f9e
rol r10d, 3
btc ecx, edi
push r8
movzx r8d, r9w
movsx ebp, r9b
shl rdx, 0xd4
xor dword [rsp + rdx], r10d
neg rdx
shr ecx, 0x93
mul r8
pop r8
movsxd r10, r10d
setae r9b
adc r11, r10
shr di, 2
sar ecx, cl
xor rdx, r11
jmp rdx
jbe 0x180555309
mov r9d, 0x4a3d0c2d
push r9
movzx edx, byte [rsi + r9 - 0x4a3d0c2d]
xor dl, r8b
lea rax, [r9 + r9 - 0x8cd73f0]
movsx ebp, word [rsp + r9 - 0x4a3d0c2a]
inc dl
push rbp
bts r9w, 0x38
or ebp, dword [rsp + r9 - 0x4a3d0d24]
neg dl
dec qword [rsp + r9 - 0x4a3d0d25]
movzx edi, al
sub ax, word [rsp + r9 - 0x4a3d0d1f]
adc dl, 0x90
neg dil
neg dl
imul rdi, rdi
movzx ecx, bpl
adc di, ax
xor r8b, dl
lea rdx, [rsp + rdx + 0x10]
lea rbp, [rbp + rax*8 - 0x2eef0e6f]
xadd word [rsp + rdi*2 - 0x1f899], di
ror rbp, cl
mov rbp, qword [r9 + rdx - 0x4a3d0d2d]
movsx r10d, cx
mov qword [r9 + rbx - 0x4a3d0d35], rbp
inc byte [rsp + r9 - 0x4a3d0d2b]
movsx edx, cx
mov r10d, dword [r9 + rsi - 0x4a3d0d2c]
sal qword [rsp + r9 - 0x4a3d0d25], cl
lea rsi, [rsi + r9 - 0x4a3d0d28]
movsx ebp, byte [rsp + r9 - 0x4a3d0d25]
xor r10d, r8d
add bp, 0x4522
dec r10d
call fcn.180592621
mov ecx, 0x56a277a0
mov r9d, 0xc788b7bc
movzx r15d, cx
mov rsp, rsi
lea rsi, [r9 + r15*2 - 0x69714265]
not r15d
jmp 0x180538d96
inc r9w
bt rax, 0x28
ror bp, 0x45
not r9w
sbb r9w, 0x90d
neg edx
cbw
xor r10w, r9w
xadd bp, bx
add r9, rsp
push rdi
shl ecx, 0x2f
mov edi, dword [rdx + r9 - 0x1d55052c]
lea rsi, [rsi + rcx - 0x7d6a0004]
shl dword [rsp + rdx*2 - 0x3aaa0a58], 0x18
mov dword [rsi + rdx*2 - 0x3aaa0a58], edi
jp 0x18051b6e2
lea rcx, [r9*4 - 0xfec22ef]
lea r8, [rdx + rcx*2 + 0x15b0189b]
xor dword [rsp + rbp - 0x200], eax
pop r8
movsxd rax, eax
add r11, rax
mov r10, qword [rbp + rbx - 0x1f8]
neg edi
add r9d, ecx
mov edx, dword [rbx + rbp*4 - 0x7f0]
mov eax, 0xb4aa832e
lea rbx, [rbx + rbp*2 - 0x3ec]
lea rax, [rbp*4 + 0x4609d989]
mov dword [r10 + rbp*2 - 0x400], edx
jmp r11
bt rdi, 0x1d
lea r8, [r8 + rbp - 0x53e3]
sal ebp, 0xb7
shl di, 0xea
dec bl
xor r9d, r10d
movzx ecx, di
rol dx, 0x28
jae 0x18056473f
and esi, 0xff
shr byte [rsp + 2], 0x61
push 0xffffffffa025f588
mov esi, dword [rdi + rsi*4]
push 0x189bbd27
dec dword [rsp + 6]
shr r9d, 8
xor r9d, esi
inc rcx
jmp 0x1805658c7
xchg qword [rsp + r10 - 0x10], rdi
rol edx, 1
rol r10, 7
lea edx, [rdx + rdi*4 + 0x6084140d]
mov r9d, 0x3cb4ac06
xchg word [rsp + r10*2 - 0xffa], r9w
neg edx
lea rbp, [r9 + rax*4 - 0x6a74ec41]
shr byte [rsp + r10*2 - 0xffc], 0xa1
dec qword [rsp + rcx - 0x100000]
lea edx, [rdx + rdi*4 + 0x58031daa]
mov qword [rsp + r10*2 - 0x1000], r8
xor dword [rsp + rcx*8 - 0x800000], edx
lea r8, [r10 + rdi + 0xa852603]
pop r8
add di, ax
rol edi, 0x78
shr ebp, 0x78
movsxd rdx, edx
adc r11, rdx
call fcn.1805b8402
xor bp, r8w
movzx r9d, r10b
push rdi
ror bp, 1
lea rdx, [r9 + 0x3520403f]
and dil, 0x9c
mov ecx, r9d
xor bp, 0x6620
add bp, 0x2428
xchg byte [rsp + r9*4 - 0x54], dil
xor bp, 0x105
not dx
imul cx, r10w
neg r10
xor r8w, bp
rol byte [rsp + r10 + 0x5f000e1d], 0xe6
cmovb dx, r10w
mov word [rbx + r9*2 - 0x2e], bp
sbb ecx, dword [rsp + r9 - 0x14]
mov r9w, word [r10 + rsi + 0x5f000e18]
movsx eax, cx
movzx ebp, byte [rsp + rdx - 0x3520f1e6]
sub bp, bp
xor r9w, r8w
xor byte [rsp + rdx - 0x3520f1e4], 0x98
add qword [rsp + rdx*2 - 0x6a41e3d4], 0x21390e89
shr ecx, cl
dec r9w
xor r9w, 0x3c88
mul dl
neg r9w
push rdi
cwde
dec word [rsp + r10 + 0x5f000e1a]
not r9w
jne 0x18056d5c1
mov r9d, 0x8bb1408a
movsx r10d, r9b
mov r10d, dword [rsi + riz]
movzx eax, r9w
mov edx, r9d
lea rsi, [rsi + rax - 0x4086]
cbw
mov ecx, eax
sal cx, cl
xor r10d, r8d
add r9d, edx
movzx ebp, cl
call fcn.1805ba7c4
shld dx, bx, cl
pop rbx
call fcn.18056abc6
mov r9d, 0xcc8c8193
mov ax, word [rbx + riz]
mov edi, r9d
mov dx, word [rbx + riz + 2]
lea r10, [r9*4 - 0x29eb8d4b]
movsx ebp, r9b
add rbx, 2
push rdi
xchg byte [rsp + 6], r10b
and ax, dx
call fcn.1805335a0
dec r9d
mov qword [r9 + rbp - 0x13896571], rdi
call fcn.180599f4d
movzx esi, byte [rcx]
push 0x4483ba93
sal word [rsp + 4], 0xcb
xor esi, r9d
jmp 0x1805c7060
imul r10w
btr rax, r10
bswap edi
ror edi, 1
cwd
dec rcx
neg qword [rsp + rcx + 3]
xor edi, 0xed1ce135
jmp 0x18053435b
dec qword [rsp]
jge 0x1805a112c
mov r9d, edi
mov ebp, dword [rcx + rsi - 0x6b800000]
sub dword [rsp + rcx - 0x6b7ffffc], ecx
sal dx, 0x23
not r9d
dec qword [rsp + rcx - 0x6b800000]
movzx edi, bx
bt ebx, 0x96
not ebp
xor rbx, qword [rsp + rbx]
bts edx, edx
shr qword [rsp + rcx - 0x6b800000], 0xb3
or r9d, ebp
lea rbp, [rbx*2 - 0x5b7ed6ec]
mov dword [rsi + rcx - 0x6b800000], r9d
lea r9, [rbx + rcx*4 + 0x4780870b]
mov ebp, dword [rdi + r8 + 1]
mov word [rsp + rcx - 0x6b7ffffe], 0xa81e
mov eax, 0x932e54ac
lea r8, [rdi + r8 + 5]
and byte [rsp + rdi*8 + 7], ah
xor ebp, r10d
add ax, bx
neg eax
rol ebp, 1
xor ebp, 0xc13cf482
xchg dword [rsp + rcx - 0x6b7ffffc], r9d
bswap r9
sub rdi, rdi
lea ebp, [rbp + rcx + 0x6b22d486]
bswap ebp
ror rdx, 0x89
ror ebp, 1
mov qword [rsp + rcx - 0x6b800000], r10
not cl
xor dword [rsp + rcx - 0x6b8000ff], ebp
call fcn.18056634e
mov r9d, 0x7f30d7b3
mov eax, dword [r8 + r9 - 0x7f30d7b3]
movsx edi, r9b
lea r8, [r8 + r9 - 0x7f30d7af]
call fcn.18056a73d
neg r10b
movsx ebp, word [rsp + rax - 2]
xor r9d, r9d
xor r10b, 0x16
inc r10b
cwde
dec dx
xor dl, 0x14
xor r8b, r10b
lea r10, [rsp + r10 + 8]
lea rax, [rcx - 0x4d5d91c6]
sar r9, cl
pop rdx
or bpl, byte [rdx + r10 - 0x404]
imul rdx
movzx r10d, r9b
mov word [rdx + rbx - 2], bp
lea rbp, [rcx + r9*4 + 0xe2ed922]
not r9d
xadd ecx, edi
mov edi, dword [rsi + rdx + 1]
xor edi, r8d
or r9b, 0x92
xor edi, 0x2b073e05
push r9
bswap edi
cwde
and word [rsp + rax*2 - 0x79e7], r9w
sbb edi, 0xad95292f
mul byte [rsp + rax*4 - 0xf3cb]
bswap edi
setae cl
adc edi, r9d
ror word [rsp + rax*2 + 2], 0x8d
adc r9, 0xffffffff9a38bb30
mul ax
mov qword [rsp + rax], r8
xor dword [rsp + rax], edi
xchg rcx, rdx
lea r8, [rax + rcx*2 - 0x2d46b3d2]
pop r8
xor bpl, 0xb2
movsxd rdi, edi
lea rax, [rbp + r10 - 0x12de85e5]
sal r10d, 0xc8
adc r11, rdi
mov rdi, qword [rsi + rcx*2 + 5]
ror edx, 0xcb
lea rsi, [rsi + rdx - 0x403ae4ef]
mul r10w
bt r9d, 0x31
ror r9w, 4
xor rdi, r8
xadd rcx, rdx
or r9d, r10d
bts ecx, r10d
neg rdi
sar dx, 0xc1
inc rdi
lea rbp, [rbp + r10*4 + 0x161601b4]
rol rdi, 6
lea rdi, [rdi + rdx + 0x147816e9]
add bp, 0x5ea1
sar cl, cl
not rdi
bswap rdi
imul rbp
ror rdi, 3
sar rbp, 0x9d
cdqe
xor r8, rdi
inc ax
xor bp, r10w
setbe cl
mov qword [rbx + rax*2 - 0x168000c], rdi
cqo
lea rdx, [rdx*4 - 0x4a5a39d0]
ror cx, 0xa5
lea rbx, [rbx + rax*2 - 0x168000c]
jns fcn.18051ffce
ror ecx, 1
bswap ecx
xchg rdx, rdi
rol al, 0xc1
xor bpl, bpl
rol ecx, 1
push r8
movzx r8d, bpl
sar dil, 2
xor dword [rsp + rbp*4], ecx
dec dx
pop r8
rol dx, 0x8b
movsxd rcx, ecx
ror eax, 0xf
sub rdi, 0x22948aa9
dec r9w
adc r11, rcx
push r10
sub r9b, r9b
pop rax
jge fcn.18051ffce