Function at 0x1400117a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov byte [rsp + 8], cl
sub rsp, 0x1b8
mov dword [rsp + 0x38], 0x466
mov dword [rsp + 0x28], 0x32c
mov dword [rsp + 0x2c], 0x2cb
mov byte [rsp + 0x23], 0xc0
mov byte [rsp + 0x22], 0xa0
mov byte [rsp + 0x25], 0xf9
mov byte [rsp + 0x20], 0x95
mov dword [rsp + 0x30], 0x339
mov byte [rsp + 0x24], 0xb
mov byte [rsp + 0x21], 0x6b
mov dword [rsp + 0x34], 0x45
cmp dword [0x140074c3c], 0
jne 0x140011813
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x140011813
mov byte [rsp + 0x3c], 0
jmp 0x140011818
mov byte [rsp + 0x3c], 1
movzx eax, byte [rsp + 0x3c]
mov byte [0x140074c5e], al
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x23]
shl eax, cl
mov ecx, dword [0x140074c80]
or ecx, eax
mov eax, ecx
mov byte [0x140074b8f], al
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x28], eax
jne 0x140011853
mov dword [rsp + 0x74], 1
jmp 0x14001185b
mov dword [rsp + 0x74], 0
movzx eax, byte [0x140074c6d]
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x38]
xor edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x14001187c
mov dword [rsp + 0x78], 1
jmp 0x140011884
mov dword [rsp + 0x78], 0
movzx eax, byte [0x140074c5c]
sub eax, dword [rsp + 0x78]
mov byte [0x140074c5c], al
movzx eax, byte [0x140074c5f]
test eax, eax
je 0x1400118b1
cmp dword [rsp + 0x2c], 0
je 0x1400118b1
mov dword [rsp + 0x7c], 1
jmp 0x1400118b9
mov dword [rsp + 0x7c], 0
movzx eax, byte [0x140074b8e]
sub eax, dword [rsp + 0x7c]
mov byte [0x140074b8e], al
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x1400118eb
mov dword [rsp + 0x80], 1
jmp 0x1400118f6
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0x80]
mov ecx, dword [0x140074c74]
add ecx, eax
mov eax, ecx
mov byte [0x140074c8b], al
mov dword [rsp + 0x48], 0x71
mov dword [rsp + 0x48], 0xef
jmp 0x140011929
mov eax, dword [rsp + 0x48]
dec eax
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0x11
jbe 0x14001194f
movzx eax, byte [0x140074c89]
movzx ecx, byte [rsp + 0x24]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov byte [rsp + 0x22], al
jmp 0x14001191f
cmp dword [0x140074c2c], 0
je 0x140011986
movsx eax, byte [rsp + 0x22]
movzx ecx, byte [rsp + 0x23]
movzx edx, byte [0x140074b8e]
sub ecx, edx
and eax, ecx
mov ecx, dword [rsp + 0x28]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140011986
mov dword [rsp + 0x84], 1
jmp 0x140011991
mov dword [rsp + 0x84], 0
mov eax, dword [rsp + 0x84]
mov dword [0x140074c3c], eax
imul eax, dword [0x140074c50], 7
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 8
div ecx
mov eax, edx
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400119f7
cmp dword [rsp + 0x4c], 1
je 0x140011a74
cmp dword [rsp + 0x4c], 2
je 0x140011a94
cmp dword [rsp + 0x4c], 3
je 0x140011b02
jmp 0x140011b46
movzx eax, byte [rsp + 0x24]
movzx ecx, al
mov eax, dword [0x140074c34]
shr eax, cl
test eax, eax
jne 0x140011a2f
movzx eax, byte [rsp + 0x23]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
xor eax, dword [0x140074c2c]
test eax, eax
jne 0x140011a2f
mov dword [rsp + 0x88], 0
jmp 0x140011a3a
mov dword [rsp + 0x88], 1
mov eax, dword [rsp + 0x88]
mov ecx, dword [0x140074c70]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c70], eax
movzx eax, byte [0x140074c89]
movzx ecx, byte [rsp + 0x21]
imul eax, ecx
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov dword [rsp + 0x38], eax
jmp 0x140011b46
movsx eax, byte [0x140074c5d]
movzx ecx, byte [rsp + 0x21]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov byte [rsp + 0x25], al
jmp 0x140011b46
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x140074c38]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x30]
shl eax, cl
movzx ecx, byte [0x140074c8b]
or ecx, eax
mov eax, ecx
mov byte [0x140074c8b], al
movsx eax, byte [0x140074c6c]
test eax, eax
je 0x140011ae1
movzx eax, byte [rsp + 0x24]
sub eax, dword [rsp + 0x28]
cmp dword [rsp + 0x38], eax
jne 0x140011ae1
mov dword [rsp + 0x8c], 1
jmp 0x140011aec
mov dword [rsp + 0x8c], 0
movzx eax, byte [0x140074c89]
sub eax, dword [rsp + 0x8c]
mov byte [0x140074c89], al
jmp 0x140011b46
xor edx, edx
mov eax, dword [rsp + 0x30]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x140074c3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [rsp + 0x34]
shl eax, cl
mov ecx, dword [0x140074a64]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c4c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
mov dword [rsp + 0x68], 0x98
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x68]
dec eax
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x15c], 0
je 0x140011c5d
movsx eax, byte [0x140074c6f]
movsx ecx, byte [rsp + 0x20]
cmp eax, ecx
jne 0x140011b88
mov byte [rsp + 0x3d], 1
jmp 0x140011b8d
mov byte [rsp + 0x3d], 0
movzx eax, byte [rsp + 0x3d]
mov byte [0x140074a63], al
movsx eax, byte [0x140074a63]
movzx ecx, byte [rsp + 0x21]
or eax, ecx
movsx ecx, byte [0x140074a62]
and ecx, eax
mov eax, ecx
mov byte [0x140074a62], al
movzx eax, byte [0x140074b8f]
sub eax, dword [rsp + 0x38]
movsx ecx, byte [rsp + 0x22]
and eax, ecx
mov ecx, dword [0x140074c8c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c8c], eax
movzx eax, byte [rsp + 0x23]
or eax, dword [rsp + 0x30]
movzx ecx, byte [rsp + 0x21]
or eax, ecx
mov ecx, dword [0x140074c84]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c3c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c3c], eax
movzx eax, byte [0x140074c8a]
test eax, eax
jne 0x140011c36
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x140011c29
movsx eax, byte [rsp + 0x25]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shl eax, cl
test eax, eax
jne 0x140011c36
mov dword [rsp + 0x90], 0
jmp 0x140011c41
mov dword [rsp + 0x90], 1
mov eax, dword [rsp + 0x90]
mov ecx, dword [0x140074c84]
or ecx, eax
mov eax, ecx
mov dword [0x140074c84], eax
jmp 0x140011b4e
mov eax, 0xfffffd7f
mov word [rsp + 0x44], ax
movsx eax, word [rsp + 0x44]
mov dword [rsp + 0x160], eax
movzx eax, word [rsp + 0x44]
inc ax
mov word [rsp + 0x44], ax
cmp dword [rsp + 0x160], 0
je 0x140011e16
cmp dword [0x140074c2c], 0
jne 0x140011cd8
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x164], ecx
movzx edx, byte [0x140074c5c]
movzx ecx, dl
mov edx, dword [rsp + 0x28]
shl edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x164]
xor edx, ecx
mov ecx, edx
or eax, ecx
test eax, eax
jne 0x140011cd8
mov dword [rsp + 0x94], 0
jmp 0x140011ce3
mov dword [rsp + 0x94], 1
movzx eax, byte [0x140074b8f]
add eax, dword [rsp + 0x94]
mov byte [0x140074b8f], al
cmp dword [rsp + 0x34], 0
jne 0x140011d1b
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x21]
sar eax, cl
test eax, eax
jne 0x140011d1b
mov dword [rsp + 0x98], 0
jmp 0x140011d26
mov dword [rsp + 0x98], 1
mov eax, dword [rsp + 0x98]
mov ecx, dword [0x140074c28]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074a6c]
sub ecx, eax
mov eax, ecx
mov dword [0x140074a6c], eax
movsx eax, byte [0x140074c6e]
xor eax, dword [rsp + 0x34]
mov byte [0x140074c5f], al
movsx eax, byte [0x140074a63]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
xor eax, dword [rsp + 0x2c]
test eax, eax
jne 0x140011d8d
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [0x140074c90]
shl eax, cl
test eax, eax
jne 0x140011d8d
mov dword [rsp + 0x9c], 0
jmp 0x140011d98
mov dword [rsp + 0x9c], 1
mov eax, dword [rsp + 0x9c]
mov ecx, dword [0x140074c8c]
or ecx, eax
mov eax, ecx
mov dword [0x140074c8c], eax
movsx eax, byte [0x140074c90]
test eax, eax
jne 0x140011dd7
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x140011dd7
mov dword [rsp + 0xa0], 0
jmp 0x140011de2
mov dword [rsp + 0xa0], 1
movzx eax, byte [0x140074c8a]
add eax, dword [rsp + 0xa0]
mov byte [0x140074c8a], al
movsx eax, byte [rsp + 0x20]
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x140074c60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x140011c67
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x140074c70], 0
jne 0x140011e56
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x28]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140011e49
movsx eax, byte [0x140074c5e]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x140011e56
mov dword [rsp + 0xa4], 0
jmp 0x140011e61
mov dword [rsp + 0xa4], 1
mov eax, dword [rsp + 0xa4]
mov ecx, dword [0x140074a68]
and ecx, eax
mov eax, ecx
mov dword [0x140074a68], eax
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x140074c74]
and ecx, eax
mov eax, ecx
mov dword [0x140074c54], eax
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x21]
mov edx, dword [rsp + 0x34]
add edx, ecx
mov ecx, edx
or eax, ecx
cmp dword [0x140074c4c], eax
jne 0x140011eb6
mov dword [rsp + 0xa8], 1
jmp 0x140011ec1
mov dword [rsp + 0xa8], 0
mov eax, dword [rsp + 0xa8]
mov ecx, dword [0x140074c28]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c28], eax
mov dword [rsp + 0x6c], 0xffffffb8
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x168], eax
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x168], 0
je 0x140011f2f
movsx eax, byte [0x140074c6f]
movzx ecx, byte [rsp + 0x21]
mov edx, dword [rsp + 0x28]
add edx, ecx
mov ecx, edx
movzx edx, byte [rsp + 0x23]
or ecx, edx
and eax, ecx
movsx ecx, byte [0x140074c5e]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5e], al
jmp 0x140011ee0
movsx eax, byte [0x140074c6c]
movsx ecx, byte [rsp + 0x20]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov byte [rsp + 0x24], al
movzx eax, byte [0x140074c8a]
movsx ecx, byte [rsp + 0x20]
add eax, ecx
test eax, eax
je 0x140011f70
cmp dword [rsp + 0x2c], 0
je 0x140011f70
mov dword [rsp + 0xac], 1
jmp 0x140011f7b
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0xac]
mov ecx, dword [0x140074a64]
and ecx, eax
mov eax, ecx
mov dword [0x140074a64], eax
movsx eax, byte [0x140074c90]
imul eax, eax, 7
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x140011fea
cmp dword [rsp + 0x50], 1
je 0x14001203c
cmp dword [rsp + 0x50], 2
je 0x14001208d
cmp dword [rsp + 0x50], 3
je 0x1400120c4
jmp 0x140012156
movsx eax, byte [rsp + 0x25]
mov ecx, dword [0x140074c60]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x2c], eax
movsx eax, byte [0x140074c6e]
mov dword [rsp + 0x170], eax
movzx ecx, byte [rsp + 0x24]
mov eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x170]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
jmp 0x1400121c9
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x140074c54]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c54]
and ecx, eax
mov eax, ecx
mov dword [0x140074c54], eax
movzx eax, byte [0x140074c6d]
mov dword [rsp + 0x174], eax
movzx ecx, byte [rsp + 0x24]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x174]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x24], al
jmp 0x1400121c9
movzx eax, byte [0x140074c5f]
add eax, dword [rsp + 0x38]
movzx ecx, byte [0x140074c8a]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c8a], al
movsx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [0x140074c84]
shl eax, cl
mov byte [0x140074c8b], al
jmp 0x1400121c9
cmp dword [0x140074c80], 0
je 0x1400120e3
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x1400120e3
mov dword [rsp + 0xb0], 1
jmp 0x1400120ee
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
mov ecx, dword [0x140074c34]
or ecx, eax
mov eax, ecx
mov dword [0x140074c34], eax
movsx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x21]
cmp eax, ecx
jne 0x140012128
mov dword [rsp + 0xb4], 1
jmp 0x140012133
mov dword [rsp + 0xb4], 0
movzx eax, byte [0x140074c5c]
mov ecx, dword [rsp + 0xb4]
sar eax, cl
movsx ecx, byte [0x140074c5d]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5d], al
jmp 0x1400121c9
cmp dword [rsp + 0x2c], 0
je 0x14001217a
movzx eax, byte [rsp + 0x24]
movsx ecx, byte [rsp + 0x20]
sub eax, ecx
test eax, eax
je 0x14001217a
mov dword [rsp + 0xb8], 1
jmp 0x140012185
mov dword [rsp + 0xb8], 0
movzx eax, byte [0x140074c88]
sub eax, dword [rsp + 0xb8]
movzx ecx, byte [0x140074c89]
and ecx, eax
mov eax, ecx
mov byte [0x140074c89], al
movzx eax, byte [0x140074c88]
movzx ecx, byte [rsp + 0x21]
add eax, ecx
movsx ecx, byte [rsp + 0x20]
sub eax, ecx
mov ecx, dword [0x140074a68]
xor ecx, eax
mov eax, ecx
mov dword [0x140074a68], eax
movsx eax, byte [0x140074c6f]
movsx ecx, byte [rsp + 0x25]
add eax, ecx
or eax, dword [rsp + 0x28]
movsx ecx, byte [0x140074c6e]
and ecx, eax
mov eax, ecx
mov byte [0x140074c6e], al
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x140074a68]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c34]
or ecx, eax
mov eax, ecx
mov dword [0x140074c34], eax
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [rsp + 0x23]
sub eax, ecx
mov ecx, dword [0x140074c30]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x24]
xor eax, ecx
test eax, eax
jne 0x140012244
movsx eax, byte [0x140074c6e]
test eax, eax
jne 0x140012244
mov dword [rsp + 0xbc], 0
jmp 0x14001224f
mov dword [rsp + 0xbc], 1
movsx eax, byte [0x140074c5e]
and eax, dword [rsp + 0xbc]
mov byte [0x140074c5e], al
movsx eax, byte [0x140074c6c]
movzx ecx, byte [rsp + 0x24]
add eax, ecx
test eax, eax
jne 0x140012289
cmp dword [rsp + 0x28], 0
jne 0x140012289
mov dword [rsp + 0xc0], 0
jmp 0x140012294
mov dword [rsp + 0xc0], 1
mov eax, dword [rsp + 0xc0]
mov dword [0x140074c34], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsx eax, byte [0x140074c6f]
add eax, dword [rsp + 0x30]
movzx ecx, byte [0x140074c8a]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c8a], al
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x140074c68]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x24]
or eax, ecx
movsx ecx, byte [0x140074c5d]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c5d], al
movsx eax, byte [rsp + 0x25]
movsx ecx, byte [rsp + 0x22]
xor eax, ecx
test eax, eax
jne 0x14001230d
cmp dword [rsp + 0x30], 0
jne 0x14001230d
mov dword [rsp + 0xc4], 0
jmp 0x140012318
mov dword [rsp + 0xc4], 1
movzx eax, byte [0x140074c89]
xor eax, dword [rsp + 0xc4]
movzx ecx, byte [0x140074c5f]
or ecx, eax
mov eax, ecx
mov byte [0x140074c5f], al
cmp dword [0x140074c70], 0
je 0x140012356
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x140012356
mov dword [rsp + 0xc8], 1
jmp 0x140012361
mov dword [rsp + 0xc8], 0
mov eax, dword [rsp + 0xc8]
mov ecx, dword [0x140074c48]
or ecx, eax
mov eax, ecx
mov dword [0x140074c48], eax
movsx eax, byte [0x140074c90]
movzx ecx, byte [rsp + 0x21]
add eax, ecx
mov ecx, dword [0x140074c2c]
or ecx, eax
mov eax, ecx
mov dword [0x140074c2c], eax
movsx eax, byte [0x140074a62]
cmp eax, dword [rsp + 0x34]
je 0x1400123c7
movsx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x2c]
sar eax, cl
mov ecx, dword [0x140074c30]
shl eax, cl
test eax, eax
jne 0x1400123c7
mov dword [rsp + 0xcc], 0
jmp 0x1400123d2
mov dword [rsp + 0xcc], 1
movzx eax, byte [0x140074b8e]
xor eax, dword [rsp + 0xcc]
mov byte [0x140074b8e], al
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x14001240d
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x14001240d
mov dword [rsp + 0xd0], 0
jmp 0x140012418
mov dword [rsp + 0xd0], 1
movsx eax, byte [0x140074c6c]
xor eax, dword [rsp + 0xd0]
movzx ecx, byte [0x140074c6d]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c6d], al
movsx eax, byte [0x140074c6e]
movzx ecx, byte [rsp + 0x23]
movzx edx, byte [rsp + 0x23]
and ecx, edx
or eax, ecx
mov ecx, dword [0x140074c70]
or ecx, eax
mov eax, ecx
mov dword [0x140074c70], eax
cmp dword [0x140074c60], 0
je 0x140012479
cmp dword [rsp + 0x2c], 0
je 0x140012479
mov dword [rsp + 0xd4], 1
jmp 0x140012484
mov dword [rsp + 0xd4], 0
movzx eax, byte [0x140074c89]
add eax, dword [rsp + 0xd4]
mov byte [0x140074c89], al
movsx eax, byte [0x140074c90]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
movzx ecx, byte [rsp + 0x21]
mov dword [rsp + 0x178], ecx
movsx edx, byte [rsp + 0x25]
movzx ecx, dl
mov edx, dword [rsp + 0x178]
shl edx, cl
mov ecx, edx
mov dword [rsp + 0x17c], ecx
mov edx, dword [0x140074c2c]
movzx ecx, dl
mov edx, dword [rsp + 0x17c]
sar edx, cl
mov ecx, edx
and eax, ecx
mov dword [0x140074a68], eax
mov dword [rsp + 0x54], 0x27
mov dword [rsp + 0x54], 9
jmp 0x140012504
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0x3f2
jae 0x1400126ae
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
je 0x1400125ff
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, dword [rsp + 0x38]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c70]
and ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c89]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c89], al
movsx eax, byte [0x140074c90]
movsx ecx, byte [rsp + 0x25]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [0x140074c64]
sar eax, cl
cmp eax, dword [rsp + 0x2c]
jne 0x140012594
mov dword [rsp + 0xd8], 1
jmp 0x14001259f
mov dword [rsp + 0xd8], 0
movzx eax, byte [0x140074c8b]
xor eax, dword [rsp + 0xd8]
mov byte [0x140074c8b], al
movsx eax, byte [rsp + 0x22]
cmp dword [rsp + 0x28], eax
jne 0x1400125cb
mov dword [rsp + 0xdc], 1
jmp 0x1400125d6
mov dword [rsp + 0xdc], 0
movsx eax, byte [0x140074a62]
mov ecx, dword [rsp + 0xdc]
mov edx, dword [rsp + 0x30]
xor edx, ecx
mov ecx, edx
xor eax, ecx
movsx ecx, byte [0x140074c6c]
and ecx, eax
mov eax, ecx
mov byte [0x140074c6c], al
movzx eax, byte [rsp + 0x23]
mov ecx, dword [0x140074c28]
or ecx, eax
mov eax, ecx
mov dword [0x140074c34], eax
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [0x140074c60]
shl eax, cl
movzx ecx, byte [rsp + 0x23]
and eax, ecx
mov byte [0x140074c8b], al
movsx eax, byte [rsp + 0x22]
cmp dword [rsp + 0x28], eax
jne 0x140012648
mov dword [rsp + 0xe0], 1
jmp 0x140012653
mov dword [rsp + 0xe0], 0
mov eax, dword [rsp + 0xe0]
mov ecx, dword [rsp + 0x30]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c70]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c68], eax
movzx eax, byte [0x140074c8a]
mov ecx, dword [rsp + 0x38]
sar eax, cl
mov ecx, dword [0x140074c80]
and ecx, eax
mov eax, ecx
mov dword [0x140074c80], eax
movzx eax, byte [0x140074c5f]
imul eax, dword [rsp + 0x28]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov byte [rsp + 0x20], al
jmp 0x1400124fa
movsx eax, byte [rsp + 0x25]
movsx ecx, byte [rsp + 0x22]
sar eax, cl
test eax, eax
je 0x1400126d2
cmp dword [rsp + 0x28], 0
je 0x1400126d2
mov dword [rsp + 0xe4], 1
jmp 0x1400126dd
mov dword [rsp + 0xe4], 0
movzx eax, byte [0x140074c6d]
cmp eax, dword [rsp + 0xe4]
jne 0x1400126fa
mov dword [rsp + 0xe8], 1
jmp 0x140012705
mov dword [rsp + 0xe8], 0
movzx eax, byte [0x140074b8e]
and eax, dword [rsp + 0xe8]
mov byte [0x140074b8e], al
movsx eax, byte [0x140074c6c]
movsx ecx, byte [rsp + 0x25]
xor eax, ecx
movsx ecx, byte [rsp + 0x22]
xor eax, ecx
movsx ecx, byte [0x140074c6e]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c6e], al
movzx eax, byte [0x140074c5c]
test eax, eax
jne 0x140012760
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x140012760
mov dword [rsp + 0xec], 0
jmp 0x14001276b
mov dword [rsp + 0xec], 1
movzx eax, byte [0x140074c8b]
sub eax, dword [rsp + 0xec]
mov byte [0x140074c8b], al
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [0x140074c80]
shr eax, cl
test eax, eax
jne 0x1400127a7
cmp dword [rsp + 0x38], 0
jne 0x1400127a7
mov dword [rsp + 0xf0], 0
jmp 0x1400127b2
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0xf0]
mov ecx, dword [0x140074a6c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074a6c], eax
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x1400127ef
movsx eax, byte [rsp + 0x20]
movsx ecx, byte [rsp + 0x25]
xor eax, ecx
test eax, eax
je 0x1400127ef
mov dword [rsp + 0xf4], 1
jmp 0x1400127fa
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0xf4]
mov ecx, dword [0x140074c74]
or ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c8b]
sub ecx, eax
mov eax, ecx
mov byte [0x140074c8b], al
movzx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x30]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c34]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x140074c6f]
or ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
test eax, eax
je 0x140012873
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140012873
mov dword [rsp + 0xf8], 1
jmp 0x14001287e
mov dword [rsp + 0xf8], 0
mov eax, dword [rsp + 0xf8]
mov ecx, dword [0x140074a68]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c74]
or ecx, eax
mov eax, ecx
mov dword [0x140074c74], eax
movsx eax, byte [0x140074c5e]
cmp eax, dword [rsp + 0x34]
jae 0x1400128b9
mov dword [rsp + 0x100], 1
jmp 0x1400128c4
mov dword [rsp + 0x100], 0
movzx eax, byte [rsp + 0x23]
movzx ecx, byte [0x140074c8a]
cmp eax, ecx
jne 0x1400128e1
mov dword [rsp + 0xfc], 1
jmp 0x1400128ec
mov dword [rsp + 0xfc], 0
mov eax, dword [rsp + 0xfc]
cmp dword [rsp + 0x100], eax
jge 0x140012926
movzx eax, byte [0x140074c8a]
mov dword [rsp + 0x180], eax
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x180]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x140074a6c]
and ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x24]
or eax, ecx
or eax, dword [rsp + 0x38]
test eax, eax
je 0x140012959
cmp dword [0x140074a64], 0
je 0x140012959
mov dword [rsp + 0x104], 1
jmp 0x140012964
mov dword [rsp + 0x104], 0
mov eax, dword [rsp + 0x104]
mov dword [0x140074c8c], eax
movzx eax, byte [0x140074c5f]
movzx ecx, byte [rsp + 0x24]
xor eax, ecx
test eax, eax
je 0x140012999
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140012999
mov dword [rsp + 0x108], 1
jmp 0x1400129a4
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x108]
mov ecx, dword [0x140074c3c]
and ecx, eax
mov eax, ecx
mov dword [0x140074c3c], eax
cmp dword [0x140074c2c], 0
je 0x1400129e1
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x23]
or eax, ecx
test eax, eax
je 0x1400129e1
mov dword [rsp + 0x10c], 1
jmp 0x1400129ec
mov dword [rsp + 0x10c], 0
movsx eax, byte [0x140074c6f]
xor eax, dword [rsp + 0x10c]
mov byte [0x140074c6f], al
movsx eax, byte [0x140074c6f]
mov dword [rsp + 0x184], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x184]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
movsx eax, byte [0x140074c6c]
mov dword [rsp + 0x188], eax
xor edx, edx
mov eax, dword [rsp + 0x30]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x188]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x23]
imul ecx, dword [0x140074c38], 3
add eax, ecx
cdq
mov ecx, 9
idiv ecx
mov eax, edx
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x18c]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
je 0x140012aab
cmp dword [rsp + 0x58], 1
je 0x140012b26
cmp dword [rsp + 0x58], 2
je 0x140012b81
cmp dword [rsp + 0x58], 3
je 0x140012ba1
jmp 0x140012be5
movzx eax, byte [0x140074c88]
mov dword [rsp + 0x190], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 3
div ecx
mov ecx, dword [rsp + 0x190]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
cmp dword [rsp + 0x30], 0
je 0x140012ae3
cmp dword [rsp + 0x28], 0
jne 0x140012af7
cmp dword [rsp + 0x2c], 0
jne 0x140012af7
mov dword [rsp + 0x110], 0
jmp 0x140012b02
mov dword [rsp + 0x110], 1
movsx eax, byte [0x140074a63]
or eax, dword [rsp + 0x110]
movzx ecx, byte [0x140074c5c]
add ecx, eax
mov eax, ecx
mov byte [0x140074c5c], al
jmp 0x140012cc9
movzx eax, byte [rsp + 0x23]
add eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x140074c34]
shr eax, cl
test eax, eax
je 0x140012b5d
movzx eax, byte [rsp + 0x23]
movzx ecx, byte [0x140074c8b]
sar eax, cl
test eax, eax
je 0x140012b5d
mov dword [rsp + 0x114], 1
jmp 0x140012b68
mov dword [rsp + 0x114], 0
movsx eax, byte [0x140074c6f]
or eax, dword [rsp + 0x114]
mov byte [0x140074c6f], al
jmp 0x140012cc9
movsx eax, byte [0x140074a62]
movsx ecx, byte [rsp + 0x20]
imul eax, ecx
cdq
mov ecx, 3
idiv ecx
mov dword [rsp + 0x2c], eax
jmp 0x140012cc9
movzx eax, byte [0x140074c8a]
movzx ecx, byte [rsp + 0x23]
or eax, ecx
movzx ecx, byte [0x140074b8e]
xor ecx, eax
mov eax, ecx
mov byte [0x140074b8e], al
movzx eax, byte [0x140074c6d]
sub eax, dword [rsp + 0x34]
and eax, dword [rsp + 0x38]
movsx ecx, byte [0x140074c6f]
sub ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
jmp 0x140012cc9
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x23]
add eax, ecx
cmp dword [rsp + 0x2c], eax
jne 0x140012c04
mov dword [rsp + 0x118], 1
jmp 0x140012c0f
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x118]
movzx ecx, al
mov eax, dword [0x140074c28]
shr eax, cl
mov dword [0x140074c80], eax
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140012c4a
movsx eax, byte [rsp + 0x25]
sub eax, dword [rsp + 0x30]
test eax, eax
je 0x140012c4a
mov dword [rsp + 0x11c], 1
jmp 0x140012c55
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x11c]
mov ecx, dword [0x140074a68]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [0x140074c5d]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c5d], al
cmp dword [rsp + 0x34], 0
je 0x140012c87
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x140012c9d
movsx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140012c9d
mov dword [rsp + 0x120], 0
jmp 0x140012ca8
mov dword [rsp + 0x120], 1
movzx eax, byte [0x140074c8a]
mov ecx, dword [rsp + 0x120]
sar eax, cl
movsx ecx, byte [0x140074c6f]
add ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x30], eax
jne 0x140012ce0
mov dword [rsp + 0x124], 1
jmp 0x140012ceb
mov dword [rsp + 0x124], 0
movzx eax, byte [0x140074c5f]
xor eax, dword [rsp + 0x124]
mov ecx, dword [0x140074c2c]
add ecx, eax
mov eax, ecx
mov dword [0x140074c2c], eax
movsx eax, byte [0x140074c6e]
test eax, eax
je 0x140012d3a
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x25]
sar eax, cl
test eax, eax
jne 0x140012d2d
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x140012d3a
mov dword [rsp + 0x128], 1
jmp 0x140012d45
mov dword [rsp + 0x128], 0
movsx eax, byte [0x140074a62]
or eax, dword [rsp + 0x128]
mov byte [0x140074a62], al
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x70], 0x3e
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x194], eax
mov eax, dword [rsp + 0x70]
dec eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x194], 0
je 0x140012da2
mov eax, dword [0x140074c34]
imul eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov byte [rsp + 0x21], al
jmp 0x140012d67
movsx eax, byte [0x140074c5d]
sub eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x38]
shl eax, cl
mov ecx, dword [0x140074c28]
and ecx, eax
mov eax, ecx
mov dword [0x140074c28], eax
movsx eax, byte [0x140074c5e]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x140012de0
mov dword [rsp + 0x12c], 1
jmp 0x140012deb
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
mov ecx, dword [0x140074c48]
and ecx, eax
mov eax, ecx
mov dword [0x140074c48], eax
mov dword [rsp + 0x5c], 0x120
mov dword [rsp + 0x5c], 0x11
jmp 0x140012e1e
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0x2b2
jae 0x140012f74
movsx eax, byte [0x140074c5d]
test eax, eax
je 0x140012e53
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
test eax, eax
je 0x140012e53
mov dword [rsp + 0x130], 1
jmp 0x140012e5e
mov dword [rsp + 0x130], 0
movsx eax, byte [0x140074c6e]
or eax, dword [rsp + 0x130]
mov byte [0x140074c6e], al
movzx eax, byte [0x140074b8f]
movsx ecx, byte [rsp + 0x25]
add eax, ecx
mov ecx, dword [0x140074a64]
sub ecx, eax
mov eax, ecx
mov dword [0x140074a64], eax
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x140074c34]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x22]
add ecx, dword [0x140074a64]
mov edx, dword [rsp + 0x28]
and edx, ecx
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x140074b8e]
sub ecx, eax
mov eax, ecx
mov byte [0x140074b8e], al
movzx eax, byte [0x140074c6d]
movzx ecx, byte [rsp + 0x24]
add eax, ecx
sub eax, dword [rsp + 0x38]
movsx ecx, byte [0x140074c6c]
sub ecx, eax
mov eax, ecx
mov byte [0x140074c6c], al
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x38]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x20]
sub eax, ecx
mov ecx, dword [0x140074c60]
add ecx, eax
mov eax, ecx
mov dword [0x140074c38], eax
mov eax, dword [0x140074c64]
imul eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x140012f4c
movzx eax, byte [rsp + 0x23]
test eax, eax
jne 0x140012f4c
movsx eax, byte [rsp + 0x25]
test eax, eax
jne 0x140012f4c
mov dword [rsp + 0x134], 0
jmp 0x140012f57
mov dword [rsp + 0x134], 1
mov eax, dword [rsp + 0x134]
movzx ecx, al
mov eax, dword [0x140074a64]
shr eax, cl
mov byte [0x140074b8f], al
jmp 0x140012e14
mov eax, 0x116
mov word [rsp + 0x40], ax
mov eax, 0xd9
mov word [rsp + 0x40], ax
jmp 0x140012f97
movzx eax, word [rsp + 0x40]
dec ax
mov word [rsp + 0x40], ax
movsx eax, word [rsp + 0x40]
cmp eax, 0x29
jle 0x140013037
cmp dword [0x140074c64], 0
jne 0x140012fc2
cmp dword [rsp + 0x2c], 0
jne 0x140012fc2
mov dword [rsp + 0x138], 0
jmp 0x140012fcd
mov dword [rsp + 0x138], 1
mov eax, dword [rsp + 0x138]
mov ecx, dword [0x140074c48]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c48], eax
cmp dword [0x140074a64], 0
jne 0x140013013
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140013006
movzx eax, byte [rsp + 0x23]
movzx ecx, byte [rsp + 0x23]
and eax, ecx
test eax, eax
jne 0x140013013
mov dword [rsp + 0x13c], 0
jmp 0x14001301e
mov dword [rsp + 0x13c], 1
movsx eax, byte [0x140074c6f]
xor eax, dword [rsp + 0x13c]
mov byte [0x140074c6f], al
jmp 0x140012f8a
cmp dword [rsp + 0x30], 0
jne 0x14001304b
movsx eax, byte [0x140074c5d]
cmp dword [rsp + 0x2c], eax
jbe 0x140013083
movsx eax, byte [0x140074c6f]
movsx ecx, byte [rsp + 0x25]
mov dword [rsp + 0x198], ecx
mov edx, dword [rsp + 0x2c]
movzx ecx, dl
mov edx, dword [rsp + 0x198]
sar edx, cl
mov ecx, edx
or eax, ecx
movzx ecx, byte [0x140074c8a]
add ecx, eax
mov eax, ecx
mov byte [0x140074c8a], al
cmp dword [0x140074c50], 0
jne 0x1400130c4
movzx eax, byte [rsp + 0x21]
movsx ecx, byte [rsp + 0x25]
sar eax, cl
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x19c], ecx
movzx edx, byte [0x140074c5f]
movzx ecx, dl
mov edx, dword [rsp + 0x19c]
shl edx, cl
mov ecx, edx
cmp eax, ecx
je 0x1400130c4
mov byte [rsp + 0x3e], 0
jmp 0x1400130c9
mov byte [rsp + 0x3e], 1
movzx eax, byte [rsp + 0x3e]
mov byte [0x140074b8e], al
movzx eax, byte [0x140074c5c]
test eax, eax
jne 0x140013107
movzx eax, byte [rsp + 0x23]
test eax, eax
jne 0x140013107
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shr eax, cl
test eax, eax
jne 0x140013107
mov dword [rsp + 0x140], 0
jmp 0x140013112
mov dword [rsp + 0x140], 1
mov eax, dword [rsp + 0x140]
mov ecx, dword [0x140074c34]
add ecx, eax
mov eax, ecx
mov dword [0x140074c34], eax
movsx eax, byte [0x140074c6f]
test eax, eax
je 0x140013160
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x2c]
sar eax, cl
movsx ecx, byte [rsp + 0x22]
movzx edx, byte [0x140074b8e]
add ecx, edx
and eax, ecx
test eax, eax
je 0x140013160
mov dword [rsp + 0x144], 1
jmp 0x14001316b
mov dword [rsp + 0x144], 0
mov eax, dword [rsp + 0x144]
mov ecx, dword [0x140074c68]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c68], eax
movzx eax, byte [0x140074c5c]
mov ecx, dword [rsp + 0x38]
lea eax, [rcx + rax*2]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov word [rsp + 0x64], ax
movsx eax, word [rsp + 0x64]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
je 0x1400131d2
cmp dword [rsp + 0x60], 1
je 0x1400131f2
cmp dword [rsp + 0x60], 2
je 0x140013247
cmp dword [rsp + 0x60], 3
je 0x1400132a1
jmp 0x140013308
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 5
div ecx
mov ecx, dword [0x140074c30]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
jmp 0x140013383
movsx eax, byte [0x140074c6c]
movsx ecx, byte [rsp + 0x20]
movzx edx, byte [rsp + 0x23]
xor ecx, edx
or eax, ecx
test eax, eax
je 0x14001322a
movsx eax, byte [rsp + 0x20]
movsx ecx, byte [0x140074a62]
or eax, ecx
test eax, eax
je 0x14001322a
mov dword [rsp + 0x148], 1
jmp 0x140013235
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x148]
mov dword [0x140074c68], eax
jmp 0x140013383
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x140074c80]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov byte [rsp + 0x20], al
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x22]
movzx edx, byte [rsp + 0x21]
add ecx, edx
sar eax, cl
mov ecx, dword [0x140074a64]
sar eax, cl
mov ecx, dword [0x140074c4c]
and ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c88]
and ecx, eax
mov eax, ecx
mov byte [0x140074c88], al
jmp 0x140013383
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x140074c84]
and ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x30]
mov ecx, dword [0x140074c48]
and ecx, eax
mov eax, ecx
mov dword [0x140074c48], eax
cmp dword [rsp + 0x28], 0
je 0x1400132e7
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x25]
add eax, ecx
test eax, eax
je 0x1400132e7
mov dword [rsp + 0x14c], 1
jmp 0x1400132f2
mov dword [rsp + 0x14c], 0
movsx eax, byte [0x140074c5d]
sub eax, dword [rsp + 0x14c]
mov byte [0x140074a63], al
jmp 0x140013383
movzx eax, byte [0x140074c5c]
mov dword [rsp + 0x1a0], eax
xor edx, edx
mov eax, dword [rsp + 0x30]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x1a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
movsx eax, byte [0x140074c90]
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x1a4], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x1a4]
sar edx, cl
mov ecx, edx
mov dword [rsp + 0x1a8], ecx
movzx edx, byte [rsp + 0x24]
movzx ecx, dl
mov edx, dword [rsp + 0x1a8]
sar edx, cl
mov ecx, edx
sub eax, ecx
mov ecx, dword [0x140074c8c]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c8c], eax
movsx eax, byte [rsp + 0x20]
cmp dword [0x140074c2c], eax
jne 0x1400133b6
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x140074a6c]
mov edx, dword [rsp + 0x34]
xor edx, ecx
mov ecx, edx
or eax, ecx
test eax, eax
je 0x1400133b6
mov dword [rsp + 0x150], 1
jmp 0x1400133c1
mov dword [rsp + 0x150], 0
movzx eax, byte [0x140074c88]
add eax, dword [rsp + 0x150]
mov byte [0x140074c88], al
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [0x140074c3c]
shl eax, cl
test eax, eax
je 0x1400133ff
movsx eax, byte [rsp + 0x25]
test eax, eax
je 0x1400133ff
mov dword [rsp + 0x154], 1
jmp 0x14001340a
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
mov dword [0x140074a64], eax
xor eax, eax
add rsp, 0x1b8
ret