Function at 0x140050580
Capabilities:
Identify system language via api

Disassembly:
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
sub rsp, 0x1c8
mov byte [rsp + 0x20], 0x10
mov byte [rsp + 0x22], 1
mov dword [rsp + 0x28], 0xe
mov dword [rsp + 0x3c], 5
mov dword [rsp + 0x24], 4
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x40], 0x12
mov dword [rsp + 0x2c], 3
mov byte [rsp + 0x21], 0xf
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x34], 6
movzx eax, byte [0x140074c8b]
imul eax, eax, 7
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 6
div ecx
mov eax, edx
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x18c]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x14005063a
cmp dword [rsp + 0x50], 1
je 0x1400506d5
cmp dword [rsp + 0x50], 2
je 0x1400506f9
cmp dword [rsp + 0x50], 3
je 0x14005076d
jmp 0x1400507ce
cmp dword [0x140074c80], 0
je 0x14005066c
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x21]
add eax, ecx
mov ecx, dword [rsp + 0x38]
shl eax, cl
movsx ecx, byte [0x140074a62]
xor eax, ecx
test eax, eax
je 0x14005066c
mov dword [rsp + 0x70], 1
jmp 0x140050674
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x70]
mov ecx, dword [0x140074c2c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c2c], eax
mov eax, dword [rsp + 0x24]
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
test eax, eax
je 0x1400506aa
cmp dword [rsp + 0x28], 0
je 0x1400506aa
mov dword [rsp + 0x74], 1
jmp 0x1400506b2
mov dword [rsp + 0x74], 0
movsx eax, byte [0x140074c5d]
mov ecx, dword [rsp + 0x74]
sar eax, cl
movsx ecx, byte [0x140074c6f]
or ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
jmp 0x1400508e3
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x140074c70]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x140074c5d]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5d], al
jmp 0x1400508e3
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x140074c70]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x22]
add eax, ecx
movsx ecx, byte [0x140074c6f]
sub ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
movzx eax, byte [0x140074c5f]
test eax, eax
jne 0x14005074c
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x21]
shl eax, cl
test eax, eax
jne 0x14005074c
mov dword [rsp + 0x78], 0
jmp 0x140050754
mov dword [rsp + 0x78], 1
mov eax, dword [rsp + 0x78]
mov ecx, dword [0x140074a6c]
sub ecx, eax
mov eax, ecx
mov dword [0x140074a6c], eax
jmp 0x1400508e3
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x2c], eax
jne 0x140050789
mov dword [rsp + 0x7c], 1
jmp 0x140050791
mov dword [rsp + 0x7c], 0
mov eax, dword [0x140074a64]
cmp dword [rsp + 0x7c], eax
jne 0x1400507aa
mov dword [rsp + 0x80], 1
jmp 0x1400507b5
mov dword [rsp + 0x80], 0
movsx eax, byte [0x140074c5e]
and eax, dword [rsp + 0x80]
mov byte [0x140074c5f], al
jmp 0x1400508e3
cmp dword [0x140074c4c], 0
jne 0x1400507f8
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x22]
sub ecx, dword [rsp + 0x28]
sar eax, cl
test eax, eax
jne 0x1400507f8
mov dword [rsp + 0x84], 0
jmp 0x140050803
mov dword [rsp + 0x84], 1
mov eax, dword [rsp + 0x84]
mov ecx, dword [0x140074c3c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c3c], eax
cmp dword [0x140074c48], 0
je 0x14005086c
movsx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shl eax, cl
cmp eax, dword [rsp + 0x38]
jne 0x140050844
mov dword [rsp + 0x88], 1
jmp 0x14005084f
mov dword [rsp + 0x88], 0
movsx eax, byte [0x140074a62]
cmp dword [rsp + 0x88], eax
jne 0x14005086c
mov dword [rsp + 0x8c], 1
jmp 0x140050877
mov dword [rsp + 0x8c], 0
mov eax, dword [rsp + 0x8c]
mov ecx, dword [0x140074c74]
and ecx, eax
mov eax, ecx
mov dword [0x140074c74], eax
movsx eax, byte [0x140074a62]
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x24]
add edx, ecx
mov ecx, edx
and eax, ecx
or eax, dword [rsp + 0x28]
test eax, eax
jne 0x1400508c1
cmp dword [0x140074c68], 0
jne 0x1400508c1
mov dword [rsp + 0x90], 0
jmp 0x1400508cc
mov dword [rsp + 0x90], 1
mov eax, dword [rsp + 0x90]
mov ecx, dword [0x140074c30]
and ecx, eax
mov eax, ecx
mov dword [0x140074c30], eax
mov eax, dword [rsp + 0x34]
cmp dword [0x140074c60], eax
jne 0x1400508fc
mov dword [rsp + 0x94], 1
jmp 0x140050907
mov dword [rsp + 0x94], 0
mov eax, dword [rsp + 0x94]
mov ecx, dword [0x140074c68]
and ecx, eax
mov eax, ecx
mov dword [0x140074c68], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x140074c3c]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [0x140074c6e]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c6e], al
cmp dword [0x140074c50], 0
jne 0x14005095a
cmp dword [rsp + 0x34], 0
jne 0x14005095a
mov dword [rsp + 0x98], 0
jmp 0x140050965
mov dword [rsp + 0x98], 1
movsx eax, byte [0x140074c6f]
or eax, dword [rsp + 0x98]
mov byte [0x140074c6f], al
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x2c], eax
jne 0x140050990
mov dword [rsp + 0x9c], 1
jmp 0x14005099b
mov dword [rsp + 0x9c], 0
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x9c]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c54]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c74]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c74], eax
movsx eax, byte [0x140074c5e]
mov ecx, dword [rsp + 0x3c]
lea eax, [rcx + rax*2]
xor edx, edx
mov ecx, 2
div ecx
mov eax, edx
mov word [rsp + 0x64], ax
movsx eax, word [rsp + 0x64]
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0
je 0x140050a18
cmp dword [rsp + 0x54], 1
je 0x140050a87
cmp dword [rsp + 0x54], 2
je 0x140050ad6
cmp dword [rsp + 0x54], 3
je 0x140050b20
jmp 0x140050b57
movzx eax, byte [0x140074c6d]
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x24]
sub edx, ecx
mov ecx, edx
mov dword [rsp + 0x190], ecx
mov edx, dword [rsp + 0x38]
movzx ecx, dl
mov edx, dword [rsp + 0x190]
shl edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x140050a55
mov dword [rsp + 0xa0], 1
jmp 0x140050a60
mov dword [rsp + 0xa0], 0
movsx eax, byte [0x140074c5e]
mov ecx, dword [rsp + 0xa0]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c28]
and ecx, eax
mov eax, ecx
mov dword [0x140074c28], eax
jmp 0x140050b57
mov eax, dword [rsp + 0x24]
movzx ecx, al
mov eax, dword [0x140074c60]
shr eax, cl
movsx ecx, byte [0x140074c5e]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5e], al
movzx eax, byte [0x140074c88]
mov dword [rsp + 0x194], eax
mov eax, dword [rsp + 0x34]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [rsp + 0x194]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
jmp 0x140050b57
movzx eax, byte [0x140074c5f]
mov ecx, dword [rsp + 0x30]
shl eax, cl
mov ecx, dword [rsp + 0x40]
sar eax, cl
mov dword [0x140074c38], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x140074c60]
xor ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x30]
movzx ecx, byte [rsp + 0x21]
add ecx, dword [0x140074a6c]
or eax, ecx
mov ecx, dword [0x140074c4c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
jmp 0x140050b57
movsx eax, byte [0x140074c6c]
test eax, eax
jne 0x140050b3f
cmp dword [rsp + 0x24], 0
jne 0x140050b3f
mov dword [rsp + 0xa4], 0
jmp 0x140050b4a
mov dword [rsp + 0xa4], 1
mov eax, dword [rsp + 0xa4]
mov dword [0x140074c48], eax
movzx eax, byte [0x140074c5c]
movzx ecx, byte [rsp + 0x21]
sub eax, ecx
mov ecx, dword [0x140074c30]
or ecx, eax
mov eax, ecx
mov dword [0x140074c30], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
mov ecx, 5
div ecx
mov ecx, dword [0x140074c84]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movzx eax, byte [0x140074c5f]
movzx ecx, byte [rsp + 0x21]
imul eax, ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov dword [rsp + 0x38], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x40]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c38]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c60]
and ecx, eax
mov eax, ecx
mov dword [0x140074c60], eax
movzx eax, byte [0x140074c5f]
cmp eax, dword [rsp + 0x40]
jne 0x140050bf6
mov dword [rsp + 0xa8], 1
jmp 0x140050c01
mov dword [rsp + 0xa8], 0
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0xa8], eax
jne 0x140050c1b
mov dword [rsp + 0xac], 1
jmp 0x140050c26
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0xac]
mov ecx, dword [0x140074c8c]
or ecx, eax
mov eax, ecx
mov dword [0x140074c8c], eax
movzx eax, byte [rsp + 0x22]
mov ecx, dword [0x140074c54]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x140050c64
cmp dword [rsp + 0x3c], 0
je 0x140050c64
mov dword [rsp + 0xb0], 1
jmp 0x140050c6f
mov dword [rsp + 0xb0], 0
movzx eax, byte [0x140074b8f]
sub eax, dword [rsp + 0xb0]
mov byte [0x140074b8f], al
movsx eax, byte [0x140074c6c]
mov ecx, dword [rsp + 0x24]
sar eax, cl
or eax, dword [rsp + 0x3c]
movsx ecx, byte [0x140074c5e]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c5e], al
mov dword [rsp + 0x58], 0x165
mov dword [rsp + 0x58], 0x12
jmp 0x140050cc1
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0xfb1
jae 0x140050d11
movsx eax, byte [0x140074c6e]
test eax, eax
jne 0x140050ced
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x28], eax
je 0x140050ced
mov dword [rsp + 0xb4], 0
jmp 0x140050cf8
mov dword [rsp + 0xb4], 1
mov eax, dword [rsp + 0xb4]
mov ecx, dword [0x140074c84]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c84], eax
jmp 0x140050cb7
xor edx, edx
mov eax, dword [rsp + 0x24]
mov ecx, 3
div ecx
mov ecx, dword [0x140074c84]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x40], 0
je 0x140050d4a
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x28], eax
jne 0x140050d4a
mov dword [rsp + 0xb8], 1
jmp 0x140050d55
mov dword [rsp + 0xb8], 0
mov eax, dword [rsp + 0xb8]
mov ecx, dword [0x140074a64]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c5c]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5c], al
movzx eax, byte [0x140074c8b]
cmp eax, dword [rsp + 0x24]
je 0x140050d91
mov dword [rsp + 0xc0], 1
jmp 0x140050d9c
mov dword [rsp + 0xc0], 0
movzx eax, byte [rsp + 0x21]
cmp eax, dword [0x140074a64]
je 0x140050db6
mov dword [rsp + 0xbc], 1
jmp 0x140050dc1
mov dword [rsp + 0xbc], 0
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0xc0], eax
jne 0x140050dde
mov dword [rsp + 0xc4], 1
jmp 0x140050de9
mov dword [rsp + 0xc4], 0
movsx eax, byte [rsp + 0x20]
cmp dword [rsp + 0xc4], eax
je 0x140050e33
cmp dword [0x140074a68], 0
je 0x140050e1b
cmp dword [rsp + 0x30], 0
je 0x140050e1b
cmp dword [rsp + 0x30], 0
je 0x140050e1b
mov dword [rsp + 0xc8], 1
jmp 0x140050e26
mov dword [rsp + 0xc8], 0
mov eax, dword [rsp + 0xc8]
mov dword [0x140074c30], eax
movsx eax, byte [0x140074c5e]
sub eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x2c]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x140050e64
cmp dword [0x140074c84], 0
je 0x140050e64
mov dword [rsp + 0xcc], 1
jmp 0x140050e6f
mov dword [rsp + 0xcc], 0
movsx eax, byte [0x140074a62]
or eax, dword [rsp + 0xcc]
mov byte [0x140074a62], al
movzx eax, byte [0x140074c8b]
mov ecx, dword [rsp + 0x28]
shl eax, cl
movzx ecx, byte [rsp + 0x21]
cmp eax, ecx
jne 0x140050eb9
movzx eax, byte [0x140074c8a]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140050eb9
mov dword [rsp + 0xd0], 1
jmp 0x140050ec4
mov dword [rsp + 0xd0], 0
movsx eax, byte [0x140074a63]
add eax, dword [rsp + 0xd0]
mov byte [0x140074a63], al
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x140050f48
movzx eax, byte [rsp + 0x21]
cmp eax, dword [0x140074c48]
jbe 0x140050f48
cmp dword [0x140074c70], 0
je 0x140050f26
movzx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x34]
sar eax, cl
mov ecx, dword [0x140074c34]
sar eax, cl
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140050f26
mov dword [rsp + 0xd4], 1
jmp 0x140050f31
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
mov ecx, dword [0x140074c38]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c38], eax
movzx eax, byte [0x140074c8a]
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x34]
add edx, ecx
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x140074c5f]
sub ecx, eax
mov eax, ecx
mov byte [0x140074c5f], al
movsx eax, byte [0x140074c90]
movsx ecx, byte [rsp + 0x20]
and eax, ecx
test eax, eax
jne 0x140050f94
cmp dword [rsp + 0x28], 0
jne 0x140050f94
mov dword [rsp + 0xd8], 0
jmp 0x140050f9f
mov dword [rsp + 0xd8], 1
mov eax, dword [rsp + 0xd8]
mov ecx, dword [0x140074c50]
and ecx, eax
mov eax, ecx
mov dword [0x140074c50], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [0x140074c8c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c60]
or ecx, eax
mov eax, ecx
mov dword [0x140074c60], eax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov eax, dword [rsp + 0x24]
mov ecx, dword [0x140074c54]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x21]
add eax, ecx
movzx ecx, byte [0x140074b8e]
sub ecx, eax
mov eax, ecx
mov byte [0x140074b8e], al
movzx eax, byte [0x140074c88]
test eax, eax
jne 0x140051042
cmp dword [rsp + 0x28], 0
jne 0x140051029
cmp dword [0x140074c74], 0
jne 0x140051029
mov dword [rsp + 0xdc], 0
jmp 0x140051034
mov dword [rsp + 0xdc], 1
movzx eax, byte [rsp + 0x22]
cmp eax, dword [rsp + 0xdc]
jne 0x140051065
movzx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x24]
shl edx, cl
mov ecx, edx
or eax, ecx
mov ecx, dword [0x140074c70]
and ecx, eax
mov eax, ecx
mov byte [0x140074c8a], al
mov eax, dword [0x140074a64]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
cmp dword [rsp + 0x3c], eax
jne 0x140051086
mov dword [rsp + 0xe0], 1
jmp 0x140051091
mov dword [rsp + 0xe0], 0
movsx eax, byte [rsp + 0x20]
mov ecx, dword [0x140074a6c]
sub ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0xe0]
mov dword [0x140074c2c], eax
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x28]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1400510d1
cmp dword [rsp + 0x2c], 0
je 0x1400510d1
mov dword [rsp + 0xe4], 1
jmp 0x1400510dc
mov dword [rsp + 0xe4], 0
movzx eax, byte [0x140074c89]
or eax, dword [rsp + 0xe4]
movsx ecx, byte [0x140074c90]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c90], al
cmp dword [0x140074c8c], 0
je 0x140051122
movzx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140051122
mov dword [rsp + 0xe8], 1
jmp 0x14005112d
mov dword [rsp + 0xe8], 0
movzx eax, byte [0x140074c5c]
add eax, dword [rsp + 0xe8]
mov byte [0x140074c5c], al
movsx eax, byte [0x140074a63]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
xor eax, dword [rsp + 0x24]
mov byte [0x140074c6d], al
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [0x140074c89]
lea eax, [rax + rcx*2]
cdq
and edx, 7
add eax, edx
and eax, 7
sub eax, edx
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0
je 0x1400511a9
cmp dword [rsp + 0x5c], 1
je 0x1400511d5
cmp dword [rsp + 0x5c], 2
je 0x1400511fc
cmp dword [rsp + 0x5c], 3
je 0x140051252
jmp 0x1400512dc
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x140074c34]
shr eax, cl
mov ecx, dword [0x140074c80]
add ecx, eax
mov eax, ecx
mov dword [0x140074c80], eax
jmp 0x140051343
movsx eax, byte [0x140074c6f]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x34]
sar edx, cl
mov ecx, edx
movzx edx, byte [rsp + 0x22]
or ecx, edx
sub eax, ecx
mov byte [0x140074c5c], al
jmp 0x140051343
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x24]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c8c]
sub ecx, eax
mov eax, ecx
mov dword [0x140074a64], eax
movsx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
or eax, dword [rsp + 0x40]
mov ecx, dword [0x140074c48]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c8b]
and ecx, eax
mov eax, ecx
mov byte [0x140074c8b], al
jmp 0x140051343
movzx eax, byte [0x140074c8b]
movzx ecx, byte [rsp + 0x21]
mov dword [rsp + 0x19c], ecx
mov edx, dword [rsp + 0x2c]
movzx ecx, dl
mov edx, dword [rsp + 0x19c]
sar edx, cl
mov ecx, edx
movzx edx, byte [rsp + 0x21]
and ecx, edx
or eax, ecx
mov dword [0x140074c68], eax
movsx eax, byte [0x140074c5d]
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x2c]
add edx, ecx
mov ecx, edx
shl eax, cl
test eax, eax
je 0x1400512bb
movzx eax, byte [rsp + 0x21]
add eax, dword [0x140074a68]
test eax, eax
je 0x1400512bb
mov dword [rsp + 0xec], 1
jmp 0x1400512c6
mov dword [rsp + 0xec], 0
movzx eax, byte [0x140074c5c]
add eax, dword [rsp + 0xec]
mov byte [0x140074c5c], al
jmp 0x140051343
mov eax, dword [rsp + 0x40]
movzx ecx, al
mov eax, dword [0x140074c74]
shl eax, cl
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x24]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x1a0], ecx
movzx edx, byte [0x140074c89]
movzx ecx, dl
mov edx, dword [rsp + 0x1a0]
shl edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x140051324
mov dword [rsp + 0xf0], 1
jmp 0x14005132f
mov dword [rsp + 0xf0], 0
movsx eax, byte [0x140074c5e]
sub eax, dword [rsp + 0xf0]
mov byte [0x140074c5e], al
mov eax, dword [rsp + 0x30]
cmp dword [0x140074c34], eax
je 0x140051384
movzx eax, byte [rsp + 0x21]
movsx ecx, byte [0x140074c5d]
cmp eax, ecx
jne 0x14005136c
mov dword [rsp + 0xf4], 1
jmp 0x140051377
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0xf4], eax
je 0x1400513c9
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x140074a68]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1400513aa
cmp dword [rsp + 0x28], 0
je 0x1400513aa
mov dword [rsp + 0xf8], 1
jmp 0x1400513b5
mov dword [rsp + 0xf8], 0
movsx eax, byte [0x140074c6f]
and eax, dword [rsp + 0xf8]
mov byte [0x140074c6f], al
movzx eax, byte [0x140074c5c]
test eax, eax
je 0x1400513e8
cmp dword [rsp + 0x24], 0
je 0x1400513e8
mov dword [rsp + 0xfc], 1
jmp 0x1400513f3
mov dword [rsp + 0xfc], 0
mov eax, dword [rsp + 0xfc]
mov dword [0x140074c38], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [0x140074c68]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x140074c5e]
add ecx, eax
mov eax, ecx
mov byte [0x140074c5e], al
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x140074c34]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c64]
or ecx, eax
mov eax, ecx
mov dword [0x140074c64], eax
movsx eax, byte [0x140074c6e]
test eax, eax
jne 0x14005145c
cmp dword [rsp + 0x3c], 0
jne 0x14005145c
mov dword [rsp + 0x100], 0
jmp 0x140051467
mov dword [rsp + 0x100], 1
mov eax, dword [rsp + 0x100]
mov ecx, dword [0x140074c80]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c80], eax
movsx eax, byte [0x140074a63]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
mov ecx, dword [rsp + 0x34]
shl eax, cl
test eax, eax
je 0x1400514b4
mov eax, dword [0x140074a68]
mov ecx, dword [rsp + 0x34]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1400514b4
mov dword [rsp + 0x104], 1
jmp 0x1400514bf
mov dword [rsp + 0x104], 0
movzx eax, byte [0x140074b8e]
sub eax, dword [rsp + 0x104]
mov byte [0x140074b8e], al
cmp dword [0x140074c4c], 0
jne 0x140051523
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x34], eax
jne 0x1400514f3
mov dword [rsp + 0x108], 1
jmp 0x1400514fe
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x108]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x14005151c
movsx eax, byte [0x140074c6f]
test eax, eax
jne 0x140051523
mov byte [rsp + 0x44], 0
jmp 0x140051528
mov byte [rsp + 0x44], 1
movzx eax, byte [rsp + 0x44]
mov byte [0x140074b8e], al
cmp dword [0x140074c4c], 0
je 0x140051567
movsx eax, byte [rsp + 0x20]
and eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c5c]
xor eax, ecx
test eax, eax
je 0x140051567
mov dword [rsp + 0x10c], 1
jmp 0x140051572
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
mov ecx, dword [0x140074c4c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
movsx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x21]
cmp eax, ecx
jle 0x1400516d2
movsx eax, byte [0x140074c5d]
movzx ecx, byte [rsp + 0x22]
shl eax, cl
or eax, dword [rsp + 0x2c]
mov ecx, dword [0x140074c84]
add ecx, eax
mov eax, ecx
mov dword [0x140074c84], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x140074c3c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400515e3
cmp dword [rsp + 0x28], 0
jne 0x1400515e3
mov dword [rsp + 0x110], 0
jmp 0x1400515ee
mov dword [rsp + 0x110], 1
movzx eax, byte [0x140074c8b]
xor eax, dword [rsp + 0x110]
mov byte [0x140074c8b], al
movzx eax, byte [0x140074c89]
movzx ecx, byte [rsp + 0x22]
sub ecx, dword [rsp + 0x2c]
cmp eax, ecx
je 0x140051633
cmp dword [rsp + 0x2c], 0
jne 0x140051633
cmp dword [0x140074c48], 0
jne 0x140051633
mov dword [rsp + 0x114], 0
jmp 0x14005163e
mov dword [rsp + 0x114], 1
mov eax, dword [rsp + 0x114]
mov ecx, dword [0x140074c84]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c84], eax
movzx eax, byte [0x140074c8a]
cmp eax, dword [rsp + 0x3c]
jne 0x14005166f
mov dword [rsp + 0x118], 1
jmp 0x14005167a
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shl eax, cl
mov ecx, dword [rsp + 0x118]
xor ecx, eax
mov eax, ecx
xor eax, dword [0x140074c30]
mov dword [0x140074c74], eax
movsx eax, byte [0x140074a62]
sub eax, dword [rsp + 0x38]
movzx ecx, byte [rsp + 0x22]
shl eax, cl
movzx ecx, byte [0x140074c8b]
mov edx, dword [rsp + 0x34]
sar edx, cl
mov ecx, edx
xor eax, ecx
movsx ecx, byte [0x140074c5e]
xor ecx, eax
mov eax, ecx
mov byte [0x140074c5e], al
cmp dword [0x140074c60], 0
jne 0x1400516ef
cmp dword [rsp + 0x28], 0
jne 0x1400516ef
mov dword [rsp + 0x11c], 0
jmp 0x1400516fa
mov dword [rsp + 0x11c], 1
movsx eax, byte [0x140074c6f]
add eax, dword [rsp + 0x11c]
mov byte [0x140074c6f], al
mov eax, 0x10c
mov word [rsp + 0x48], ax
movsx eax, word [rsp + 0x48]
mov dword [rsp + 0x1a4], eax
movzx eax, word [rsp + 0x48]
dec ax
mov word [rsp + 0x48], ax
cmp dword [rsp + 0x1a4], 0
je 0x140051790
movsx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x2c]
shr eax, cl
test eax, eax
je 0x140051761
cmp dword [rsp + 0x24], 0
je 0x140051761
mov dword [rsp + 0x120], 1
jmp 0x14005176c
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
mov ecx, dword [0x140074c48]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c6d]
add ecx, eax
mov eax, ecx
mov byte [0x140074c6d], al
jmp 0x140051718
movsx eax, byte [0x140074c6c]
imul eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 4
div ecx
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x60], 0x10f
mov dword [rsp + 0x60], 0xcc
jmp 0x1400517c5
mov eax, dword [rsp + 0x60]
dec eax
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x41
jbe 0x140051926
movzx eax, byte [0x140074c8b]
cmp dword [rsp + 0x2c], eax
jbe 0x1400517ea
mov dword [rsp + 0x124], 1
jmp 0x1400517f5
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x124]
cmp dword [rsp + 0x28], eax
jae 0x14005180f
mov dword [rsp + 0x128], 1
jmp 0x14005181a
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x128], eax
jae 0x140051834
mov dword [rsp + 0x12c], 1
jmp 0x14005183f
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
cmp dword [0x140074c2c], eax
jne 0x140051877
movzx eax, byte [0x140074b8e]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x24]
shr edx, cl
mov ecx, edx
xor ecx, dword [rsp + 0x28]
and eax, ecx
mov ecx, dword [0x140074c64]
and ecx, eax
mov eax, ecx
mov dword [0x140074c64], eax
cmp dword [rsp + 0x38], 0
jne 0x14005189a
movzx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
test eax, eax
jne 0x14005189a
mov dword [rsp + 0x130], 0
jmp 0x1400518a5
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x130]
cmp dword [0x140074c54], eax
jne 0x1400518c1
mov dword [rsp + 0x134], 1
jmp 0x1400518cc
mov dword [rsp + 0x134], 0
movsx eax, byte [0x140074c5d]
sub eax, dword [rsp + 0x134]
mov byte [0x140074c5d], al
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x140074c84]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x30]
shl eax, cl
mov dword [0x140074c64], eax
movsx eax, byte [0x140074c6c]
movsx ecx, byte [rsp + 0x20]
mov edx, dword [rsp + 0x34]
sub edx, ecx
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x140074b8f]
sub ecx, eax
mov eax, ecx
mov byte [0x140074b8f], al
jmp 0x1400517bb
mov dword [rsp + 0x68], 0xfffffddd
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x1a8], 0
je 0x140051c68
movzx eax, byte [rsp + 0x22]
test eax, eax
jne 0x14005196a
mov eax, dword [0x140074a6c]
cmp dword [rsp + 0x3c], eax
jae 0x140051b51
cmp dword [0x140074c64], 0
jne 0x1400519be
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
shl eax, cl
cmp eax, dword [0x140074c74]
jne 0x140051993
mov dword [rsp + 0x138], 1
jmp 0x14005199e
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
mov ecx, dword [rsp + 0x34]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400519be
mov dword [rsp + 0x13c], 0
jmp 0x1400519c9
mov dword [rsp + 0x13c], 1
mov eax, dword [rsp + 0x13c]
mov ecx, dword [0x140074a6c]
or ecx, eax
mov eax, ecx
mov dword [0x140074a6c], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140051a04
cmp dword [rsp + 0x24], 0
je 0x140051a04
mov dword [rsp + 0x140], 1
jmp 0x140051a0f
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x140]
mov ecx, dword [0x140074c74]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140074a68]
xor ecx, eax
mov eax, ecx
mov dword [0x140074a68], eax
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
sub edx, ecx
mov ecx, edx
movzx edx, byte [0x140074c8a]
sub ecx, edx
cmp eax, ecx
jne 0x140051a5b
mov dword [rsp + 0x144], 1
jmp 0x140051a66
mov dword [rsp + 0x144], 0
movsx eax, byte [0x140074c6e]
and eax, dword [rsp + 0x144]
mov ecx, dword [0x140074c4c]
and ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
movzx eax, byte [rsp + 0x22]
mov ecx, dword [0x140074c80]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov dword [rsp + 0x38], eax
cmp dword [0x140074c50], 0
jne 0x140051ac6
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x38]
sar eax, cl
test eax, eax
jne 0x140051ac6
mov dword [rsp + 0x148], 0
jmp 0x140051ad1
mov dword [rsp + 0x148], 1
mov eax, dword [rsp + 0x148]
mov ecx, dword [0x140074c4c]
or ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140051b0f
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140051b0f
mov dword [rsp + 0x14c], 1
jmp 0x140051b1a
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x14c]
mov ecx, dword [0x140074c84]
add ecx, eax
mov eax, ecx
mov dword [0x140074c84], eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x3c]
mov ecx, dword [0x140074c8c]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c64], eax
movsx eax, byte [0x140074c5d]
or eax, dword [rsp + 0x30]
mov dword [0x140074c48], eax
movzx eax, byte [0x140074b8f]
add eax, dword [rsp + 0x28]
test eax, eax
jne 0x140051b85
cmp dword [rsp + 0x40], 0
jne 0x140051b85
mov dword [rsp + 0x150], 0
jmp 0x140051b90
mov dword [rsp + 0x150], 1
movsx eax, byte [0x140074a63]
and eax, dword [rsp + 0x150]
mov byte [0x140074a63], al
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x140074c30]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x20]
and eax, ecx
movzx ecx, byte [0x140074b8e]
or ecx, eax
mov eax, ecx
mov byte [0x140074b8e], al
movzx eax, byte [0x140074b8f]
movzx ecx, byte [rsp + 0x22]
xor eax, ecx
xor eax, dword [rsp + 0x30]
xor eax, dword [rsp + 0x38]
or eax, dword [0x140074a64]
mov ecx, dword [0x140074c80]
add ecx, eax
mov eax, ecx
mov dword [0x140074c80], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x140074c70]
or ecx, eax
mov eax, ecx
mov dword [0x140074c2c], eax
movzx eax, byte [0x140074b8e]
test eax, eax
jne 0x140051c41
movzx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [rsp + 0x40]
shr eax, cl
movzx ecx, byte [rsp + 0x21]
xor eax, ecx
or eax, dword [0x140074c38]
test eax, eax
jne 0x140051c41
mov dword [rsp + 0x154], 0
jmp 0x140051c4c
mov dword [rsp + 0x154], 1
mov eax, dword [rsp + 0x154]
mov ecx, dword [0x140074c30]
or ecx, eax
mov eax, ecx
mov dword [0x140074c30], eax
jmp 0x14005192e
movsx eax, byte [0x140074c5d]
cmp eax, dword [rsp + 0x24]
jne 0x140051c82
mov dword [rsp + 0x15c], 1
jmp 0x140051c8d
mov dword [rsp + 0x15c], 0
mov eax, dword [0x140074c4c]
cmp dword [rsp + 0x28], eax
jbe 0x140051ca6
mov dword [rsp + 0x158], 1
jmp 0x140051cb1
mov dword [rsp + 0x158], 0
mov eax, dword [rsp + 0x158]
cmp dword [rsp + 0x15c], eax
jne 0x140051cda
mov eax, dword [0x140074c38]
imul eax, dword [rsp + 0x38]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov dword [rsp + 0x38], eax
mov eax, dword [0x140074c60]
imul eax, dword [rsp + 0x24]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x2c]
cmp dword [0x140074a6c], eax
jae 0x140051d0d
mov dword [rsp + 0x164], 1
jmp 0x140051d18
mov dword [rsp + 0x164], 0
movzx eax, byte [0x140074c8a]
cmp dword [rsp + 0x30], eax
je 0x140051d32
mov dword [rsp + 0x160], 1
jmp 0x140051d3d
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
cmp dword [rsp + 0x164], eax
je 0x140051d97
movsx eax, byte [0x140074c6f]
movsx ecx, byte [rsp + 0x20]
shl eax, cl
test eax, eax
je 0x140051d75
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140051d75
mov dword [rsp + 0x168], 1
jmp 0x140051d80
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov ecx, dword [0x140074c68]
and ecx, eax
mov eax, ecx
mov dword [0x140074c68], eax
cmp dword [0x140074c64], 0
jne 0x140051dbf
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x22]
shl eax, cl
test eax, eax
jne 0x140051dbf
mov byte [rsp + 0x45], 0
jmp 0x140051dc4
mov byte [rsp + 0x45], 1
movzx eax, byte [rsp + 0x45]
mov byte [0x140074c6d], al
movzx eax, byte [rsp + 0x22]
mov ecx, dword [0x140074c70]
imul ecx, eax
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov byte [rsp + 0x20], al
xor edx, edx
mov eax, dword [rsp + 0x40]
mov ecx, 4
div ecx
mov eax, edx
mov ecx, dword [0x140074c28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x6c], 0xffffff74
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x1ac], 0
je 0x140051e74
movzx eax, byte [rsp + 0x21]
cmp dword [rsp + 0x28], eax
jne 0x140051e49
mov dword [rsp + 0x16c], 1
jmp 0x140051e54
mov dword [rsp + 0x16c], 0
movsx eax, byte [0x140074c90]
or eax, dword [rsp + 0x16c]
mov ecx, dword [0x140074c3c]
xor ecx, eax
mov eax, ecx
mov dword [0x140074c3c], eax
jmp 0x140051e12
cmp dword [0x140074a6c], 0
jne 0x140051ea0
movsx eax, byte [rsp + 0x20]
sub eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
test eax, eax
jne 0x140051ea0
mov dword [rsp + 0x170], 0
jmp 0x140051eab
mov dword [rsp + 0x170], 1
mov eax, dword [rsp + 0x170]
mov ecx, dword [0x140074c50]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c50], eax
cmp dword [0x140074c64], 0
je 0x140051ef0
cmp dword [rsp + 0x3c], 0
je 0x140051ef0
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140051ef0
mov dword [rsp + 0x174], 1
jmp 0x140051efb
mov dword [rsp + 0x174], 0
mov eax, dword [rsp + 0x174]
mov ecx, dword [0x140074c4c]
or ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
movzx eax, byte [rsp + 0x21]
sub eax, dword [rsp + 0x30]
sub eax, dword [rsp + 0x3c]
mov ecx, dword [0x140074c70]
or ecx, eax
mov eax, ecx
movzx ecx, byte [0x140074c5c]
and ecx, eax
mov eax, ecx
mov byte [0x140074c5c], al
cmp dword [rsp + 0x30], 0
je 0x140051f48
cmp dword [rsp + 0x3c], 0
jne 0x140051f5c
cmp dword [rsp + 0x24], 0
jne 0x140051f5c
mov dword [rsp + 0x178], 0
jmp 0x140051f67
mov dword [rsp + 0x178], 1
movzx eax, byte [0x140074c5f]
xor eax, dword [rsp + 0x178]
mov ecx, dword [0x140074a68]
xor ecx, eax
mov eax, ecx
mov dword [0x140074a68], eax
mov eax, 0xffffffe0
mov word [rsp + 0x4c], ax
movsx eax, word [rsp + 0x4c]
mov dword [rsp + 0x1b0], eax
movzx eax, word [rsp + 0x4c]
inc ax
mov word [rsp + 0x4c], ax
cmp dword [rsp + 0x1b0], 0
je 0x140052024
movsx eax, byte [0x140074c6c]
add eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
shl eax, cl
xor eax, dword [rsp + 0x2c]
test eax, eax
je 0x140051fdd
movzx eax, byte [0x140074c6d]
test eax, eax
je 0x140051fdd
mov byte [rsp + 0x46], 1
jmp 0x140051fe2
mov byte [rsp + 0x46], 0
movzx eax, byte [rsp + 0x46]
mov byte [0x140074b8f], al
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 5
div ecx
mov ecx, dword [0x140074a68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [0x140074c64]
imul eax, dword [rsp + 0x38]
cdq
mov ecx, 5
idiv ecx
mov dword [rsp + 0x2c], eax
jmp 0x140051f8f
cmp dword [rsp + 0x3c], 0
je 0x14005206d
cmp dword [rsp + 0x34], 0
je 0x14005206d
movsx eax, byte [0x140074a62]
movsx ecx, byte [rsp + 0x20]
sub ecx, dword [rsp + 0x30]
mov dword [rsp + 0x1b4], ecx
mov edx, dword [rsp + 0x3c]
movzx ecx, dl
mov edx, dword [rsp + 0x1b4]
shr edx, cl
mov ecx, edx
or eax, ecx
mov ecx, dword [0x140074c54]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c54], eax
movsx eax, byte [0x140074c90]
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x34]
add edx, ecx
mov ecx, edx
mov edx, dword [0x140074c80]
mov r8d, dword [rsp + 0x28]
sub r8d, edx
mov edx, r8d
and ecx, edx
or eax, ecx
movzx ecx, byte [0x140074c5c]
add ecx, eax
mov eax, ecx
mov byte [0x140074c5c], al
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x140074c84]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movsx eax, byte [0x140074a63]
test eax, eax
je 0x1400520f1
movsx eax, byte [rsp + 0x20]
add eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [rsp + 0x40]
shl eax, cl
test eax, eax
je 0x1400520f1
mov dword [rsp + 0x17c], 1
jmp 0x1400520fc
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x17c]
mov ecx, dword [0x140074c28]
add ecx, eax
mov eax, ecx
mov dword [0x140074c28], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [0x140074c48]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x21]
or eax, ecx
test eax, eax
jne 0x14005214c
movzx eax, byte [rsp + 0x22]
movsx ecx, byte [0x140074c6e]
and eax, ecx
test eax, eax
jne 0x14005214c
mov dword [rsp + 0x180], 0
jmp 0x140052157
mov dword [rsp + 0x180], 1
movsx eax, byte [0x140074c5d]
xor eax, dword [rsp + 0x180]
mov byte [0x140074c5d], al
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x140074c60]
add ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x20]
shl eax, cl
movsx ecx, byte [0x140074c6f]
add ecx, eax
mov eax, ecx
mov byte [0x140074c6f], al
movsx eax, byte [0x140074a63]
or eax, dword [rsp + 0x2c]
movzx ecx, byte [0x140074c8a]
or ecx, eax
mov eax, ecx
mov byte [0x140074c8a], al
movzx eax, byte [rsp + 0x22]
cmp eax, dword [rsp + 0x24]
jne 0x1400521c5
mov dword [rsp + 0x184], 1
jmp 0x1400521d0
mov dword [rsp + 0x184], 0
movzx eax, byte [rsp + 0x22]
xor eax, dword [rsp + 0x184]
cmp dword [0x140074c80], eax
jne 0x1400521f1
mov dword [rsp + 0x188], 1
jmp 0x1400521fc
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
mov ecx, dword [0x140074c70]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c70], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [0x140074c3c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x140074c70]
sub ecx, eax
mov eax, ecx
mov dword [0x140074c70], eax
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [0x140074c2c]
shr eax, cl
mov ecx, dword [0x140074c4c]
add ecx, eax
mov eax, ecx
mov dword [0x140074c4c], eax
movzx ecx, byte [0x140074b8f]
call fcn.14004f200
mov eax, dword [rsp + 0x38]
add rsp, 0x1c8
ret