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

Disassembly:
mov byte [rsp + 0x18], r8b
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
sub rsp, 0x148
mov dword [rsp + 0x1c], 0x459
mov dword [rsp + 0x10], 0x285
mov dword [rsp + 0x18], 0x113
mov byte [rsp], 0xc0
mov dword [rsp + 8], 0x280
mov dword [rsp + 0x14], 0x474
mov byte [rsp + 1], 0x24
mov byte [rsp + 2], 0x75
mov dword [rsp + 4], 0x38e
mov byte [rsp + 3], 0x63
mov dword [rsp + 0xc], 0x2e9
movzx eax, byte [0x140071a65]
movzx ecx, byte [rsp + 3]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov byte [rsp + 2], al
cmp dword [0x140071c64], 0
jne 0x140011845
movsx eax, byte [rsp]
movzx ecx, byte [rsp + 1]
sub eax, ecx
test eax, eax
je 0x14001183b
cmp dword [rsp + 0x14], 0
jne 0x140011845
mov dword [rsp + 0x54], 0
jmp 0x14001184d
mov dword [rsp + 0x54], 1
movzx eax, byte [0x140071c46]
add eax, dword [rsp + 0x54]
mov byte [0x140071c46], al
cmp dword [rsp + 0xc], 0
je 0x14001187a
movzx eax, byte [rsp + 1]
cmp dword [rsp + 0x10], eax
jne 0x14001187a
mov dword [rsp + 0x58], 1
jmp 0x140011882
mov dword [rsp + 0x58], 0
movsx eax, byte [0x140071a69]
sub eax, dword [rsp + 0x58]
mov ecx, dword [0x140071c68]
sub ecx, eax
mov eax, ecx
mov dword [0x140071c68], eax
mov eax, 0x7f
mov word [rsp + 0x28], ax
mov eax, 0x12
mov word [rsp + 0x28], ax
jmp 0x1400118c0
movzx eax, word [rsp + 0x28]
inc ax
mov word [rsp + 0x28], ax
movsx eax, word [rsp + 0x28]
cmp eax, 0xb00
jge 0x1400118e5
movzx eax, byte [0x140071a6b]
movsx ecx, byte [rsp]
and eax, ecx
and eax, dword [rsp + 0x14]
mov byte [0x140071a68], al
jmp 0x1400118b3
movsx eax, byte [0x140071c47]
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
shr edx, cl
mov ecx, edx
xor ecx, dword [rsp + 0x14]
or eax, ecx
movzx ecx, byte [0x140071c46]
add ecx, eax
mov eax, ecx
mov byte [0x140071c46], al
mov eax, dword [rsp + 0x1c]
mov ecx, dword [0x140071a6c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14]
shr eax, cl
movzx ecx, byte [0x140071a63]
mov edx, dword [rsp + 4]
shr edx, cl
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x140071b8e]
and ecx, eax
mov eax, ecx
mov byte [0x140071b8e], al
movsx eax, byte [0x140071a69]
mov ecx, dword [rsp + 8]
sar eax, cl
mov ecx, dword [0x140071c68]
or ecx, eax
mov eax, ecx
mov dword [0x140071c68], eax
movsx eax, byte [0x140071c50]
movzx ecx, byte [rsp + 3]
cmp eax, ecx
jne 0x14001197c
mov dword [rsp + 0x5c], 1
jmp 0x140011984
mov dword [rsp + 0x5c], 0
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x5c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400119b1
movsx eax, byte [0x140071a69]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400119b1
mov dword [rsp + 0x60], 0
jmp 0x1400119b9
mov dword [rsp + 0x60], 1
movsx eax, byte [0x140071c47]
or eax, dword [rsp + 0x60]
mov byte [0x140071c47], al
mov dword [rsp + 0x2c], 0x71
mov dword [rsp + 0x2c], 0x4b
jmp 0x1400119e6
mov eax, dword [rsp + 0x2c]
dec eax
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x2d
jle 0x140011b62
movsx eax, byte [rsp]
movsx ecx, byte [rsp]
cmp eax, ecx
jle 0x140011a3e
movsx eax, byte [rsp]
mov ecx, dword [rsp + 0xc]
sar eax, cl
movsx ecx, byte [rsp]
cmp eax, ecx
jne 0x140011a19
mov dword [rsp + 0x64], 1
jmp 0x140011a21
mov dword [rsp + 0x64], 0
movzx eax, byte [0x140071b8e]
mov ecx, dword [rsp + 0x64]
sar eax, cl
mov ecx, dword [0x140071c54]
or ecx, eax
mov eax, ecx
mov dword [0x140071c54], eax
movzx eax, byte [0x140071b8e]
movsx ecx, byte [rsp + 2]
imul eax, ecx
cdq
mov ecx, 3
idiv ecx
mov dword [rsp + 0xc], eax
movsx eax, byte [0x140071a62]
imul eax, dword [rsp + 0x10]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov byte [rsp + 1], al
movsx eax, byte [0x140071a66]
mov dword [rsp + 0x100], eax
movsx ecx, byte [rsp + 2]
mov eax, ecx
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [rsp + 0x100]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10], eax
movzx eax, byte [0x140071b8e]
movsx ecx, byte [rsp]
mov edx, dword [rsp + 0x14]
shr edx, cl
mov ecx, edx
or eax, ecx
mov ecx, dword [0x140071c6c]
sub ecx, eax
mov eax, ecx
mov dword [0x140071c6c], eax
movzx eax, byte [0x140071a6b]
test eax, eax
je 0x140011aff
mov eax, dword [rsp + 0x18]
movzx ecx, al
mov eax, dword [rsp + 4]
shr eax, cl
mov ecx, dword [rsp + 0x1c]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071c51]
and eax, ecx
test eax, eax
je 0x140011aff
mov dword [rsp + 0x68], 1
jmp 0x140011b07
mov dword [rsp + 0x68], 0
movsx eax, byte [0x140071a69]
or eax, dword [rsp + 0x68]
mov byte [0x140071a69], al
movsx eax, byte [0x140071c51]
and eax, dword [rsp + 4]
xor eax, dword [rsp + 4]
mov ecx, dword [0x140071c38]
add ecx, eax
mov eax, ecx
mov dword [0x140071c38], eax
movsx eax, byte [0x140071c51]
mov ecx, dword [rsp + 4]
mov edx, dword [rsp + 0x1c]
add edx, ecx
mov ecx, edx
or eax, ecx
movsx ecx, byte [0x140071a68]
and ecx, eax
mov eax, ecx
mov byte [0x140071a68], al
jmp 0x1400119dc
mov dword [rsp + 0x30], 0x142
mov dword [rsp + 0x30], 0x5b
jmp 0x140011b7e
mov eax, dword [rsp + 0x30]
dec eax
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0x22
jbe 0x140011c00
movzx eax, byte [rsp + 1]
test eax, eax
jne 0x140011ba6
cmp dword [rsp + 8], 0
jne 0x140011ba6
cmp dword [rsp + 0x10], 0
jne 0x140011ba6
mov dword [rsp + 0x6c], 0
jmp 0x140011bae
mov dword [rsp + 0x6c], 1
mov eax, dword [rsp + 0x6c]
mov ecx, dword [0x140071c64]
xor ecx, eax
mov eax, ecx
mov byte [0x140071a68], al
movsx eax, byte [0x140071b8f]
movzx ecx, byte [rsp + 1]
imul eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [rsp + 1], al
movzx eax, byte [rsp + 3]
mov ecx, dword [0x140071c48]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 4], eax
jmp 0x140011b74
movsx eax, byte [rsp + 2]
movsx ecx, byte [0x140071a66]
add eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov word [rsp + 0x50], ax
movsx eax, word [rsp + 0x50]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x140011c4b
cmp dword [rsp + 0x34], 1
je 0x140011c88
cmp dword [rsp + 0x34], 2
je 0x140011ca7
cmp dword [rsp + 0x34], 3
je 0x140011ce8
jmp 0x140011d17
movsx eax, byte [0x140071a68]
test eax, eax
je 0x140011c71
mov eax, dword [rsp + 4]
movzx ecx, al
mov eax, dword [rsp + 0x10]
sar eax, cl
test eax, eax
je 0x140011c71
mov dword [rsp + 0x70], 1
jmp 0x140011c79
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x70]
mov dword [0x140071c40], eax
jmp 0x140011d98
movsx eax, byte [rsp]
movsx ecx, byte [rsp]
shl eax, cl
mov ecx, dword [0x140071c30]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c54], eax
jmp 0x140011d98
cmp dword [rsp + 8], 0
jne 0x140011cc8
mov eax, dword [rsp + 4]
mov ecx, dword [rsp + 0x18]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x140011cc8
mov dword [rsp + 0x74], 0
jmp 0x140011cd0
mov dword [rsp + 0x74], 1
movsx eax, byte [0x140071c51]
mov ecx, dword [rsp + 0x74]
shl eax, cl
mov dword [0x140071c70], eax
jmp 0x140011d98
movsx eax, byte [0x140071a68]
mov dword [rsp + 0x104], eax
xor edx, edx
mov eax, dword [rsp + 0x14]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x104]
add ecx, eax
mov eax, ecx
mov byte [rsp + 3], al
jmp 0x140011d98
movsx eax, byte [0x140071c47]
or eax, dword [rsp + 0x1c]
mov dword [0x140071c40], eax
movzx eax, byte [0x140071c44]
test eax, eax
je 0x140011d44
cmp dword [rsp + 0xc], 0
je 0x140011d44
mov dword [rsp + 0x78], 1
jmp 0x140011d4c
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x78]
mov dword [0x140071c30], eax
movzx eax, byte [0x140071a65]
movzx ecx, byte [rsp + 1]
mov dword [rsp + 0x108], ecx
movsx edx, byte [rsp]
mov r8d, dword [rsp + 0x18]
movzx ecx, r8b
sar edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x108]
or edx, ecx
mov ecx, edx
sar eax, cl
movzx ecx, byte [0x140071a67]
and ecx, eax
mov eax, ecx
mov byte [0x140071a67], al
cmp dword [0x140071c54], 0
je 0x140011e0d
cmp dword [rsp + 4], 0
je 0x140011dbd
movsx eax, byte [0x140071a68]
test eax, eax
je 0x140011dbd
mov dword [rsp + 0x7c], 1
jmp 0x140011dc5
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 4], eax
jbe 0x140011ddc
mov dword [rsp + 0x80], 1
jmp 0x140011de7
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0x10]
cmp dword [rsp + 0x80], eax
jne 0x140011e0d
movzx eax, byte [0x140071a65]
mov ecx, dword [rsp + 0x18]
sar eax, cl
mov ecx, dword [rsp + 0xc]
sar eax, cl
mov byte [0x140071c51], al
movsx eax, byte [0x140071c50]
movsx ecx, byte [rsp]
mov edx, dword [rsp + 8]
sub edx, ecx
mov ecx, edx
or ecx, dword [rsp + 0x14]
and eax, ecx
movzx ecx, byte [0x140071c44]
or ecx, eax
mov eax, ecx
mov byte [0x140071c44], al
movsx eax, byte [0x140071c47]
mov ecx, dword [rsp + 0x18]
sar eax, cl
mov byte [0x140071b8f], al
movzx eax, byte [rsp + 1]
mov ecx, dword [0x140071c54]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x10], eax
movzx eax, byte [0x140071a6b]
test eax, eax
jne 0x140011e91
movzx eax, byte [rsp + 3]
movsx ecx, byte [rsp + 2]
xor eax, ecx
test eax, eax
jne 0x140011e91
mov dword [rsp + 0x84], 0
jmp 0x140011e9c
mov dword [rsp + 0x84], 1
movsx eax, byte [0x140071a69]
sub eax, dword [rsp + 0x84]
mov byte [0x140071a69], al
movsx eax, byte [rsp + 2]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [0x140071c60]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
movsx eax, byte [0x140071c47]
cmp eax, dword [rsp + 8]
jne 0x140011ee8
mov dword [rsp + 0x88], 1
jmp 0x140011ef3
mov dword [rsp + 0x88], 0
movsx eax, byte [0x140071a69]
add eax, dword [rsp + 0x88]
mov byte [0x140071a69], al
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x10]
sub ecx, eax
mov eax, ecx
and eax, dword [rsp + 8]
movzx ecx, byte [0x140071a65]
and eax, ecx
mov ecx, dword [0x140071a6c]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c60]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c60], eax
movsx eax, byte [0x140071a66]
mov dword [rsp + 0x10c], eax
movsx ecx, byte [rsp]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [rsp + 0x10c]
add ecx, eax
mov eax, ecx
mov byte [rsp], al
movzx eax, byte [0x140071c52]
movzx ecx, byte [rsp + 3]
cmp eax, ecx
jne 0x140011f81
mov dword [rsp + 0x90], 1
jmp 0x140011f8c
mov dword [rsp + 0x90], 0
movzx eax, byte [rsp + 1]
cmp eax, dword [rsp + 0xc]
jne 0x140011fa4
mov dword [rsp + 0x8c], 1
jmp 0x140011faf
mov dword [rsp + 0x8c], 0
mov eax, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x90]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071a66]
xor eax, ecx
movsx ecx, byte [0x140071a62]
and ecx, eax
mov eax, ecx
mov byte [0x140071a62], al
mov eax, dword [0x140071c70]
imul eax, dword [rsp + 0x18]
xor edx, edx
mov ecx, 3
div ecx
mov dword [rsp + 0xc], eax
movzx eax, byte [0x140071a65]
test eax, eax
je 0x14001201c
mov eax, dword [rsp + 0x14]
movzx ecx, al
mov eax, dword [rsp + 0x18]
shl eax, cl
test eax, eax
je 0x14001201c
mov dword [rsp + 0x94], 1
jmp 0x140012027
mov dword [rsp + 0x94], 0
mov eax, dword [rsp + 0x94]
mov dword [0x140071c40], eax
cmp dword [0x140071c54], 0
jne 0x14001204c
movsx eax, byte [rsp]
test eax, eax
jne 0x14001204c
mov byte [rsp + 0x20], 0
jmp 0x140012051
mov byte [rsp + 0x20], 1
movzx eax, byte [rsp + 0x20]
mov byte [0x140071a69], al
movsx eax, byte [rsp]
movzx ecx, byte [0x140071c44]
cmp eax, ecx
jne 0x140012078
mov dword [rsp + 0x98], 1
jmp 0x140012083
mov dword [rsp + 0x98], 0
movsx eax, byte [0x140071b8f]
movzx ecx, byte [rsp + 1]
sar eax, cl
movsx ecx, byte [rsp + 2]
and ecx, dword [rsp + 0x98]
or eax, ecx
mov dword [0x140071c4c], eax
movsx eax, byte [0x140071a62]
imul eax, dword [rsp + 4]
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 4], eax
movsx eax, byte [rsp + 2]
or eax, dword [rsp + 8]
or eax, dword [rsp + 8]
mov ecx, dword [0x140071c40]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x140071a63]
or ecx, eax
mov eax, ecx
mov byte [0x140071a63], al
movsx eax, byte [0x140071c50]
mov ecx, dword [rsp + 0x10]
sar eax, cl
mov ecx, dword [0x140071a6c]
xor ecx, eax
mov eax, ecx
mov dword [0x140071a6c], eax
movsx eax, byte [0x140071a68]
test eax, eax
je 0x140012123
movsx eax, byte [rsp]
test eax, eax
je 0x140012123
mov dword [rsp + 0x9c], 1
jmp 0x14001212e
mov dword [rsp + 0x9c], 0
movsx eax, byte [0x140071a62]
and eax, dword [rsp + 0x9c]
mov byte [0x140071a62], al
movsx eax, byte [rsp + 2]
movsx ecx, byte [rsp + 2]
and eax, ecx
mov ecx, dword [0x140071a6c]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x14001217b
movzx eax, byte [rsp + 1]
test eax, eax
jne 0x14001217b
cmp dword [0x140071c6c], 0
jne 0x14001217b
mov dword [rsp + 0xa0], 0
jmp 0x140012186
mov dword [rsp + 0xa0], 1
mov eax, dword [rsp + 0xa0]
mov ecx, dword [0x140071c68]
or ecx, eax
mov eax, ecx
mov dword [0x140071c68], eax
movsx eax, byte [rsp]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [0x140071c3c]
add ecx, eax
mov eax, ecx
mov byte [rsp], al
movzx eax, byte [0x140071a6b]
mov ecx, dword [rsp + 0xc]
sar eax, cl
test eax, eax
jne 0x1400121dd
cmp dword [rsp + 0x14], 0
jne 0x1400121dd
mov dword [rsp + 0xa4], 0
jmp 0x1400121e8
mov dword [rsp + 0xa4], 1
mov eax, dword [rsp + 0xa4]
mov dword [0x140071c40], eax
cmp dword [rsp + 4], 0
je 0x140012218
movzx eax, byte [rsp + 3]
mov ecx, dword [rsp + 0x10]
shl eax, cl
test eax, eax
je 0x140012218
mov dword [rsp + 0xa8], 1
jmp 0x140012223
mov dword [rsp + 0xa8], 0
mov eax, dword [rsp + 0xa8]
mov ecx, dword [0x140071c54]
and ecx, eax
mov eax, ecx
mov byte [0x140071c52], al
movsx eax, byte [0x140071b8f]
imul eax, eax, 5
mov ecx, dword [rsp + 0x18]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x140012292
cmp dword [rsp + 0x38], 1
je 0x1400122b6
cmp dword [rsp + 0x38], 2
je 0x140012312
cmp dword [rsp + 0x38], 3
je 0x14001233c
jmp 0x1400123cb
movzx eax, byte [0x140071b8e]
movzx ecx, byte [rsp + 3]
add eax, ecx
movsx ecx, byte [0x140071c47]
xor ecx, eax
mov eax, ecx
mov byte [0x140071c47], al
jmp 0x1400123cb
movsx eax, byte [0x140071a64]
movzx ecx, byte [rsp + 1]
mov edx, dword [rsp + 0x1c]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400122eb
mov eax, dword [0x140071c4c]
cmp dword [rsp + 0xc], eax
je 0x1400122eb
mov dword [rsp + 0xac], 0
jmp 0x1400122f6
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov ecx, dword [0x140071c68]
add ecx, eax
mov eax, ecx
mov dword [0x140071c68], eax
jmp 0x1400123cb
movsx eax, byte [0x140071c50]
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp + 0xc]
add edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x140071c40]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c40], eax
jmp 0x1400123cb
cmp dword [0x140071a6c], 0
jne 0x140012369
movsx eax, byte [rsp]
movzx ecx, byte [rsp + 3]
mov edx, dword [rsp + 8]
xor edx, ecx
mov ecx, edx
or eax, ecx
test eax, eax
jne 0x140012369
mov dword [rsp + 0xb0], 0
jmp 0x140012374
mov dword [rsp + 0xb0], 1
movzx eax, byte [0x140071a67]
sub eax, dword [rsp + 0xb0]
mov byte [0x140071a67], al
movzx eax, byte [0x140071c44]
test eax, eax
je 0x14001239c
movsx eax, byte [rsp + 2]
test eax, eax
jne 0x1400123bb
movsx eax, byte [rsp]
mov ecx, dword [0x140071c64]
mov edx, dword [rsp + 0xc]
add edx, ecx
mov ecx, edx
xor eax, ecx
test eax, eax
jne 0x1400123bb
mov byte [rsp + 0x21], 0
jmp 0x1400123c0
mov byte [rsp + 0x21], 1
movzx eax, byte [rsp + 0x21]
mov byte [0x140071a6a], al
movsx eax, byte [rsp + 2]
movzx ecx, byte [0x140071a65]
lea eax, [rax + rcx*2]
cdq
mov ecx, 7
idiv ecx
mov eax, edx
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
je 0x14001241f
cmp dword [rsp + 0x3c], 1
je 0x14001247b
cmp dword [rsp + 0x3c], 2
je 0x1400124ae
cmp dword [rsp + 0x3c], 3
je 0x140012506
jmp 0x14001255c
movsx eax, byte [0x140071a68]
mov ecx, dword [rsp + 0xc]
sar eax, cl
movsx ecx, byte [rsp + 2]
cmp eax, ecx
je 0x140012454
mov eax, dword [0x140071c6c]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x140012454
mov dword [rsp + 0xb4], 0
jmp 0x14001245f
mov dword [rsp + 0xb4], 1
mov eax, dword [rsp + 0xb4]
mov ecx, dword [0x140071c6c]
and ecx, eax
mov eax, ecx
mov dword [0x140071c6c], eax
jmp 0x14001259b
movzx eax, byte [rsp + 1]
movzx ecx, byte [rsp + 3]
and eax, ecx
mov ecx, dword [rsp + 0x10]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c38]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c64]
and ecx, eax
mov eax, ecx
mov dword [0x140071c64], eax
jmp 0x14001259b
movzx eax, byte [0x140071b8e]
mov dword [rsp + 0x118], eax
movzx ecx, byte [rsp + 1]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [rsp + 0x118]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10], eax
movzx eax, byte [0x140071c52]
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 0x14]
sub edx, ecx
mov ecx, edx
or eax, ecx
movzx ecx, byte [0x140071a67]
add ecx, eax
mov eax, ecx
mov byte [0x140071a67], al
jmp 0x14001259b
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 0x1c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c38]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14001253b
movsx eax, byte [rsp]
sub eax, dword [0x140071c68]
test eax, eax
je 0x14001253b
mov dword [rsp + 0xb8], 1
jmp 0x140012546
mov dword [rsp + 0xb8], 0
movsx eax, byte [0x140071a64]
and eax, dword [rsp + 0xb8]
mov byte [0x140071a64], al
jmp 0x14001259b
movsx eax, byte [0x140071c47]
movsx ecx, byte [rsp]
shl eax, cl
mov ecx, dword [rsp + 8]
sar eax, cl
mov dword [0x140071c40], eax
movsx eax, byte [rsp + 2]
mov ecx, dword [0x140071c60]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 3]
shr eax, cl
mov ecx, dword [0x140071c38]
and ecx, eax
mov eax, ecx
mov dword [0x140071c38], eax
movzx eax, byte [0x140071b8e]
test eax, eax
je 0x1400125d2
movsx eax, byte [rsp]
mov ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 0x1c]
add edx, ecx
mov ecx, edx
movsx edx, byte [0x140071c50]
add ecx, edx
shl eax, cl
test eax, eax
je 0x1400125d2
mov dword [rsp + 0xbc], 1
jmp 0x1400125dd
mov dword [rsp + 0xbc], 0
mov eax, dword [rsp + 0xbc]
mov dword [0x140071a6c], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [0x140071c70]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c6c]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c6c], eax
cmp dword [0x140071c70], 0
je 0x140012625
cmp dword [rsp + 0x1c], 0
je 0x140012625
mov dword [rsp + 0xc0], 1
jmp 0x140012630
mov dword [rsp + 0xc0], 0
movzx eax, byte [0x140071c45]
or eax, dword [rsp + 0xc0]
mov byte [0x140071c45], al
movsx eax, byte [0x140071c50]
test eax, eax
je 0x14001269c
mov eax, dword [rsp + 4]
movzx ecx, al
mov eax, dword [rsp + 0x14]
shr eax, cl
cmp dword [rsp + 0x14], eax
jne 0x14001266f
mov dword [rsp + 0xc4], 1
jmp 0x14001267a
mov dword [rsp + 0xc4], 0
mov eax, dword [0x140071c68]
mov ecx, dword [rsp + 0xc4]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14001269c
mov dword [rsp + 0xc8], 1
jmp 0x1400126a7
mov dword [rsp + 0xc8], 0
mov eax, dword [rsp + 0xc8]
mov ecx, dword [0x140071c64]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c64], eax
movzx eax, byte [rsp + 1]
imul ecx, dword [0x140071c70], 7
add eax, ecx
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x140012712
cmp dword [rsp + 0x40], 1
je 0x140012741
cmp dword [rsp + 0x40], 2
je 0x1400127a7
cmp dword [rsp + 0x40], 3
je 0x1400127c9
jmp 0x140012830
cmp dword [0x140071c6c], 0
jne 0x14001272c
mov eax, dword [rsp + 0xc]
cmp dword [rsp + 0x18], eax
je 0x14001272c
mov byte [rsp + 0x22], 0
jmp 0x140012731
mov byte [rsp + 0x22], 1
movzx eax, byte [rsp + 0x22]
mov byte [0x140071c44], al
jmp 0x140012830
movsx eax, byte [0x140071a6a]
test eax, eax
jne 0x140012760
cmp dword [rsp + 8], 0
jne 0x140012760
mov dword [rsp + 0xcc], 0
jmp 0x14001276b
mov dword [rsp + 0xcc], 1
mov eax, dword [rsp + 0xcc]
mov ecx, dword [0x140071c38]
add ecx, eax
mov eax, ecx
mov dword [0x140071c38], eax
movzx eax, byte [0x140071a67]
movzx ecx, byte [rsp + 3]
add ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 8]
xor edx, ecx
mov ecx, edx
shl eax, cl
mov byte [0x140071c45], al
jmp 0x140012830
movsx eax, byte [0x140071a68]
or eax, dword [rsp + 8]
or eax, dword [rsp + 4]
movzx ecx, byte [0x140071c46]
sub ecx, eax
mov eax, ecx
mov byte [0x140071c46], al
jmp 0x140012830
mov eax, dword [0x140071c64]
imul eax, dword [rsp + 0x18]
xor edx, edx
mov ecx, 3
div ecx
mov byte [rsp + 3], al
movzx eax, byte [0x140071b8e]
sub eax, dword [rsp + 0x18]
cmp eax, dword [rsp + 4]
jne 0x1400127ff
mov dword [rsp + 0xd0], 1
jmp 0x14001280a
mov dword [rsp + 0xd0], 0
movsx eax, byte [rsp]
sub eax, dword [0x140071c70]
mov ecx, dword [rsp + 0xd0]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071a64]
xor ecx, eax
mov eax, ecx
mov byte [0x140071a64], al
movzx eax, byte [rsp + 1]
movsx ecx, byte [rsp + 2]
cmp eax, ecx
je 0x1400129a0
movsx eax, byte [rsp]
movzx ecx, byte [rsp + 1]
mov edx, dword [rsp + 0xc]
sub edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [0x140071c38]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140071a6b]
add ecx, eax
mov eax, ecx
mov byte [0x140071a6b], al
movsx eax, byte [rsp]
mov ecx, dword [0x140071c38]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x10], eax
movzx eax, byte [0x140071c45]
mov dword [rsp + 0x120], eax
movzx ecx, byte [rsp + 1]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x120]
add ecx, eax
mov eax, ecx
mov byte [rsp + 2], al
movzx eax, byte [0x140071c46]
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 0x1c]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x1400128e0
mov dword [rsp + 0xd4], 1
jmp 0x1400128eb
mov dword [rsp + 0xd4], 0
mov eax, dword [0x140071c54]
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd4]
and ecx, eax
mov eax, ecx
mov byte [0x140071a6b], al
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 0x14]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x14001292e
cmp dword [rsp + 8], 0
jne 0x14001292e
mov dword [rsp + 0xd8], 0
jmp 0x140012939
mov dword [rsp + 0xd8], 1
movzx eax, byte [0x140071b8e]
mov ecx, dword [rsp + 0xd8]
shl eax, cl
mov ecx, dword [0x140071c6c]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c6c], eax
cmp dword [rsp + 0x14], 0
je 0x14001297e
movzx eax, byte [rsp + 3]
mov ecx, dword [rsp + 0x1c]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x14001297e
mov dword [rsp + 0xdc], 1
jmp 0x140012989
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
mov ecx, dword [0x140071c40]
and ecx, eax
mov eax, ecx
mov dword [0x140071c60], eax
movzx eax, byte [0x140071a63]
mov ecx, dword [rsp + 0x10]
lea eax, [rcx + rax*2]
cdq
mov ecx, 9
idiv ecx
mov eax, edx
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x1400129f3
cmp dword [rsp + 0x44], 1
je 0x140012a47
cmp dword [rsp + 0x44], 2
je 0x140012a79
cmp dword [rsp + 0x44], 3
je 0x140012b24
jmp 0x140012b5e
cmp dword [rsp + 4], 0
jne 0x140012a15
cmp dword [rsp + 8], 0
je 0x140012a08
cmp dword [rsp + 4], 0
jne 0x140012a15
mov dword [rsp + 0xe0], 0
jmp 0x140012a20
mov dword [rsp + 0xe0], 1
mov eax, dword [rsp + 0xe0]
mov ecx, dword [0x140071a6c]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071a6a]
add ecx, eax
mov eax, ecx
mov byte [0x140071a6a], al
jmp 0x140012b5e
movsx eax, byte [rsp]
movzx ecx, byte [rsp + 1]
add eax, ecx
mov ecx, dword [rsp + 4]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c64]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c40]
xor ecx, eax
mov eax, ecx
mov dword [0x140071c40], eax
jmp 0x140012b5e
movsx eax, byte [0x140071a68]
movsx ecx, byte [rsp + 2]
movsx edx, byte [rsp]
sub ecx, edx
movzx edx, byte [rsp + 1]
add ecx, edx
mov dword [rsp + 0x128], ecx
movzx edx, byte [0x140071a67]
movzx ecx, dl
mov edx, dword [rsp + 0x128]
sar edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x140012ab9
mov byte [rsp + 0x23], 1
jmp 0x140012abe
mov byte [rsp + 0x23], 0
movzx eax, byte [rsp + 0x23]
mov byte [0x140071a6a], al
movsx eax, byte [rsp]
movzx ecx, al
mov eax, dword [0x140071c68]
shl eax, cl
test eax, eax
je 0x140012b03
movzx eax, byte [rsp + 3]
mov ecx, dword [rsp + 0x10]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071a6a]
and eax, ecx
test eax, eax
je 0x140012b03
mov dword [rsp + 0xe4], 1
jmp 0x140012b0e
mov dword [rsp + 0xe4], 0
movzx eax, byte [0x140071c44]
or eax, dword [rsp + 0xe4]
mov byte [0x140071c44], al
jmp 0x140012b5e
movzx eax, byte [rsp + 1]
mov ecx, dword [0x140071c40]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c68]
add ecx, eax
mov eax, ecx
mov dword [0x140071c68], eax
movsx eax, byte [rsp]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [0x140071c30]
add ecx, eax
mov eax, ecx
mov byte [rsp], al
movzx eax, byte [rsp + 1]
movzx ecx, al
mov eax, dword [rsp + 0x1c]
shl eax, cl
cmp eax, dword [rsp + 8]
jne 0x140012b7f
mov dword [rsp + 0xe8], 1
jmp 0x140012b8a
mov dword [rsp + 0xe8], 0
movsx eax, byte [0x140071c51]
or eax, dword [rsp + 0xe8]
test eax, eax
je 0x140012bb4
movsx eax, byte [0x140071c47]
test eax, eax
je 0x140012bb4
mov dword [rsp + 0xec], 1
jmp 0x140012bbf
mov dword [rsp + 0xec], 0
movsx eax, byte [0x140071a68]
sub eax, dword [rsp + 0xec]
mov byte [0x140071a68], al
movsx eax, byte [0x140071c51]
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov dword [0x140071c68], eax
cmp dword [0x140071c64], 0
je 0x140012c1c
movzx eax, byte [rsp + 1]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0xc]
shl eax, cl
cmp eax, dword [0x140071c64]
jne 0x140012c1c
mov byte [rsp + 0x24], 1
jmp 0x140012c21
mov byte [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [0x140071a6b], al
movzx eax, byte [0x140071a67]
movsx ecx, byte [rsp]
or eax, ecx
mov dword [0x140071c40], eax
movzx eax, byte [0x140071a67]
sub eax, dword [rsp + 0xc]
test eax, eax
je 0x140012c5d
movsx eax, byte [rsp]
test eax, eax
je 0x140012c5d
mov byte [rsp + 0x25], 1
jmp 0x140012c62
mov byte [rsp + 0x25], 0
movzx eax, byte [rsp + 0x25]
mov byte [0x140071a62], al
movsx eax, byte [rsp + 2]
mov ecx, dword [0x140071c4c]
lea eax, [rax + rcx*2]
xor edx, edx
mov ecx, 9
div ecx
mov eax, edx
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x140012cc1
cmp dword [rsp + 0x48], 1
je 0x140012cf0
cmp dword [rsp + 0x48], 2
je 0x140012d65
cmp dword [rsp + 0x48], 3
je 0x140012db0
jmp 0x140012e30
movzx eax, byte [0x140071c44]
mov dword [rsp + 0x130], eax
xor edx, edx
mov eax, dword [rsp + 0x1c]
mov ecx, 5
div ecx
mov ecx, dword [rsp + 0x130]
add ecx, eax
mov eax, ecx
mov byte [rsp + 1], al
jmp 0x140012e30
movsx eax, byte [0x140071a69]
mov ecx, dword [rsp + 0xc]
sar eax, cl
cmp eax, dword [rsp + 0xc]
jne 0x140012d10
mov dword [rsp + 0xf0], 1
jmp 0x140012d1b
mov dword [rsp + 0xf0], 0
movzx eax, byte [0x140071a67]
and eax, dword [rsp + 0xf0]
mov byte [0x140071a67], al
mov eax, dword [rsp + 0x1c]
mov ecx, dword [rsp + 0x18]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x14]
shl eax, cl
movzx ecx, al
mov eax, dword [0x140071c38]
shr eax, cl
movzx ecx, byte [0x140071c44]
sub ecx, eax
mov eax, ecx
mov byte [0x140071c44], al
jmp 0x140012e30
movzx eax, byte [0x140071c45]
movzx ecx, byte [rsp + 3]
or eax, ecx
movzx ecx, byte [0x140071a67]
and ecx, eax
mov eax, ecx
mov byte [0x140071a67], al
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140071c30]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071b8f]
and ecx, eax
mov eax, ecx
mov byte [0x140071b8f], al
jmp 0x140012e30
movsx eax, byte [0x140071a69]
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x10]
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [rsp + 0x134]
add ecx, eax
mov eax, ecx
mov byte [rsp], al
movsx eax, byte [0x140071c50]
test eax, eax
jne 0x140012e11
cmp dword [rsp + 0x10], 0
jne 0x140012e11
movzx eax, byte [rsp + 3]
mov ecx, dword [rsp + 0x18]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x140071a62]
and eax, ecx
test eax, eax
jne 0x140012e11
mov dword [rsp + 0xf4], 0
jmp 0x140012e1c
mov dword [rsp + 0xf4], 1
movsx eax, byte [0x140071a62]
add eax, dword [rsp + 0xf4]
mov byte [0x140071a62], al
mov dword [rsp + 0x4c], 0x186
mov dword [rsp + 0x4c], 0
jmp 0x140012e4c
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0x1103
jge 0x140012ea7
movsx eax, byte [rsp + 2]
test eax, eax
je 0x140012e7a
cmp dword [rsp + 0x18], 0
je 0x140012e7a
cmp dword [rsp + 4], 0
je 0x140012e7a
mov dword [rsp + 0xf8], 1
jmp 0x140012e85
mov dword [rsp + 0xf8], 0
movsx eax, byte [0x140071c47]
mov ecx, dword [rsp + 0xf8]
shl eax, cl
mov ecx, dword [0x140071c70]
and ecx, eax
mov eax, ecx
mov dword [0x140071c70], eax
jmp 0x140012e42
movzx eax, byte [0x140071c44]
test eax, eax
jne 0x140012ec7
movsx eax, byte [rsp]
test eax, eax
jne 0x140012ec7
mov dword [rsp + 0xfc], 0
jmp 0x140012ed2
mov dword [rsp + 0xfc], 1
mov eax, dword [rsp + 0xfc]
mov ecx, dword [0x140071c64]
sub ecx, eax
mov eax, ecx
mov dword [0x140071c64], eax
movsx eax, byte [rsp + 2]
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [0x140071c3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x10], eax
movzx eax, byte [0x140071a65]
movsx ecx, byte [rsp]
mov edx, dword [rsp + 0x18]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 8]
shr edx, cl
mov ecx, edx
xor eax, ecx
or eax, dword [0x140071c4c]
mov ecx, dword [0x140071c4c]
add ecx, eax
mov eax, ecx
mov dword [0x140071c4c], eax
movsx eax, byte [rsp + 2]
add rsp, 0x148
ret