Function at 0x18002ba00
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov qword [rsp + 0x10], rcx
mov ecx, dword [0x18008a274]
lea ebx, [rcx - 1]
imul ebx, ecx
mov edi, ebx
not edi
mov edx, edi
and edx, ebx
mov ebp, edx
not ebp
mov eax, ebx
and eax, 0xdaea1d1b
mov ecx, edi
and ecx, 0x2515e2e4
or ecx, eax
mov eax, ebx
or eax, ebp
and ebp, 0xdaea1d1b
and edx, 0x2515e2e4
or edx, ebp
xor edx, ecx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0xe6d3454b
and eax, 0x192cbab4
or eax, ecx
mov ecx, eax
xor ecx, 0x90428a0
xor eax, 0x44010401
and eax, 0x54299615
and ecx, 0xabd669ea
or ecx, eax
mov edx, ecx
xor edx, 0x4291410
xor ecx, 0x2bc64848
and ecx, 0x7bc6ca4d
and edx, 0x843935b2
or edx, ecx
mov ebp, edx
xor ebp, 0x843935b2
mov eax, edx
xor eax, 0xb424808
and edi, 0x9ec5224b
and ebx, 0x613addb4
or ebx, edi
mov ecx, ebx
xor ecx, 0x613addb4
xor ebx, 0x9ec5224b
or ebx, ecx
mov edi, ebx
not edi
and eax, 0xb6a6c8a
xor edx, 0xd698d81a
and edx, ebp
mov ecx, ebp
and ecx, 0xf4959375
or ecx, eax
mov r8d, ecx
xor r8d, 0xf4959375
mov esi, ebx
and esi, 0x6959f7c6
xor ebx, 0xad5e1257
and ebx, edi
mov eax, edi
and eax, 0x96a60839
or eax, esi
mov edi, eax
xor edi, 0x96a60839
mov esi, ecx
xor esi, 0x59cb8122
and esi, r8d
xor eax, 0x6959f7c6
mov ebp, edi
and ebp, 0x52a1eda8
mov r9d, esi
and r9d, edx
xor edx, esi
or edx, r9d
mov esi, ebp
and esi, ebx
xor ebx, ebp
or ebx, esi
mov ebp, edx
not ebp
and ebp, ebx
not ebx
and ebx, edx
or ebx, ebp
xor ecx, 0xb6a6c8a
mov edx, ecx
and edx, 0x703c05a8
and r8d, 0x8fc3fa57
or r8d, edx
or ecx, eax
and eax, 0x703c05a8
and edi, 0x8fc3fa57
or edi, eax
xor edi, r8d
not ecx
or ecx, edi
not ecx
mov eax, ebx
and eax, ecx
xor ecx, ebx
or ecx, eax
mov edi, ecx
not edi
mov edx, ecx
and edx, 0x35ea2633
mov eax, edi
and eax, 0xca15d9cc
or eax, edx
xor eax, 0x35ea2632
mov r11d, edi
and r11d, 1
or r11d, eax
mov r14d, r11d
not r14d
and edi, 0x7a0c100
mov eax, ecx
and eax, 0x809208e
or eax, edi
xor eax, 0x809208e
and ecx, 0xf0561e71
or ecx, eax
mov eax, ecx
not eax
and eax, 0x8db3c7b1
and ecx, 0x724c384e
or ecx, eax
mov r8d, ecx
xor r8d, 0x7de5d9c1
mov eax, r11d
and eax, 0x112c95bf
and r14d, 0xeed36a40
or r14d, eax
mov r9d, r14d
xor r9d, 0xeed36a40
mov r10d, ecx
xor r10d, 0x821a263e
mov ebx, r14d
xor ebx, 0x5a11efc1
and ebx, r9d
or r11d, 0x4b3d7a7e
mov edx, r11d
not edx
xor ecx, 0x36d8a3bf
mov eax, ecx
and eax, r10d
and ecx, r8d
mov esi, ebx
not esi
mov edi, esi
and edi, 0xe05d489e
and ebx, 0x1fa2b761
or ebx, edi
or esi, r11d
and r11d, 0xe05d489e
and edx, 0x14828501
or edx, r11d
xor edx, ebx
not esi
or esi, edx
mov edi, eax
not edi
mov edx, ecx
not edx
mov ebx, edi
and ebx, 0x20c7e49a
and eax, 0xdf381b65
or eax, ebx
or edi, edx
and edx, 0x20c7e49a
and ecx, 0xdf381b65
or ecx, edx
xor ecx, eax
not edi
or edi, ecx
mov eax, esi
not eax
and eax, edi
not edi
and edi, esi
or edi, eax
xor r14d, 0x112c95bf
mov eax, r14d
and eax, 0x2267b01d
and r9d, 0xdd984fe2
or r9d, eax
or r14d, r8d
and r8d, 0x2267b01d
and r10d, 0xdd984fe2
or r10d, r8d
xor r10d, r9d
not r14d
or r14d, r10d
not r14d
mov eax, edi
and eax, r14d
xor r14d, edi
or r14d, eax
mov ebx, r14d
not ebx
mov edx, r14d
mov eax, r14d
xor eax, 0x357bfc5c
and eax, r14d
mov ecx, ebx
and ecx, 0x4ca52eb
and r14d, 0xfb35ad14
or r14d, ecx
not r14d
or r14d, ebx
and ebx, 0x68dc4c
and edx, 0x35132010
or edx, ebx
xor edx, 0x35132010
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0xca8403a3
and eax, 0x357bfc5c
or eax, ecx
mov edi, eax
not edi
and eax, 0x802e8
and edi, 0x4c25003
or edi, eax
mov ecx, edi
xor ecx, 0x4c25003
mov eax, edi
xor eax, 0x713509c4
mov r8d, r14d
not r8d
and eax, 0x757509c7
xor edi, 0x40002e8
and edi, ecx
and ecx, 0x8a5228
or ecx, eax
mov r9d, ecx
xor r9d, 0x8a8af638
mov esi, ecx
xor esi, 0xa5825e3c
and esi, r9d
mov ebx, r8d
or ebx, 0x2f08a804
mov eax, ebx
not eax
mov edx, r14d
or edx, 0xd0f757fb
mov ebp, edx
not ebp
mov r10d, esi
and r10d, edi
xor edi, esi
or edi, r10d
and ebx, 0xf97a1e86
and eax, 0x854179
or eax, ebx
and edx, 0xf97a1e86
and ebp, 0x600a000
or ebp, edx
xor ebp, eax
mov eax, edi
not eax
and eax, 0xa727cf34
and edi, 0x50d810cb
or edi, eax
mov eax, ebp
not eax
and eax, 0xa727cf34
and ebp, 0x58d830cb
or ebp, eax
xor ebp, edi
xor ecx, 0x757509c7
mov eax, ecx
and eax, 0x4020221
and r9d, 0x50cd54de
or r9d, eax
or ecx, r8d
and r8d, 0xaf32ab21
and r14d, 0x50cd54de
or r14d, r8d
xor r14d, r9d
not ecx
or ecx, r14d
mov eax, ecx
not eax
mov edx, ebp
not edx
mov ebx, edx
and ebx, 0xea819ca2
and ebp, 0x157e635d
or ebp, ebx
or edx, ecx
and ecx, 0xea819ca2
and eax, 0x157e635d
or eax, ecx
xor eax, ebp
not edx
or edx, eax
mov eax, edx
xor eax, 0xfb35ad14
and eax, edx
or edx, 0x4ca52eb
mov ecx, edx
not ecx
mov ebp, eax
not ebp
mov ebx, edx
and ebx, 0x24b9d3ff
and ecx, 0xdb042c00
or ecx, ebx
or edx, ebp
and ebp, 0x24b9d3ff
and eax, 0xdb462c00
or eax, ebp
xor eax, ecx
not edx
or edx, eax
mov eax, edx
xor eax, 0x451a4950
and eax, edx
not edx
and edx, 0x451a4950
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0xbae5b6af
and eax, 0x451a4950
or eax, ecx
mov edx, eax
not edx
and edx, 0xbed79fb1
mov ecx, eax
and ecx, 0x4128604e
or ecx, edx
mov edx, ecx
xor edx, 0x4128604e
xor ecx, 0xbed79fb1
or ecx, edx
and edx, 0x6dacd874
and eax, 0x9253278b
or eax, edx
mov edx, eax
not edx
and edx, 0xbd811d53
and eax, 0x427ee2ac
or eax, edx
mov edx, eax
xor edx, 0xc0204104
mov ebp, ecx
not ebp
and ebp, 0xd5cfd7be
and ecx, 0x2a302841
or ecx, ebp
mov ebp, ecx
xor ebp, 0x300800
xor ecx, 0xd5cfd7be
xor eax, 0x2fd23ad8
mov ebx, eax
and ebx, 0x3fcfa6eb
and edx, 0xc0305914
or edx, ebx
or eax, ecx
and ecx, 0x3fcfa6eb
and ebp, 0xc0305914
or ebp, ecx
xor ebp, edx
not eax
or eax, ebp
mov ecx, eax
mov edx, eax
xor edx, 0x7cc24ff0
and edx, eax
not eax
and eax, 0x3c420de0
and ecx, 0x40804210
or ecx, eax
xor ecx, 0x40804210
mov eax, ecx
and eax, edx
xor edx, ecx
or edx, eax
mov eax, edx
not eax
and eax, 0x833db00f
and edx, 0x7cc24ff0
or edx, eax
mov eax, edx
not eax
mov ecx, eax
and ecx, 0x47311f8
and edx, 0xfb8cee07
or edx, ecx
xor edx, 0x47311f8
xor eax, edx
test eax, edx
setne r9b
sete bl
cmp dword [0x18008a278], 0xa
setl al
mov r12d, eax
and r12b, bl
xor bl, al
or r12b, bl
xor r12b, 1
mov edx, ebx
and dl, r12b
xor r12b, bl
or r12b, dl
mov r8d, r12d
xor r8b, 1
mov edx, eax
xor dl, r9b
not dl
and dl, r9b
or al, r9b
xor al, 1
mov ebx, edx
and bl, al
xor al, dl
or al, bl
mov r11d, eax
xor r11b, 1
mov r9d, r8d
or r9b, r12b
mov r10d, r9d
xor r10b, 1
mov r15d, r9d
and r15b, r10b
mov edx, r9d
and dl, r15b
xor r15b, r9b
or r15b, dl
mov ebp, eax
and bpl, r11b
mov edi, eax
and dil, bpl
mov esi, eax
xor sil, bpl
mov r14d, ebp
and r14b, r11b
xor bpl, r11b
or r11b, al
xor r15b, r8b
xor r9b, r8b
or r10b, r12b
xor r10b, 1
or r10b, r9b
mov edx, r10d
xor dl, r15b
xor r15b, 1
or r15b, r10b
mov ebx, r11d
xor bl, 1
xor dl, 1
xor r15b, 1
or r15b, dl
mov edx, r11d
and dl, bl
or sil, dil
mov ecx, r11d
xor cl, dl
xor dl, 1
or dl, bl
xor dl, 1
or dl, cl
mov ecx, esi
xor cl, 1
and cl, dl
xor dl, 1
and dl, sil
or dl, cl
mov ecx, eax
and cl, r11b
xor r11b, al
or r11b, cl
mov ecx, r11d
xor cl, dl
xor dl, 1
xor cl, 1
or dl, r11b
xor dl, 1
or dl, cl
mov ecx, r15d
xor cl, 1
mov ebx, edx
xor bl, 1
and bl, dl
mov r9d, ebx
and r9b, dl
xor bl, dl
or bl, r9b
and cl, bl
xor bl, 1
and bl, r15b
or bl, cl
and r12b, r8b
xor r12b, 1
mov ecx, r12d
xor cl, r8b
or r12b, r8b
xor r12b, 1
or r12b, cl
or bpl, r14b
mov ecx, r12d
xor cl, 1
and cl, bpl
xor bpl, 1
and bpl, r12b
or bpl, cl
mov ecx, r8d
and cl, al
xor al, r8b
or al, cl
xor al, 1
mov ecx, ebp
and cl, al
xor al, bpl
or al, cl
mov edx, eax
xor dl, 1
and dl, al
xor dl, 1
mov ecx, eax
xor cl, dl
or dl, al
xor dl, 1
or dl, cl
mov r8d, ebx
xor r8b, 1
mov eax, edx
xor al, 1
and bl, r8b
mov ecx, eax
and cl, dl
mov r9d, r8d
and r9b, bl
xor bl, r8b
or bl, r9b
xor cl, 1
mov r9d, edx
xor r9b, cl
or cl, dl
xor cl, 1
or cl, r9b
mov edx, ebx
xor dl, 1
and dl, cl
xor cl, 1
and cl, bl
or cl, dl
mov edx, r8d
and dl, al
xor al, r8b
or al, dl
xor al, 1
mov edx, ecx
and dl, al
test dl, 1
jne 0x18002c172
xor cl, al
test cl, 1
jne 0x18002c172
nop word cs:[rax + rax]
nop
jmp 0x18002c170
mov rax, qword gs:[0x60]
mov r15, qword [rax + 0x18]
add r15, 0x10
mov ecx, dword [0x18008a25c]
mov r8d, dword [0x18008a260]
lea esi, [rcx - 1]
imul esi, ecx
mov ebp, esi
not ebp
mov edx, esi
xor edx, 0x54c80cf7
and edx, esi
mov ecx, ebp
and ecx, 0x975c044b
and esi, 0x68a3fbb4
or esi, ecx
xor esi, 0x975c044b
or esi, ebp
and ebp, 0x54c80cf7
mov ecx, ebp
and ecx, edx
xor edx, ebp
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0xab37f308
and edx, 0x54c80cf7
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x4ca2a534
and edx, 0xb35d5acb
or edx, ecx
mov ebp, edx
xor ebp, 0x835c18c1
xor edx, 0x44a08504
and edx, 0x74a1c70e
and ebp, 0x8b5e38f1
or ebp, edx
mov edi, ebp
xor edi, 0x83022860
xor ebp, 0x74a1c70e
mov ecx, esi
not ecx
mov edx, ebp
and edx, 0x2c5dd097
and edi, 0xd3a22f68
or edi, edx
mov r9d, edi
xor r9d, 0xd3a22f68
mov edx, esi
and edx, 0xb96ac05e
and ecx, 0x46953fa1
or ecx, edx
mov eax, ecx
xor eax, 0x46953fa1
xor edi, 0x20488005
or edi, 0x1c975fb2
mov edx, edi
not edx
or ebp, 0xe368a04d
and edi, 0x2f03e805
and edx, 0xc0680048
or edx, edi
mov edi, ebp
not edi
xor ecx, 0xa168804c
or ecx, 0x1c975fb2
and ebp, 0x2f03e805
and edi, 0x109417b2
or edi, ebp
mov ebx, ecx
not ebx
or esi, 0xe368a04d
xor edi, edx
mov ebp, esi
not ebp
and ecx, 0x7e6bfeb1
and ebx, 0x8100004c
or ebx, ecx
and esi, 0x7e6bfeb1
and ebp, 0x940102
or ebp, esi
xor ebp, ebx
mov ecx, edi
not ecx
and ecx, ebp
not ebp
and ebp, edi
or ebp, ecx
mov ecx, r9d
and ecx, eax
xor eax, r9d
or eax, ecx
not eax
mov ecx, ebp
and ecx, eax
xor eax, ebp
or eax, ecx
mov ecx, eax
not ecx
mov ebp, ecx
and ebp, 0x39d02b13
mov edx, eax
and edx, 0xc62fd4ec
or edx, ebp
xor edx, 0x39d02b12
mov ebp, edx
xor ebp, ecx
and ebp, edx
and ecx, 0xf1465f3
mov edx, eax
and edx, 0xf0eb9a0c
or edx, ecx
mov ecx, edx
xor ecx, 0xd0a39808
xor edx, 0xd0060d2
or eax, 0x2d4862d6
and edx, 0x2d4862d6
and ecx, 0xd2b79d28
or ecx, edx
and eax, 0x2d4862d7
xor eax, ecx
mov edx, ebp
not edx
mov ecx, eax
not ecx
and eax, edx
or edx, ecx
not edx
and ecx, ebp
or ecx, eax
mov eax, edx
and eax, ecx
xor ecx, edx
or ecx, eax
mov ebp, ecx
not ebp
mov eax, ecx
mov edx, ebp
and edx, 0x2ccdb81a
and ecx, 0xd33247e5
or ecx, edx
not ecx
or ecx, ebp
and ebp, 0x70bd3a2a
and eax, 0x8f42c5d5
or eax, ebp
mov ebp, eax
xor ebp, 0x8b024151
xor eax, 0x70bd3a2a
and ebp, 0xdbb67353
mov edx, eax
and edx, 0x24498cac
or edx, ebp
xor edx, 0x88434b6
and eax, 0xd33247e5
or eax, edx
mov edx, ecx
not edx
and edx, eax
not eax
mov ebp, eax
xor ebp, ecx
and ebp, eax
and ecx, eax
or ecx, edx
mov edx, ebp
not edx
mov eax, ecx
not eax
mov ebx, edx
and ebx, 0x850648c6
and ebp, 0x7af9b739
or ebp, ebx
or edx, eax
and eax, 0x850648c6
and ecx, 0x7af9b739
or ecx, eax
xor ecx, ebp
not edx
or edx, ecx
mov eax, edx
not eax
mov ecx, eax
and ecx, 0x926ad496
and edx, 0x6d952b69
or edx, ecx
mov ebp, edx
xor ebp, 0x40000141
xor edx, 0x92204004
or eax, 0xd33247e5
mov ecx, eax
not ecx
or edx, 0x28811802
and edx, 0xbbb15a26
and ebp, 0x400205c1
or ebp, edx
and eax, 0xbbb15a26
and ecx, 0x44ca018
or ecx, eax
xor ecx, ebp
mov eax, ecx
not eax
and eax, 0x419d043
mov edx, ecx
and edx, 0xa0042208
or edx, eax
xor edx, 0xa0042208
and ecx, 0x5be20db4
or ecx, edx
mov eax, ecx
not eax
and eax, 0x5be20db4
and ecx, 0xa41df24b
or ecx, eax
mov eax, ecx
not eax
and eax, 0xd613fa67
and ecx, 0x29ec0598
or ecx, eax
mov eax, ecx
xor eax, 0xc201a205
xor ecx, 0x8440518
and ecx, 0x1c565d7a
and eax, 0xe3a9a285
or eax, ecx
mov ecx, eax
xor ecx, 0x4524168
xor eax, 0x1a8a285
and eax, 0x19acbe97
and ecx, 0xe6534168
or ecx, eax
xor ecx, 0xe6534168
setne r9b
sete r10b
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg r8b
mov eax, r10d
xor al, r8b
mov ebx, eax
and bl, r8b
and cl, r9b
mov edx, r8d
and dl, r10b
or dl, cl
mov ecx, ebx
xor cl, 1
xor bl, dl
xor dl, 1
or dl, cl
xor dl, 1
or dl, bl
mov ebx, edx
xor bl, 1
mov ecx, ebx
and cl, dl
xor bl, cl
xor cl, 1
or cl, dl
xor cl, 1
or cl, bl
or r10b, r8b
xor r10b, 1
not al
and al, r8b
mov edx, r10d
and dl, al
xor al, r10b
or al, dl
mov edx, ecx
xor dl, 1
mov r8d, eax
xor r8b, 1
mov ebx, edx
xor bl, cl
and bl, dl
mov edx, ebx
xor dl, 1
or dl, bl
xor dl, 1
mov r9d, ebx
and r9b, dl
xor dl, bl
or dl, r9b
mov ebx, eax
and bl, dl
xor dl, 1
and dl, r8b
or dl, bl
mov ebx, ecx
or bl, al
xor al, cl
xor al, 1
mov ecx, ebx
xor cl, al
or al, bl
xor al, 1
or al, cl
mov ecx, eax
xor cl, 1
and al, cl
mov ebx, ecx
and bl, al
xor al, cl
or al, bl
mov r12d, eax
xor r12b, 1
mov ecx, edx
xor cl, 1
and al, cl
or cl, r12b
xor cl, 1
and r12b, dl
or r12b, al
mov r8d, ecx
and r8b, r12b
xor r12b, cl
mov eax, dword [0x18008a27c]
lea edi, [rax - 1]
imul edi, eax
mov ebx, edi
not ebx
mov edx, ebx
and edx, 0x8953093c
mov eax, edi
and eax, 0x76acf6c3
or eax, edx
mov edx, eax
xor edx, 0x300c1041
xor eax, 0x8850000c
mov ecx, edi
xor ecx, 0xb8fcb04f
and ecx, edi
or eax, 0x47034fb0
mov ebp, ecx
not ebp
mov esi, eax
and esi, 0xcf2a106
and edx, 0xb00c1049
or edx, esi
or eax, ebp
and ebp, 0xcf2a106
and ecx, 0xf30d5ef9
or ecx, ebp
xor ecx, edx
not eax
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x47034fb0
and eax, 0xb8fcb04f
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x76015329
and eax, 0x89feacd6
or eax, ecx
mov ecx, eax
xor ecx, 0x88fe8414
and ecx, 0xe8fec414
xor eax, 0x16011329
and eax, 0x17013beb
or eax, ecx
mov esi, eax
xor esi, 0xe8fec414
and esi, eax
and ebx, 0x56d465ed
and edi, 0xa92b9a12
or edi, ebx
mov ebx, edi
xor ebx, 0xa92b9a12
xor edi, 0x42140581
and edi, 0xcb3c8f91
mov eax, ebx
and eax, 0x34c3706e
or eax, edi
xor eax, 0xdc3db47a
and ebx, 0x17013beb
or ebx, eax
mov r10d, esi
not r10d
mov ecx, r10d
and ecx, 0x67326bd1
and esi, 0x98cd942e
or esi, ecx
mov r14d, esi
xor r14d, 0x98cd942e
mov ecx, ebx
xor ecx, 0x6d932c29
mov r11d, ecx
and r11d, ebx
mov r9d, r14d
and r9d, ebx
xor r14d, ebx
not ebx
xor esi, 0x22043d0
or esi, 0x6d932c29
and ecx, ebx
mov ebp, esi
not ebp
or r10d, 0x926cd3d6
and esi, 0x3090ebd1
and ebp, 0x826c1006
or ebp, esi
mov eax, r10d
not eax
and r10d, 0x3090ebd1
and eax, 0x4d030428
or eax, r10d
xor eax, ebp
mov edi, r11d
not edi
mov ebp, edi
and ebp, 0x6a9564d2
and r11d, 0x956a9b2d
or r11d, ebp
mov edx, ecx
not edx
or edi, edx
and edx, 0x6a9564d2
and ecx, 0x956a9b2d
or ecx, edx
xor ecx, r11d
not edi
or edi, ecx
mov ecx, eax
not ecx
and ecx, 0x63ec4522
and eax, 0x9c13badd
or eax, ecx
mov ecx, edi
not ecx
and ecx, 0x63ec4522
and edi, 0x9c13badd
or edi, ecx
xor edi, eax
or r14d, r9d
mov eax, r14d
not eax
mov ecx, edi
not ecx
mov edx, ecx
and edx, 0x1b37c79b
and edi, 0xe4c83864
or edi, edx
or ecx, r14d
and r14d, 0x1b37c79b
and eax, 0xe4c83864
or eax, r14d
xor eax, edi
not ecx
or ecx, eax
mov edx, ecx
mov eax, ecx
xor eax, 0xb3fdba4d
and eax, ecx
not ecx
and ecx, 0x81b801
and edx, 0xb37c024c
or edx, ecx
xor edx, 0xb37c024c
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x5b037e59
and eax, 0xa4fc81a6
or eax, ecx
mov ecx, eax
not ecx
mov ebp, ecx
and ebp, 0xcfe1acb4
mov edx, eax
and edx, 0x301e534b
or edx, ebp
xor edx, 0xcfe1acb5
mov esi, edx
xor esi, ecx
and esi, edx
mov edx, ecx
and edx, 0x5d7e49f6
and eax, 0xa281b609
or eax, edx
mov ebx, eax
xor ebx, 0x80800200
xor eax, 0x20080
or ecx, 0xde8ec3da
mov edi, ecx
not edi
or eax, 0x20003021
and eax, 0x2202b0a9
and ebx, 0xdc8c4352
or ebx, eax
and ecx, 0x2202b0a9
and edi, 0x1710c04
or edi, ecx
xor edi, ebx
mov eax, edi
not eax
and eax, 0x21713c24
and edi, 0xde8ec3db
or edi, eax
mov ebx, esi
not ebx
mov ebp, edi
not ebp
or esi, 0x55038aa3
mov edx, esi
not edx
xor edi, 0xaafc755c
and edi, ebp
mov eax, ebp
mov r9d, ebx
and r9d, ebp
xor ebp, ebx
or ebx, 0xaafc755c
and esi, 0x5a78fe3e
and edx, 0xa0840140
or edx, esi
mov ecx, ebx
not ecx
or eax, 0xaafc755c
and ebx, 0x5a78fe3e
and ecx, 0x5030081
or ecx, ebx
xor ecx, edx
mov edx, edi
not edx
mov ebx, edx
and ebx, 0xac9a0207
and edi, 0x5365fdf8
or edi, ebx
mov esi, eax
not esi
or edx, eax
and eax, 0xac9a0207
and esi, 0x510188a0
or esi, eax
xor esi, edi
or r12b, r8b
mov byte [rsp + 7], r12b
not edx
or edx, esi
mov eax, ecx
not eax
and eax, edx
not edx
and edx, ecx
or edx, eax
or ebp, r9d
mov ecx, ebp
not ecx
and ecx, 0x5e00b49c
and ebp, 0xa1ff4b63
or ebp, ecx
xor ebp, 0xa1ff4b63
mov ecx, edx
and ecx, ebp
xor ebp, edx
or ebp, ecx
mov ebx, ebp
not ebx
mov ecx, ebx
and ecx, 0x9082d862
mov eax, ebp
and eax, 0xc412008
or eax, ecx
mov ecx, eax
xor ecx, 0x8000008
xor eax, 0xa3964313
mov edx, ebx
or edx, 0x9cc3f86a
and eax, 0xa7d76313
and ecx, 0x18009868
or ecx, eax
mov eax, edx
not eax
and edx, 0xa7d76313
and eax, 0x40280484
or eax, edx
xor eax, ecx
mov ecx, eax
not ecx
and ecx, 0x633c0795
and eax, 0x9cc3f86a
or eax, ecx
mov ecx, eax
not ecx
and eax, 0xbf70fe6f
and ecx, 0x408f0190
or ecx, eax
mov eax, ecx
xor eax, 0x408f0190
and ebx, 0x5897cbe
and ebp, 0xfa768341
or ebp, ebx
mov edx, ebp
xor edx, 0xfa768341
xor ebp, 0x5897cbe
or ebp, edx
mov edx, ebp
not edx
and edx, 0x131e213e
and ebp, 0xece1dec1
or ebp, edx
mov edx, ebp
xor edx, 0xece1dec1
xor ebp, 0x131e213e
mov edi, eax
xor edi, ebp
and edi, eax
xor ecx, 0xbf70fe6f
and ecx, edx
and ebp, eax
or ebp, ecx
mov eax, edi
not eax
mov edx, ebp
not edx
mov ebx, eax
and ebx, 0xd1e3cd49
and edi, 0x2e1c32b6
or edi, ebx
or eax, edx
and edx, 0xd1e3cd49
and ebp, 0x2e1c32b6
or ebp, edx
xor ebp, edi
not eax
or eax, ebp
mov ebx, eax
not ebx
mov ecx, ebx
and ecx, 0x81af06
mov ebp, eax
and ebp, 0xd8300038
or ebp, ecx
xor ebp, 0xd8300038
mov edx, eax
xor edx, 0xd8b1af3e
and edx, eax
mov edi, ebp
and edi, edx
xor edx, ebp
mov esi, dword [0x18008a280]
or edx, edi
mov ebp, edx
not ebp
and ebp, 0x7fd5ecae
and edx, 0x802a1351
or edx, ebp
mov ebp, edx
xor ebp, 0xa7644390
xor edx, 0x401a9462
and ebx, 0xcd20b42c
and eax, 0x32df4bd3
or eax, ebx
mov ebx, ebp
and ebx, 0x18a56a0d
and edx, 0xe75a95f2
or edx, ebx
mov ecx, eax
xor ecx, 0x225a01d2
xor eax, 0xcd20b42c
or ebp, eax
and eax, 0x18a56a0d
and ecx, 0xe75a95f2
or ecx, eax
xor ecx, edx
not ebp
or ebp, ecx
mov eax, ebp
not eax
and eax, 0xb792be11
and ebp, 0x486d41ee
or ebp, eax
xor ebp, 0x486d41ee
sete r10b
setne r8b
cmp esi, 9
setg r9b
cmp esi, 0xa
setl dil
mov edx, edi
xor dl, r9b
mov eax, edx
xor al, 1
mov ebp, r8d
xor bpl, r10b
mov r11d, ebp
xor r11b, 1
and dl, dil
mov ebx, r9d
and bl, al
or bl, dl
xor bl, 1
or bl, dil
mov edx, edi
xor dl, al
not dl
and dl, al
xor al, r9b
and al, r9b
xor dl, 1
xor al, 1
mov ecx, edx
xor cl, al
or al, dl
xor al, 1
or al, cl
mov esi, eax
and al, bl
xor bl, 1
xor sil, 1
mov ecx, ebx
xor cl, sil
and cl, bl
and sil, bl
or sil, al
xor cl, 1
xor sil, 1
mov eax, ecx
xor al, sil
or sil, cl
xor sil, 1
or sil, al
and r11b, bpl
mov eax, ebp
and al, r11b
xor r11b, bpl
or r11b, al
mov ebx, r11d
xor bl, 1
mov eax, r11d
and al, bl
mov ecx, eax
xor cl, 1
xor al, r11b
or cl, bl
xor cl, 1
or cl, al
mov eax, r11d
or al, bl
mov edx, eax
xor dl, cl
xor cl, 1
xor dl, 1
or cl, al
xor cl, 1
or cl, dl
and r11b, r8b
mov ebp, r9d
xor bpl, r10b
xor bpl, 1
or bpl, dil
or dil, r8b
or r8b, cl
xor cl, 1
or cl, r10b
mov eax, ecx
xor al, r8b
or cl, r8b
xor cl, 1
or cl, al
mov eax, r10d
xor al, bl
and al, r10b
and bl, r10b
or bl, r11b
xor al, 1
xor bl, 1
mov edx, eax
xor dl, bl
or bl, al
xor bl, 1
or bl, dl
mov eax, ebx
xor al, 1
mov edx, ecx
xor dl, 1
and al, dl
or dl, bl
and bl, cl
or bl, al
mov eax, edx
xor al, bl
xor bl, 1
xor al, 1
or bl, dl
xor bl, 1
or bl, al
mov eax, esi
xor al, 1
mov ecx, eax
and cl, sil
mov edx, eax
and dl, cl
xor cl, al
or cl, dl
mov edx, ecx
xor dl, 1
and cl, bl
xor bl, 1
and dl, bl
or cl, dl
mov edx, ecx
xor dl, bl
and dl, cl
xor bl, sil
or bl, al
mov ecx, edx
xor cl, 1
mov eax, ecx
and al, dl
mov r8d, ecx
xor r8b, al
xor al, 1
or al, dl
xor al, 1
or al, r8b
xor al, bl
mov edx, ecx
and dl, bl
xor cl, bl
xor al, 1
or cl, dl
mov edx, eax
xor dl, cl
or cl, al
xor cl, 1
or cl, dl
mov ebx, ebp
xor bl, 1
or r10b, r9b
xor r10b, 1
xor dil, 1
mov eax, r10d
and al, dil
xor dil, r10b
or dil, al
mov eax, edi
xor al, 1
mov edx, ebx
and dl, bpl
and dil, al
mov r8d, edx
and r8b, bl
xor dl, bl
or dl, r8b
xor dil, 1
mov ebx, edi
xor bl, al
or dil, al
xor dil, 1
or dil, bl
xor dil, dl
mov edx, ebp
and dl, al
xor al, bpl
or al, dl
xor al, 1
mov edx, edi
and dl, al
xor al, dil
or al, dl
mov edx, eax
xor dl, 1
and al, dl
mov ebx, eax
and bl, dl
xor al, dl
or al, bl
mov edx, eax
xor dl, 1
mov ebx, ecx
xor bl, 1
mov r8d, ebx
and cl, bl
mov r9d, ebx
and r9b, cl
xor cl, bl
and bl, dl
xor r8b, dl
or r8b, bl
and al, dl
or cl, r9b
mov ebx, edx
and bl, al
xor al, dl
or al, bl
xor al, cl
xor al, 1
mov edx, r8d
and dl, al
xor al, r8b
or dl, al
xor dl, 1
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
mov byte [rsp + 6], dl
mov rax, qword [rsp + 0x10]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], r15
mov qword [rsp + 8], r15
movabs rsi, 0x4dba676db828c264
mov rax, qword [rsp + 8]
mov rax, qword [rax]
mov qword [rsp + 8], rax
cmp rax, qword [rsp + 0x20]
je 0x18002d122
mov r14, qword [rsp + 0x18]
test byte [rsp + 7], 1
je 0x18002d110
nop dword [rax]
cmp byte [r14 + 1], 0
lea r14, [r14 + 1]
jne 0x18002cd00
test byte [rsp + 6], 1
je 0x18002d120
movabs rbx, 0x4726b596b9e9011d
mov rax, rbx
movabs rcx, 0xb245fbad04153a79
mov rbp, rcx
sub rax, rcx
movabs rcx, 0xbba2a9bd8670758d
mov rdx, rcx
add rax, rcx
mov rcx, rbx
sub rcx, rax
movabs rax, 0xc633e3935d74c917
add rcx, rax
sub rcx, rbp
sub rcx, rax
movabs rax, 0x77494fba650b0179
mov rbp, rax
sub rcx, rax
movabs rax, 0xd17d96d4277c3747
sub rcx, rax
add rcx, rbp
sub rcx, qword [rsp + 0x10]
add rcx, rax
add rcx, rdx
movabs rax, 0x1beceb31a69e4222
mov rbp, rax
sub r14, rax
movabs rax, 0x53cdadf20ebb52c0
mov rdx, rax
add r14, rax
add r14, rbp
movabs rax, 0x45f8d1ac771ce922
mov rbp, rax
sub r14, rax
movabs rax, 0x7a3ad71f260023bc
add r14, rax
add r14, rbp
add r14, rcx
movabs rcx, 0x8f6a0a4e16c5fd3
add r14, rcx
sub r14, rax
sub r14, rcx
movabs rax, 0x99b00cbc945fbd9e
add r14, rax
movabs rcx, 0x1073bb3538553028
add r14, rcx
sub r14, rdx
sub r14, rcx
movabs rcx, 0x3d87c6018c715aec
add r14, rcx
sub r14, rax
sub r14, rcx
je 0x18002d0e9
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x28], rax
xor edi, edi
mov rdx, r14
nop dword [rax]
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + rdi*2]
test eax, eax
sete r11b
mov rcx, qword [rsp + 0x10]
movsx ecx, byte [rcx + rdi]
lea ebp, [rax - 0x41]
lea r10d, [rax + 0x20]
cmp bp, 0x1a
cmovae r10d, eax
lea eax, [rcx - 0x41]
lea ebp, [rcx + 0x20]
cmp al, 0x1a
cmovae ebp, ecx
sub r10d, ebp
sete bpl
mov eax, ebp
xor al, r11b
mov ecx, eax
xor cl, r11b
mov ebx, eax
or bl, r11b
xor bl, 1
or bl, cl
mov ecx, ebx
xor cl, 1
or bpl, r11b
not al
and al, r11b
xor al, 1
mov r11d, ebp
xor r11b, al
or al, bpl
xor al, 1
or al, r11b
mov r13d, ebx
and r13b, cl
mov r11d, ebx
and r11b, r13b
xor r13b, bl
or r13b, r11b
mov r15d, r13d
xor r15b, 1
mov ebp, eax
xor bpl, 1
or cl, bl
mov ebx, ecx
xor bl, 1
mov r11d, eax
or r11b, bpl
and bl, cl
mov r8d, r15d
and r8b, r13b
mov r12d, r8d
xor r12b, 1
or r12b, r13b
xor r12b, 1
mov r13d, r15d
xor r13b, r8b
or r12b, r13b
mov r9d, ecx
and r9b, bl
xor bl, cl
or bl, r9b
mov r9d, r12d
xor r9b, 1
and r9b, bl
xor bl, 1
and bl, r12b
or bl, r9b
mov r9d, r15d
and r9b, cl
xor cl, r15b
or cl, r9b
xor cl, 1
mov r9d, ebx
and r9b, cl
xor cl, bl
or cl, r9b
and bpl, al
xor bpl, 1
mov ebx, ebp
xor bl, al
or bpl, al
xor bpl, 1
or bpl, bl
xor bpl, r11b
mov ebx, eax
and bl, r11b
xor r11b, al
or r11b, bl
mov ebx, ebp
xor bl, r11b
or r11b, bpl
xor r11b, 1
or r11b, bl
mov ebx, r11d
xor bl, 1
or bl, cl
xor cl, 1
or cl, r11b
mov r9d, ecx
xor r9b, bl
or cl, bl
xor cl, 1
or cl, r9b
and r8b, r15b
or r8b, r13b
xor r8b, al
mov ebx, r15d
and bl, al
xor r15b, al
or r15b, bl
xor r15b, 1
mov eax, r8d
and al, r15b
xor r15b, r8b
or r15b, al
xor r15b, cl
mov eax, r15d
xor al, 1
and r15b, cl
mov ecx, r15d
and cl, al
test cl, 1
jne 0x18002d0e0
xor r15b, al
test r15b, 1
jne 0x18002d0e0
movabs rcx, 0xe072b53c96e249f3
movabs rax, 0x119b1597d21c308
mov rbp, rax
add rax, rcx
sub rcx, rax
movabs rax, 0xa2285174a9b61b30
sub rdx, rax
add rdx, rbp
add rdx, rax
movabs rax, 0x53eb65f8023c97ee
sub rdx, rax
sub rdx, rsi
movabs rbp, 0x1711cdb2dfe73c95
sub rdx, rbp
add rdx, rax
add rdx, rbp
movabs rax, 0xcda014ad088055e8
add rdx, rax
add rdx, rcx
sub rax, rdx
movabs rbp, 0xb5d303f08b179d27
mov rcx, rbp
movabs rdx, 0xd2337c73345aff9f
sub rcx, rdx
add rax, rcx
add rax, rdx
movabs rcx, 0x230a67b5f43bc5f8
sub rax, rcx
sub rax, rbp
add rax, rcx
movabs rcx, 0xee60991aaf7dbb81
mov rdx, rcx
movabs rcx, 0x6a77fbf51710ea91
mov rbp, rcx
add rcx, rdx
not rax
add rax, rcx
sub rax, rdx
sub rax, rbp
movabs rcx, 0x74cb16a7a948b264
mov rbp, rcx
add rax, rcx
movabs rcx, 0x656316d3e6e6b9e2
mov rbx, rcx
sub rax, rcx
movabs rcx, 0xc4c9b0c1b4531f31
mov rdx, rcx
sub rax, rcx
add rax, rbx
sub rax, rbp
add rax, rsi
movabs rcx, 0xd53a1cabcdd0cf0e
sub rax, rcx
add rax, rdx
add rax, rcx
add rdi, 1
mov rdx, rax
cmp r14, rdi
jne 0x18002ce30
jmp 0x18002d0e9
test r10d, r10d
jne 0x18002ccd4
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x30]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x18002d110
jmp 0x18002d120
xor eax, eax
jmp 0x18002d0f2