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

Disassembly:
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x1d8
mov dword [rsp + 0x2c], 0x77
mov dword [rsp + 0x44], 0x9e
mov dword [rsp + 0x30], 0xb9
mov byte [rsp + 0x22], 0x55
mov byte [rsp + 0x23], 0x18
mov dword [rsp + 0x3c], 0x8f
mov dword [rsp + 0x4c], 0xb4
mov dword [rsp + 0x34], 0xb9
mov dword [rsp + 0x48], 0x69
mov dword [rsp + 0x50], 0xc8
mov dword [rsp + 0x40], 0x33
mov dword [rsp + 0x28], 0xb8
mov dword [rsp + 0x58], 0x6d
mov dword [rsp + 0x54], 0x7a
mov byte [rsp + 0x21], 0xb3
mov dword [rsp + 0x38], 0xb8
mov byte [rsp + 0x24], 0x89
mov byte [rsp + 0x20], 0x42
movzx eax, byte [rsp + 0x23]
movzx ecx, byte [0x14007d22c]
lea eax, [rax + rcx*2]
cdq
and eax, 1
xor eax, edx
sub eax, edx
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0
je 0x140028d13
cmp dword [rsp + 0x6c], 1
je 0x140028d60
cmp dword [rsp + 0x6c], 2
je 0x140028d7d
cmp dword [rsp + 0x6c], 3
je 0x140028db1
jmp 0x140028dc7
movsx eax, byte [0x14007d201]
xor eax, dword [rsp + 0x54]
mov ecx, dword [0x14007d220]
and ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
movsx eax, byte [0x14007d22e]
mov ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x50]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x3c]
xor edx, ecx
mov ecx, edx
sub eax, ecx
mov ecx, dword [0x14007d1fc]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
jmp 0x140028e11
movsx eax, byte [0x14007d201]
imul eax, dword [rsp + 0x28]
cdq
mov ecx, 3
idiv ecx
mov dword [rsp + 0x34], eax
jmp 0x140028e11
movzx eax, byte [0x14007d22c]
and eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d240]
or ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
movzx eax, byte [0x14007d21e]
mov ecx, dword [rsp + 0x44]
shl eax, cl
xor eax, dword [rsp + 0x34]
mov byte [0x14007d200], al
jmp 0x140028e11
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d230]
or ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
jmp 0x140028e11
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
shl eax, cl
mov ecx, dword [0x14007d210]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d22c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x14007d230]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
mov eax, dword [0x14007d208]
imul eax, dword [rsp + 0x2c]
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x58], eax
jne 0x140028e4b
mov dword [rsp + 0x94], 1
jmp 0x140028e56
mov dword [rsp + 0x94], 0
mov eax, dword [rsp + 0x94]
movzx ecx, al
mov eax, dword [0x14007d234]
shl eax, cl
mov byte [0x14007d22d], al
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x38], eax
jae 0x140028ed9
movsx eax, byte [rsp + 0x24]
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
cmp dword [0x14007d244], 0
je 0x140028eb0
cmp dword [rsp + 0x28], 0
je 0x140028eb0
mov dword [rsp + 0x98], 1
jmp 0x140028ebb
mov dword [rsp + 0x98], 0
mov eax, dword [rsp + 0x98]
mov dword [0x14007d20c], eax
movzx eax, byte [0x14007d22c]
add eax, dword [rsp + 0x28]
mov byte [0x14007d21c], al
mov dword [rsp + 0x88], 0xdf
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x88]
dec eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x1a0], 0
je 0x140028ffa
cmp dword [rsp + 0x38], 0
jne 0x140028f32
cmp dword [rsp + 0x2c], 0
je 0x140028f25
cmp dword [rsp + 0x38], 0
jne 0x140028f32
mov dword [rsp + 0x9c], 0
jmp 0x140028f3d
mov dword [rsp + 0x9c], 1
movzx eax, byte [0x14007d22c]
add eax, dword [rsp + 0x9c]
movsx ecx, byte [0x14007d21d]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21d], al
movsx eax, byte [0x14007d22f]
test eax, eax
jne 0x140028f91
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
shl eax, cl
or eax, dword [0x14007d230]
test eax, eax
jne 0x140028f91
mov dword [rsp + 0xa0], 0
jmp 0x140028f9c
mov dword [rsp + 0xa0], 1
mov eax, dword [rsp + 0xa0]
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movzx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x58]
shl eax, cl
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
mov eax, dword [rsp + 0x34]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [0x14007d244]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
jmp 0x140028ee4
mov eax, dword [0x14007d224]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0x1a4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
je 0x14002904e
cmp dword [rsp + 0x70], 1
je 0x140029081
cmp dword [rsp + 0x70], 2
je 0x1400290fb
cmp dword [rsp + 0x70], 3
je 0x140029124
jmp 0x140029165
movsx eax, byte [0x14007d201]
movzx ecx, byte [rsp + 0x20]
mov edx, dword [rsp + 0x44]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x30]
or edx, ecx
mov ecx, edx
add eax, ecx
mov ecx, dword [0x14007d23c]
and ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
jmp 0x1400291a5
movzx eax, byte [rsp + 0x23]
movsx ecx, byte [rsp + 0x24]
add eax, ecx
mov ecx, dword [rsp + 0x54]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
add ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movsx eax, byte [0x14007d21d]
cmp dword [rsp + 0x30], eax
jne 0x1400290bf
mov dword [rsp + 0xa4], 1
jmp 0x1400290ca
mov dword [rsp + 0xa4], 0
mov eax, dword [rsp + 0x4c]
mov ecx, dword [0x14007d250]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
add eax, ecx
or eax, dword [rsp + 0xa4]
mov ecx, dword [0x14007d208]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d208], eax
jmp 0x1400291a5
movzx eax, byte [0x14007d21e]
cmp eax, dword [rsp + 0x2c]
jne 0x14002910f
mov byte [rsp + 0x5c], 1
jmp 0x140029114
mov byte [rsp + 0x5c], 0
movzx eax, byte [rsp + 0x5c]
mov byte [0x14007d21c], al
jmp 0x1400291a5
cmp dword [0x14007d23c], 0
jne 0x140029141
cmp dword [rsp + 0x44], 0
jne 0x140029141
mov dword [rsp + 0xa8], 0
jmp 0x14002914c
mov dword [rsp + 0xa8], 1
mov eax, dword [rsp + 0xa8]
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
jmp 0x1400291a5
movzx eax, byte [rsp + 0x23]
mov ecx, dword [rsp + 0x54]
shl eax, cl
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
movsx eax, byte [0x14007d22d]
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x2c]
and edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d254]
or ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
movsx eax, byte [0x14007d25c]
test eax, eax
jne 0x1400291d7
movsx eax, byte [rsp + 0x22]
add eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x28]
test eax, eax
jne 0x1400291d7
cmp dword [0x14007d218], 0
jne 0x1400291d7
mov dword [rsp + 0xac], 0
jmp 0x1400291e2
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov ecx, dword [0x14007d1fc]
and ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movsx eax, byte [rsp + 0x21]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [0x14007d254]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0xf1
mov word [rsp + 0x68], ax
movsx eax, word [rsp + 0x68]
mov dword [rsp + 0x1a8], eax
movzx eax, word [rsp + 0x68]
dec ax
mov word [rsp + 0x68], ax
cmp dword [rsp + 0x1a8], 0
je 0x140029291
mov eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shr eax, cl
cmp eax, dword [rsp + 0x40]
jne 0x140029264
mov dword [rsp + 0xb0], 1
jmp 0x14002926f
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
mov ecx, dword [0x14007d248]
and ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d21f]
or eax, ecx
mov dword [0x14007d234], eax
jmp 0x140029221
movzx eax, byte [0x14007d21e]
movsx ecx, byte [rsp + 0x22]
add eax, ecx
and eax, dword [rsp + 0x54]
mov dword [0x14007d1fc], eax
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x48], eax
jne 0x1400293ce
movsx eax, byte [rsp + 0x21]
movsx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x1400292d2
mov dword [rsp + 0xb4], 1
jmp 0x1400292dd
mov dword [rsp + 0xb4], 0
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0xb4]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d248]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d220]
sar eax, cl
mov ecx, dword [0x14007d220]
or ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x48], eax
jne 0x140029344
mov dword [rsp + 0xb8], 1
jmp 0x14002934f
mov dword [rsp + 0xb8], 0
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d20c]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140029384
movzx eax, byte [0x14007d21f]
test eax, eax
je 0x140029384
mov dword [rsp + 0xbc], 1
jmp 0x14002938f
mov dword [rsp + 0xbc], 0
mov eax, dword [rsp + 0xbc]
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [0x14007d220]
sar eax, cl
movsx ecx, byte [rsp + 0x24]
sar eax, cl
movsx ecx, byte [0x14007d25c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
movsx eax, byte [rsp + 0x21]
movsx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x1400293e9
mov dword [rsp + 0xc4], 1
jmp 0x1400293f4
mov dword [rsp + 0xc4], 0
movzx eax, byte [rsp + 0x20]
cmp eax, dword [0x14007d208]
jne 0x14002940e
mov dword [rsp + 0xc0], 1
jmp 0x140029419
mov dword [rsp + 0xc0], 0
mov eax, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d224]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d200]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d200], al
cmp dword [rsp + 0x58], 0
jne 0x140029465
movzx eax, byte [rsp + 0x23]
cmp eax, dword [rsp + 0x28]
je 0x140029465
mov dword [rsp + 0xc8], 0
jmp 0x140029470
mov dword [rsp + 0xc8], 1
movsx eax, byte [0x14007d22d]
mov ecx, dword [rsp + 0xc8]
shl eax, cl
movzx ecx, byte [0x14007d202]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d202], al
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x1ac], ecx
mov edx, dword [rsp + 0x3c]
movzx ecx, dl
mov edx, dword [rsp + 0x1ac]
shl edx, cl
mov ecx, edx
xor ecx, dword [0x14007d210]
or eax, ecx
mov ecx, dword [0x14007d214]
and ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d21d]
test eax, eax
jne 0x1400294ee
cmp dword [rsp + 0x40], 0
jne 0x1400294ee
mov byte [rsp + 0x5d], 0
jmp 0x1400294f3
mov byte [rsp + 0x5d], 1
movzx eax, byte [rsp + 0x5d]
mov byte [0x14007d200], al
call qword [sym.imp.KERNEL32.dll_UnregisterApplicationRestart]
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d220]
lea eax, [rax + rcx*2]
cdq
mov ecx, 0xa
idiv ecx
mov eax, edx
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x140029552
cmp dword [rsp + 0x74], 1
je 0x140029574
cmp dword [rsp + 0x74], 2
je 0x1400295be
cmp dword [rsp + 0x74], 3
je 0x140029652
jmp 0x140029693
xor edx, edx
mov eax, dword [rsp + 0x4c]
mov ecx, 3
div ecx
mov eax, edx
mov ecx, dword [0x14007d230]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
jmp 0x140029736
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d20c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400295a9
movsx eax, byte [0x14007d25c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
sar eax, cl
test eax, eax
jne 0x1400295a9
mov byte [rsp + 0x5e], 0
jmp 0x1400295ae
mov byte [rsp + 0x5e], 1
movzx eax, byte [rsp + 0x5e]
mov byte [0x14007d22f], al
jmp 0x140029736
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d24c]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400295e6
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x1400295e6
mov dword [rsp + 0xcc], 0
jmp 0x1400295f1
mov dword [rsp + 0xcc], 1
movzx eax, byte [0x14007d202]
xor eax, dword [rsp + 0xcc]
mov byte [0x14007d202], al
mov eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [rsp + 0x4c]
shl eax, cl
cmp dword [0x14007d24c], eax
jne 0x140029627
mov dword [rsp + 0xd0], 1
jmp 0x140029632
mov dword [rsp + 0xd0], 0
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0xd0]
and ecx, eax
mov eax, ecx
and eax, dword [0x14007d20c]
mov byte [0x14007d21c], al
jmp 0x140029736
movzx eax, byte [rsp + 0x23]
cmp dword [0x14007d224], eax
jne 0x14002966c
mov dword [rsp + 0xd4], 1
jmp 0x140029677
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
jmp 0x140029736
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d208]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d208], eax
cmp dword [rsp + 0x38], 0
jne 0x1400296d5
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400296d5
mov dword [rsp + 0xd8], 0
jmp 0x1400296e0
mov dword [rsp + 0xd8], 1
mov eax, dword [rsp + 0xd8]
cmp dword [0x14007d218], eax
jne 0x1400296fc
mov dword [rsp + 0xdc], 1
jmp 0x140029707
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
mov ecx, dword [0x14007d214]
add ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
mov eax, dword [0x14007d1fc]
imul eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 3
div ecx
mov dword [rsp + 0x2c], eax
movzx eax, byte [rsp + 0x20]
cmp dword [rsp + 0x50], eax
je 0x14002974e
mov dword [rsp + 0xe0], 1
jmp 0x140029759
mov dword [rsp + 0xe0], 0
mov eax, dword [0x14007d248]
cmp dword [rsp + 0xe0], eax
jne 0x140029992
movsx eax, byte [0x14007d201]
add eax, dword [rsp + 0x28]
movzx ecx, byte [0x14007d21f]
or ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movsx eax, byte [0x14007d22d]
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x34]
sub edx, ecx
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x14007d21e]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x14007d24c]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0x2c]
test eax, eax
jne 0x1400297df
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x1400297d8
movzx eax, byte [0x14007d21e]
test eax, eax
jne 0x1400297df
mov byte [rsp + 0x5f], 0
jmp 0x1400297e4
mov byte [rsp + 0x5f], 1
movzx eax, byte [rsp + 0x5f]
mov byte [0x14007d202], al
mov eax, dword [rsp + 0x44]
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x58]
shl eax, cl
movsx ecx, byte [0x14007d21d]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21d], al
movsx eax, byte [0x14007d200]
add eax, dword [rsp + 0x3c]
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d22e]
movsx ecx, byte [rsp + 0x22]
mov edx, dword [rsp + 0x28]
add edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x4c]
shr edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x140029852
mov dword [rsp + 0xe4], 1
jmp 0x14002985d
mov dword [rsp + 0xe4], 0
movsx eax, byte [0x14007d200]
or eax, dword [rsp + 0xe4]
mov byte [0x14007d200], al
movsx eax, byte [0x14007d200]
mov dword [rsp + 0x1b4], eax
xor edx, edx
mov eax, dword [rsp + 0x40]
mov ecx, 5
div ecx
mov ecx, dword [rsp + 0x1b4]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
mov eax, dword [0x14007d220]
imul eax, dword [rsp + 0x40]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [0x14007d204]
shl eax, cl
test eax, eax
jne 0x1400298dc
cmp dword [rsp + 0x38], 0
jne 0x1400298dc
mov dword [rsp + 0xe8], 0
jmp 0x1400298e7
mov dword [rsp + 0xe8], 1
movsx eax, byte [0x14007d200]
or eax, dword [rsp + 0xe8]
mov byte [0x14007d200], al
cmp dword [0x14007d248], 0
je 0x14002991e
movzx eax, byte [rsp + 0x20]
or eax, dword [rsp + 0x3c]
test eax, eax
je 0x14002991e
mov dword [rsp + 0xec], 1
jmp 0x140029929
mov dword [rsp + 0xec], 0
mov eax, dword [rsp + 0xec]
mov ecx, dword [0x14007d258]
or ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x140029965
cmp dword [rsp + 0x40], 0
jne 0x140029965
mov dword [rsp + 0xf0], 0
jmp 0x140029970
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0xf0]
movzx ecx, al
mov eax, dword [0x14007d250]
shl eax, cl
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [0x14007d22f]
sub eax, dword [rsp + 0x58]
mov ecx, dword [0x14007d23c]
and ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
movsx eax, byte [0x14007d200]
sub eax, dword [rsp + 0x4c]
test eax, eax
jne 0x1400299e0
mov eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [rsp + 0x4c]
shl eax, cl
and eax, dword [0x14007d254]
test eax, eax
jne 0x1400299e0
mov dword [rsp + 0xf4], 0
jmp 0x1400299eb
mov dword [rsp + 0xf4], 1
movsx eax, byte [0x14007d22e]
or eax, dword [rsp + 0xf4]
mov byte [0x14007d22e], al
movzx eax, byte [0x14007d21e]
movzx ecx, byte [rsp + 0x20]
movzx edx, byte [rsp + 0x23]
mov r8d, dword [rsp + 0x30]
add r8d, edx
mov edx, r8d
and ecx, edx
cmp eax, ecx
jne 0x140029a2e
mov dword [rsp + 0xf8], 1
jmp 0x140029a39
mov dword [rsp + 0xf8], 0
mov eax, dword [rsp + 0xf8]
mov dword [0x14007d210], eax
mov eax, 0x4d
mov word [rsp + 0x64], ax
mov eax, 0x5c
mov word [rsp + 0x64], ax
jmp 0x140029a69
movzx eax, word [rsp + 0x64]
dec ax
mov word [rsp + 0x64], ax
movsx eax, word [rsp + 0x64]
cmp eax, 7
jle 0x140029acc
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d214]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
shr eax, cl
test eax, eax
je 0x140029aab
mov eax, dword [0x14007d214]
mov ecx, dword [rsp + 0x44]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140029aab
mov dword [rsp + 0xfc], 1
jmp 0x140029ab6
mov dword [rsp + 0xfc], 0
movsx eax, byte [0x14007d21d]
add eax, dword [rsp + 0xfc]
mov byte [0x14007d21d], al
jmp 0x140029a5c
movsx eax, byte [rsp + 0x22]
cmp eax, dword [rsp + 0x28]
jne 0x140029ae4
mov dword [rsp + 0x100], 1
jmp 0x140029aef
mov dword [rsp + 0x100], 0
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x100]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d23c]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
cmp dword [0x14007d230], 0
je 0x140029cb9
mov eax, dword [0x14007d204]
cmp dword [rsp + 0x4c], eax
jbe 0x140029b3e
mov dword [rsp + 0x104], 1
jmp 0x140029b49
mov dword [rsp + 0x104], 0
mov eax, dword [rsp + 0x104]
cmp dword [rsp + 0x3c], eax
jne 0x140029b63
mov dword [rsp + 0x108], 1
jmp 0x140029b6e
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x108], eax
jne 0x140029cb9
movsx eax, byte [rsp + 0x21]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
cmp dword [0x14007d24c], eax
jne 0x140029bbd
mov dword [rsp + 0x10c], 1
jmp 0x140029bc8
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
mov ecx, dword [0x14007d254]
and ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x3c], eax
jne 0x140029bf6
mov dword [rsp + 0x110], 1
jmp 0x140029c01
mov dword [rsp + 0x110], 0
mov eax, dword [rsp + 0x110]
mov ecx, dword [0x14007d224]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x140029c35
mov eax, dword [0x14007d23c]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x140029c35
mov dword [rsp + 0x114], 0
jmp 0x140029c40
mov dword [rsp + 0x114], 1
mov eax, dword [rsp + 0x114]
mov dword [0x14007d248], eax
mov eax, dword [rsp + 0x28]
cmp dword [0x14007d210], eax
jne 0x140029c66
mov dword [rsp + 0x118], 1
jmp 0x140029c71
mov dword [rsp + 0x118], 0
movsx eax, byte [rsp + 0x21]
cmp dword [rsp + 0x118], eax
jne 0x140029c8c
mov dword [rsp + 0x11c], 1
jmp 0x140029c97
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x11c]
mov dword [0x14007d210], eax
mov eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [0x14007d218]
sar eax, cl
mov dword [0x14007d230], eax
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
sar eax, cl
movzx ecx, byte [rsp + 0x23]
cmp eax, ecx
jne 0x140029cda
mov dword [rsp + 0x120], 1
jmp 0x140029ce5
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
mov ecx, dword [0x14007d1fc]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
add ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x21]
shl eax, cl
movsx ecx, byte [0x14007d203]
or ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
movsx eax, byte [0x14007d201]
add eax, dword [rsp + 0x48]
test eax, eax
je 0x140029d79
movzx eax, byte [0x14007d21e]
cmp dword [rsp + 0x58], eax
jne 0x140029d4e
mov dword [rsp + 0x124], 1
jmp 0x140029d59
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x40]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140029d79
mov dword [rsp + 0x128], 1
jmp 0x140029d84
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x128]
mov ecx, dword [0x14007d240]
and ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
movsx eax, byte [0x14007d21c]
cmp eax, dword [rsp + 0x3c]
je 0x140029db5
mov dword [rsp + 0x130], 1
jmp 0x140029dc0
mov dword [rsp + 0x130], 0
movzx eax, byte [rsp + 0x20]
cmp eax, dword [0x14007d23c]
je 0x140029dda
mov dword [rsp + 0x12c], 1
jmp 0x140029de5
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
cmp dword [rsp + 0x130], eax
je 0x140029e02
mov dword [rsp + 0x134], 1
jmp 0x140029e0d
mov dword [rsp + 0x134], 0
movsx eax, byte [rsp + 0x24]
cmp dword [rsp + 0x134], eax
jne 0x140029eac
mov eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [rsp + 0x50]
shl eax, cl
cmp eax, dword [rsp + 0x2c]
jne 0x140029e3f
mov dword [rsp + 0x138], 1
jmp 0x140029e4a
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
cmp dword [0x14007d228], eax
jne 0x140029e66
mov dword [rsp + 0x13c], 1
jmp 0x140029e71
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x13c]
mov ecx, dword [0x14007d238]
add ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
movzx eax, byte [rsp + 0x20]
sub eax, dword [rsp + 0x44]
mov ecx, dword [0x14007d254]
and ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d22c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
mov dword [rsp + 0x78], 0x194
mov dword [rsp + 0x78], 0xc
jmp 0x140029ec8
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0x2e6
jae 0x140029fbe
cmp dword [0x14007d24c], 0
jne 0x140029f04
movsx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x34]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x140029f04
cmp dword [rsp + 0x28], 0
jne 0x140029f04
mov dword [rsp + 0x140], 0
jmp 0x140029f0f
mov dword [rsp + 0x140], 1
mov eax, dword [rsp + 0x140]
mov ecx, dword [0x14007d218]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
movsx eax, byte [0x14007d22f]
xor eax, dword [rsp + 0x30]
test eax, eax
je 0x140029f5a
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [rsp + 0x2c]
shl eax, cl
movsx ecx, byte [0x14007d22f]
cmp eax, ecx
jne 0x140029f5a
mov dword [rsp + 0x144], 1
jmp 0x140029f65
mov dword [rsp + 0x144], 0
movzx eax, byte [0x14007d21e]
or eax, dword [rsp + 0x144]
mov byte [0x14007d21e], al
movsx eax, byte [0x14007d203]
and eax, dword [rsp + 0x30]
or eax, dword [rsp + 0x50]
movsx ecx, byte [0x14007d21d]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21d], al
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x30]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
jmp 0x140029ebe
cmp dword [0x14007d208], 0
je 0x14002a014
movsx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
cmp eax, dword [0x14007d23c]
jne 0x140029fe9
mov dword [rsp + 0x148], 1
jmp 0x140029ff4
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x28]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a014
mov dword [rsp + 0x14c], 1
jmp 0x14002a01f
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x14c]
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
movsx eax, byte [0x14007d22f]
test eax, eax
jne 0x14002a05a
movsx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
test eax, eax
jne 0x14002a05a
mov byte [rsp + 0x60], 0
jmp 0x14002a05f
mov byte [rsp + 0x60], 1
movzx eax, byte [rsp + 0x60]
mov byte [0x14007d21e], al
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d214]
shl eax, cl
xor eax, dword [rsp + 0x44]
movzx ecx, byte [0x14007d21e]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
movsx eax, byte [0x14007d21c]
mov ecx, dword [rsp + 0x30]
lea eax, [rcx + rax*2]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov word [rsp + 0x84], ax
movsx eax, word [rsp + 0x84]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x14002a0e8
cmp dword [rsp + 0x7c], 1
je 0x14002a15f
cmp dword [rsp + 0x7c], 2
je 0x14002a1c7
cmp dword [rsp + 0x7c], 3
je 0x14002a1e7
jmp 0x14002a238
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
cmp dword [0x14007d20c], eax
jne 0x14002a109
mov dword [rsp + 0x154], 1
jmp 0x14002a114
mov dword [rsp + 0x154], 0
mov eax, dword [0x14007d250]
cmp dword [rsp + 0x4c], eax
jne 0x14002a12d
mov dword [rsp + 0x150], 1
jmp 0x14002a138
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
mov ecx, dword [rsp + 0x154]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d204]
and ecx, eax
mov eax, ecx
mov dword [0x14007d204], eax
jmp 0x14002a238
movsx eax, byte [0x14007d22f]
and eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
sub edx, ecx
mov ecx, edx
and ecx, dword [0x14007d218]
or eax, ecx
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d210]
sar eax, cl
movsx ecx, byte [rsp + 0x24]
mov edx, dword [rsp + 0x2c]
sub edx, ecx
mov ecx, edx
sar eax, cl
mov ecx, dword [0x14007d208]
sar eax, cl
movzx ecx, byte [0x14007d21e]
add ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
jmp 0x14002a238
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x14007d244]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d234]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
jmp 0x14002a238
movsx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a20c
cmp dword [rsp + 0x34], 0
je 0x14002a20c
mov dword [rsp + 0x158], 1
jmp 0x14002a217
mov dword [rsp + 0x158], 0
mov eax, dword [rsp + 0x158]
mov ecx, dword [0x14007d238]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [rsp + 0x24]
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movzx eax, byte [0x14007d22c]
test eax, eax
je 0x14002a294
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x22]
mov dword [rsp + 0x1b8], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x1b8]
sar edx, cl
mov ecx, edx
or eax, ecx
test eax, eax
je 0x14002a294
mov dword [rsp + 0x15c], 1
jmp 0x14002a29f
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x15c]
mov dword [0x14007d230], eax
movsx eax, byte [0x14007d200]
movsx ecx, byte [rsp + 0x21]
sar eax, cl
movzx ecx, byte [rsp + 0x23]
cmp eax, ecx
jne 0x14002a2d0
mov dword [rsp + 0x164], 1
jmp 0x14002a2db
mov dword [rsp + 0x164], 0
movsx eax, byte [0x14007d22e]
cmp dword [rsp + 0x50], eax
jne 0x14002a2f5
mov dword [rsp + 0x160], 1
jmp 0x14002a300
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
mov ecx, dword [rsp + 0x164]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
or ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
mov eax, dword [rsp + 0x30]
cmp dword [0x14007d234], eax
jne 0x14002a354
cmp dword [rsp + 0x34], 0
je 0x14002a354
mov eax, dword [0x14007d240]
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a354
mov dword [rsp + 0x168], 1
jmp 0x14002a35f
mov dword [rsp + 0x168], 0
movsx eax, byte [0x14007d200]
xor eax, dword [rsp + 0x168]
mov byte [0x14007d200], al
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x40], eax
jbe 0x14002a41a
movsx eax, byte [0x14007d25c]
movsx ecx, byte [rsp + 0x22]
movsx edx, byte [rsp + 0x21]
add ecx, edx
movzx edx, byte [rsp + 0x23]
sub ecx, edx
sar eax, cl
or eax, dword [0x14007d220]
mov dword [0x14007d208], eax
movzx eax, byte [0x14007d21f]
or eax, dword [rsp + 0x40]
movzx ecx, byte [rsp + 0x20]
xor ecx, dword [rsp + 0x40]
movzx edx, byte [0x14007d202]
xor ecx, edx
or eax, ecx
movzx ecx, byte [0x14007d21e]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
mov eax, dword [rsp + 0x28]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d228]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
movsx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
movzx ecx, byte [rsp + 0x23]
and eax, ecx
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
mov dword [0x14007d230], eax
call qword [sym.imp.KERNEL32.dll_FlushProcessWriteBuffers]
movzx eax, byte [rsp + 0x23]
cmp dword [rsp + 0x48], eax
jae 0x14002a4fe
mov eax, dword [0x14007d240]
imul eax, dword [rsp + 0x4c]
xor edx, edx
mov ecx, 4
div ecx
mov byte [rsp + 0x20], al
movsx eax, byte [0x14007d22f]
movzx ecx, byte [rsp + 0x23]
mov edx, dword [rsp + 0x44]
sub edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x38]
shl edx, cl
mov ecx, edx
sar eax, cl
movzx ecx, byte [0x14007d22c]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x38]
sar eax, cl
test eax, eax
jne 0x14002a499
cmp dword [rsp + 0x4c], 0
jne 0x14002a499
mov dword [rsp + 0x16c], 0
jmp 0x14002a4a4
mov dword [rsp + 0x16c], 1
mov eax, dword [rsp + 0x16c]
mov ecx, dword [0x14007d210]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d203]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
xor edx, edx
mov eax, dword [rsp + 0x54]
mov ecx, 3
div ecx
mov eax, edx
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14007d22e]
imul eax, dword [rsp + 0x58]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x28], eax
movsx eax, byte [0x14007d21d]
test eax, eax
je 0x14002a558
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [0x14007d22f]
cmp eax, ecx
jle 0x14002a526
mov dword [rsp + 0x170], 1
jmp 0x14002a531
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x170]
cmp dword [rsp + 0x40], eax
jne 0x14002a558
mov eax, dword [0x14007d228]
imul eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14007d22f]
imul eax, dword [rsp + 0x40]
xor edx, edx
mov ecx, 3
div ecx
mov dword [rsp + 0x48], eax
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d228]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov byte [rsp + 0x24], al
mov dword [rsp + 0x8c], 0x7b
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x1bc], eax
mov eax, dword [rsp + 0x8c]
dec eax
mov dword [rsp + 0x8c], eax
cmp dword [rsp + 0x1bc], 0
je 0x14002a632
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d250]
mov edx, dword [rsp + 0x54]
shr edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x14002a5e5
mov dword [rsp + 0x174], 1
jmp 0x14002a5f0
mov dword [rsp + 0x174], 0
movsx eax, byte [0x14007d22f]
sub eax, dword [rsp + 0x2c]
xor eax, dword [rsp + 0x174]
movzx ecx, byte [0x14007d22c]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
mov eax, dword [0x14007d204]
imul eax, dword [rsp + 0x2c]
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov byte [rsp + 0x24], al
jmp 0x14002a599
imul eax, dword [0x14007d204], 7
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 7
div ecx
mov eax, edx
mov dword [rsp + 0x1c0], eax
mov eax, dword [rsp + 0x1c0]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
je 0x14002a696
cmp dword [rsp + 0x80], 1
je 0x14002a6ae
cmp dword [rsp + 0x80], 2
je 0x14002a738
cmp dword [rsp + 0x80], 3
je 0x14002a7d3
jmp 0x14002a831
movzx eax, byte [0x14007d202]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
mov byte [0x14007d202], al
jmp 0x14002a868
movsx eax, byte [rsp + 0x22]
add eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shr eax, cl
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a6e6
movsx eax, byte [0x14007d21d]
test eax, eax
je 0x14002a6e6
mov dword [rsp + 0x178], 1
jmp 0x14002a6f1
mov dword [rsp + 0x178], 0
mov eax, dword [rsp + 0x178]
mov ecx, dword [0x14007d23c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x34]
xor ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x54]
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d22c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
jmp 0x14002a868
movsx eax, byte [0x14007d203]
movsx ecx, byte [rsp + 0x22]
movzx edx, byte [rsp + 0x20]
sub ecx, edx
shl eax, cl
cmp eax, dword [rsp + 0x54]
jne 0x14002a769
cmp dword [0x14007d208], 0
je 0x14002a769
mov dword [rsp + 0x17c], 1
jmp 0x14002a774
mov dword [rsp + 0x17c], 0
movsx eax, byte [0x14007d22d]
and eax, dword [rsp + 0x17c]
mov byte [0x14007d22d], al
movsx eax, byte [0x14007d200]
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x28]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x14002a7ac
mov dword [rsp + 0x180], 1
jmp 0x14002a7b7
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
jmp 0x14002a868
mov eax, dword [rsp + 0x34]
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x40], eax
jne 0x14002a804
mov dword [rsp + 0x184], 1
jmp 0x14002a80f
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x184]
or ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d230]
shl eax, cl
mov dword [0x14007d24c], eax
jmp 0x14002a868
cmp dword [0x14007d234], 0
je 0x14002a858
cmp dword [rsp + 0x2c], 0
jne 0x14002a851
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a858
mov byte [rsp + 0x61], 1
jmp 0x14002a85d
mov byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x61]
mov byte [0x14007d203], al
mov dword [rsp + 0x90], 0xffffffbb
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x1c4], eax
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x1c4], 0
je 0x14002a8ee
movsx eax, byte [rsp + 0x21]
test eax, eax
je 0x14002a8c1
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x30]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x14002a8c1
mov dword [rsp + 0x188], 1
jmp 0x14002a8cc
mov dword [rsp + 0x188], 0
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x188]
shl eax, cl
mov ecx, dword [0x14007d230]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d230], eax
jmp 0x14002a873
cmp dword [0x14007d1fc], 0
je 0x14002a90b
cmp dword [rsp + 0x58], 0
je 0x14002a90b
mov dword [rsp + 0x18c], 1
jmp 0x14002a916
mov dword [rsp + 0x18c], 0
movsx eax, byte [0x14007d22e]
add eax, dword [rsp + 0x18c]
mov byte [0x14007d22e], al
movzx eax, byte [0x14007d202]
mov dword [rsp + 0x1c8], eax
movzx ecx, byte [rsp + 0x20]
mov eax, ecx
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [rsp + 0x1c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x58]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x14002a97a
cmp dword [rsp + 0x38], 0
jne 0x14002a97a
mov dword [rsp + 0x190], 0
jmp 0x14002a985
mov dword [rsp + 0x190], 1
mov eax, dword [rsp + 0x190]
movzx ecx, al
mov eax, dword [0x14007d244]
shl eax, cl
movzx ecx, byte [0x14007d21f]
or ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movsx eax, byte [0x14007d203]
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x58]
and edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x44]
xor edx, ecx
mov ecx, edx
or eax, ecx
mov dword [0x14007d258], eax
movsx eax, byte [0x14007d201]
mov dword [rsp + 0x1cc], eax
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 4
div ecx
mov ecx, dword [rsp + 0x1cc]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movzx eax, byte [0x14007d202]
test eax, eax
je 0x14002aa1e
mov eax, dword [rsp + 0x4c]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shr eax, cl
test eax, eax
je 0x14002aa1e
mov dword [rsp + 0x194], 1
jmp 0x14002aa29
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
mov ecx, dword [0x14007d24c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movsx eax, byte [rsp + 0x22]
cmp eax, dword [rsp + 0x50]
jne 0x14002aa58
mov dword [rsp + 0x198], 1
jmp 0x14002aa63
mov dword [rsp + 0x198], 0
movsx eax, byte [0x14007d21c]
xor eax, dword [rsp + 0x198]
mov dword [0x14007d204], eax
movsx eax, byte [0x14007d21c]
mov edx, dword [0x14007d1fc]
mov ecx, eax
call fcn.14002aaa0
movzx eax, word [rsp + 0x40]
add rsp, 0x1d8
ret