Function at 0x5379d0
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xfffff728
mov esi, esp
call fcn.0054af40
mov cl, 1
mov edx, 0
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
call fcn.0054af50
mov eax, 0x800000
mov eax, edi
sub eax, 0xd4a87853
add eax, 0xf37ac77c
sub eax, 0x2b5787ad
add eax, 0xcce2a9e5
sub eax, 1
sub eax, 0xcce2a9e5
sub edx, 0xc853884
sub eax, edx
imul edi, eax
and edi, 1
push edx
mov edx, 0xb01775b2
xor edx, 0xb01775b2
cmp edi, edx
pop edx
sete ch
cmp ebx, 0xa
setl al
mov ah, ch
xor ah, 1
and ah, 0
mov dl, cl
xor dl, 0
mov dh, ch
and dh, dl
mov bl, cl
xor bl, 1
and bl, 0
and dl, 1
or ah, dh
or bl, dl
xor ah, bl
mov dl, al
xor dl, 1
and dl, 1
mov dh, cl
xor dh, 1
mov bl, al
and bl, dh
or dl, bl
mov dh, cl
xor dh, 0
and dh, 0
mov bl, cl
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x8cb], al
mov al, cl
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ah
xor al, 1
mov bl, cl
xor bl, 0
mov bh, cl
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ch
xor bh, bl
and bh, ch
mov ch, cl
xor ch, 0
mov bl, dl
xor bl, ch
and bl, dl
mov ch, dh
xor ch, 1
mov byte [esi + 0x8ca], al
mov al, byte [esi + 0x8cb]
xor al, ch
mov ch, byte [esi + 0x8cb]
and al, ch
mov ch, byte [esi + 0x8ca]
xor ch, 1
mov byte [esi + 0x8c9], al
mov al, bh
xor al, 1
mov byte [esi + 0x8c8], al
mov al, cl
xor al, 1
mov byte [esi + 0x8c7], al
mov al, ch
and al, 1
mov byte [esi + 0x8c6], al
mov al, byte [esi + 0x8ca]
mov byte [esi + 0x8c5], cl
mov cl, byte [esi + 0x8c7]
and al, cl
mov cl, byte [esi + 0x8c8]
and cl, 1
mov byte [esi + 0x8c4], al
mov al, byte [esi + 0x8c7]
and bh, al
mov al, byte [esi + 0x8c6]
mov byte [esi + 0x8c3], cl
mov cl, byte [esi + 0x8c4]
or al, cl
mov cl, byte [esi + 0x8c3]
or cl, bh
xor al, cl
mov cl, byte [esi + 0x8c8]
or ch, cl
xor ch, 1
mov bh, byte [esi + 0x8c7]
or bh, 1
and ch, bh
or al, ch
mov ch, bl
mov bh, byte [esi + 0x8c9]
and ch, bh
xor bl, bh
or ch, bl
mov bl, al
xor bl, 1
and bl, 0
mov cl, byte [esi + 0x8c5]
xor cl, 0
and al, cl
mov bh, ch
xor bh, 1
and bh, 0
and ch, cl
or bl, al
or bh, ch
xor bl, bh
mov al, ah
xor al, 1
mov cl, dl
xor cl, 1
mov ch, byte [esi + 0x8c5]
xor ch, 1
mov bh, al
and bh, 1
and ah, ch
mov byte [esi + 0x8c2], al
mov al, cl
and al, 1
and dl, ch
or bh, ah
or al, dl
xor bh, al
mov al, byte [esi + 0x8c2]
or al, cl
xor al, 1
or ch, 1
and al, ch
or bh, al
mov al, bh
xor al, 1
and al, 0
mov cl, byte [esi + 0x8c5]
xor cl, 0
and bh, cl
mov dl, byte [esi + 0x8c5]
xor dl, 1
and dl, 0
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x8c5]
xor cl, 0
mov dl, dh
xor dl, 1
mov ah, byte [esi + 0x8c5]
xor ah, 0
mov ch, cl
and ch, 0
mov bh, ah
and bh, 0
mov byte [esi + 0x8c1], al
mov al, dl
and al, 0
and dh, ah
or ch, bh
or al, dh
xor ch, al
or cl, dl
xor cl, 1
or ah, 0
and cl, ah
or ch, cl
mov al, byte [esi + 0x8c1]
xor al, 1
xor ch, 1
mov cl, byte [esi + 0x8c5]
xor cl, 0
or al, ch
or cl, 0
xor al, 1
and al, cl
mov cl, bl
and cl, al
xor bl, al
or cl, bl
test cl, 1
jne 0x537c8b
jmp 0x549ce0
mov eax, 4
mov dword [esi + 0x8bc], eax
call fcn.004487b0
mov eax, esp
call fcn.0054af60
mov dword [esi + 0x8b8], eax
mov eax, ebx
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
call fcn.0054af70
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x8b0], eax
mov eax, 0x447b4c
mov eax, ecx
call fcn.0054af80
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x8a8], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
call fcn.0054af90
mov eax, ecx
call fcn.004487b0
mov ecx, 0x200000
mov eax, esp
mov ecx, dword [esi + 0x8bc]
call fcn.0054afa0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, 0x3c
call fcn.0054afb0
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x898], eax
mov eax, 0x447c60
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, 0xc
mov dword [esi + 0x894], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x890], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x88c], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, 7
mov esp, eax
mov ecx, dword [esi + 0x8bc]
call fcn.0054afc0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
call fcn.0054afd0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
call fcn.0054afe0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x87c], eax
mov eax, ecx
call fcn.004487b0
mov eax, 0x3fffff
mov eax, esp
call fcn.0054aff0
call fcn.0054b000
mov eax, ecx
call fcn.004487b0
mov eax, 0x8000
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x208
mov dword [esi + 0x874], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x870], eax
mov eax, ecx
call fcn.004487b0
mov eax, ecx
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x86c], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b010
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x24
mov dword [esi + 0x864], eax
mov eax, ecx
call fcn.004487b0
mov eax, 0x7fffff
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x248
mov dword [esi + 0x860], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b020
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 8
mov dword [esi + 0x858], eax
mov eax, ecx
call fcn.004487b0
mov eax, edx
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x854], eax
mov eax, ecx
call fcn.004487b0
mov eax, 0x447cd8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x850], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x104
mov dword [esi + 0x84c], eax
mov eax, 0x447cc0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x848], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x844], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b030
mov eax, ebx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x83c], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b040
mov eax, ecx
call fcn.004487b0
mov eax, 0x447c54
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b050
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b060
mov eax, ecx
call fcn.004487b0
mov eax, 0x447b58
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x82c], eax
mov eax, ecx
call fcn.004487b0
mov eax, 0x447cd8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x828], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, eax
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x824], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x820], eax
mov eax, esi
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
call fcn.0054b070
mov eax, edx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x447c6c
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x818], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x814], eax
mov eax, ecx
call fcn.004487b0
mov eax, 0x1fffff
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x810], eax
mov eax, 0x1fffff
mov eax, ecx
call fcn.004487b0
mov eax, ecx
mov eax, esp
and eax, 0xfffffff8
mov ecx, eax
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x80c], eax
mov eax, ecx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b080
call fcn.0054b090
mov eax, ecx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x804], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x800], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7fc], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
call fcn.0054b0a0
mov dword [esi + 0x7f8], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
call fcn.0054b0b0
mov eax, ecx
call fcn.004487b0
mov eax, esp
call fcn.0054b0c0
call fcn.0054b0d0
mov eax, ecx
call fcn.004487b0
mov eax, esp
call fcn.0054b0e0
call fcn.0054b0f0
mov eax, ecx
call fcn.004487b0
mov eax, esp
call fcn.0054b100
call fcn.0054b110
mov eax, 0xf
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8ac]
mov dword [esi + 0x7e4], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7e0], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x7ffff
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7dc], eax
mov eax, ebx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
call fcn.0054b120
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b130
call fcn.0054b140
mov eax, ecx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b150
call fcn.0054b160
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7cc], eax
mov eax, 0x447cd8
mov eax, ecx
call fcn.004487b0
mov eax, 0x1f
mov eax, esp
call fcn.0054b170
call fcn.0054b180
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b190
mov dword [esi + 0x7c4], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b1a0
call fcn.0054b1b0
mov eax, edx
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b1c0
mov dword [esi + 0x7bc], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7b8], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7b4], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054b1d0
mov dword [esi + 0x7b0], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x1fff
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7ac], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7a8], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
call fcn.0054b1e0
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8bc]
mov dword [esi + 0x7a0], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, ebx
mov esp, eax
call fcn.0054b1f0
mov dword [esi + 0x79c], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov ecx, eax
mov esp, eax
call fcn.0054b200
call fcn.0054b210
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x8b4]
mov edx, dword [esi + 0x8cc]
mov dword [ecx], edx
mov edi, dword [esi + 0x8b0]
mov dword [edi], 0
call fcn.0054b220
mov dword [esi + 0x794], eax
call fcn.004d2100
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054b230
mov ebx, ecx
sub ebx, edx
call fcn.0054b240
mov eax, ecx
sub eax, 0x77c3e16b
add ebx, eax
sub ecx, ebx
sub ecx, 0x7ecc940c
sub ecx, 1
sub ecx, 0x81336bf4
sub ecx, 0xfb5a6719
sub ecx, 0x77c3e16b
sub ecx, 0x4a598e7
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ecx
mov ecx, 0xbbe19db4
xor ecx, 0xbbe19dbe
cmp edi, ecx
pop ecx
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x5384a0
jmp 0x549ce0
mov ecx, dword [esi + 0x8a4]
call fcn.004d2100
mov dword [esi + 0x78c], eax
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], 0
mov dword [eax + 4], 0
call fcn.0054b250
mov ecx, dword [esi + 0x898]
call fcn.00524da0
call fcn.0054b260
mov ecx, dword [esi + 0x898]
call fcn.004d2170
mov byte [esi + 0x787], al
mov al, byte [esi + 0x787]
test al, 1
jne 0x538519
jmp 0x5384fd
call fcn.0054b270
mov dword [eax], 0xfffffffd
mov ecx, dword [esi + 0x894]
mov dword [ecx], 1
jmp 0x549b3e
mov eax, 0
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0x95af76cf
add edi, 0x780195b8
sub edi, 0x6a508931
sub edi, 0xdf70f937
sub edi, 1
sub edi, 0x208f06c9
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x87fe6a48
add ebx, edi
sub eax, ebx
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x5385ab
jmp 0x549d53
mov eax, 0
call fcn.0054b280
call fcn.0054b290
mov edi, ecx
add edi, 0xf2ece0fb
add edi, 0xccd69fe9
add edi, 0xd131f05
mov ebx, eax
add ebx, 0xffffffff
add edi, ebx
sub eax, 0x33296017
sub edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x53862a
jmp 0x549d53
mov ecx, dword [esi + 0x898]
call fcn.00552000
mov byte [esi + 0x786], al
mov al, byte [esi + 0x786]
and al, 1
mov byte [0x8085c8], al
call fcn.0054b2a0
call fcn.0050b1a0
call fcn.0054b2b0
call fcn.0054b2c0
call fcn.005328c0
mov dword [esi + 0x77c], eax
mov eax, dword [esi + 0x88c]
call fcn.0054b2d0
call fcn.0054b2e0
mov edx, dword [esi + 0x8b4]
cmp dword [edx], 0
je 0x53b206
mov eax, 0x21
mov ecx, dword [esi + 0x8b4]
mov edx, dword [ecx]
movsx edx, byte [edx]
cmp eax, edx
jne 0x53b206
mov eax, dword [esi + 0x8b4]
mov ecx, dword [eax]
movsx ecx, byte [ecx + 1]
sub esp, 4
mov dword [esp], ecx
call fcn.00449fa4
add esp, 4
mov dword [esi + 0x778], eax
mov eax, 0x78
mov ecx, dword [esi + 0x778]
cmp eax, ecx
jne 0x53b206
mov eax, 0x3a
call fcn.0054b2f0
mov edx, dword [ecx]
movsx edx, byte [edx + 2]
cmp eax, edx
jne 0x53b206
call fcn.0054b300
call fcn.004d2100
mov dword [esi + 0x774], eax
call fcn.0054b310
mov ecx, dword [eax]
add ecx, 3
mov dword [eax], ecx
mov al, 0
mov ecx, dword [esi + 0x8b4]
mov edx, dword [ecx]
cmp byte [edx], 0
mov byte [esi + 0x773], al
je 0x538ada
mov al, 1
mov ecx, 0x5cd926a7
mov edx, dword [0x80a094]
call fcn.0054b320
add ecx, 0
sub ecx, 1
sub ecx, 0x5cd926a7
mov ebx, edx
add ebx, 0x86b1405c
add ebx, ecx
add ebx, 0x794ebfa4
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push ecx
mov ecx, 0xef33b525
xor ecx, 0xef33b52f
cmp edi, ecx
pop ecx
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x772], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
xor ah, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x772]
xor bh, 1
or ah, al
or bh, 1
xor ah, 1
and ah, bh
mov al, dl
xor al, 1
mov bh, byte [esi + 0x772]
xor bh, 1
mov byte [esi + 0x771], al
mov al, byte [esi + 0x772]
xor al, 1
mov byte [esi + 0x770], al
mov al, byte [esi + 0x771]
or al, bh
mov bh, byte [esi + 0x770]
or bh, 1
xor al, 1
and al, bh
xor cl, 1
mov bh, dh
xor bh, 1
mov byte [esi + 0x76f], al
mov al, byte [esi + 0x772]
xor al, 1
or cl, bh
or al, 1
xor cl, 1
and cl, al
mov al, bl
xor al, 1
mov bh, ah
xor bh, 1
mov byte [esi + 0x76e], al
mov al, byte [esi + 0x772]
xor al, 0
mov byte [esi + 0x76d], al
mov al, byte [esi + 0x76e]
and al, 0
mov byte [esi + 0x76c], al
mov al, byte [esi + 0x76d]
and bl, al
mov al, bh
and al, 0
mov byte [esi + 0x76b], al
mov al, byte [esi + 0x76d]
and ah, al
mov al, byte [esi + 0x76c]
or al, bl
mov bl, byte [esi + 0x76b]
or bl, ah
xor al, bl
mov ah, byte [esi + 0x76e]
or ah, bh
xor ah, 1
mov bl, byte [esi + 0x76d]
or bl, 0
and ah, bl
or al, ah
mov ah, byte [esi + 0x76f]
xor ah, 1
mov bl, cl
xor bl, 1
mov bh, byte [esi + 0x772]
xor bh, 1
mov byte [esi + 0x76a], al
mov al, ah
and al, 1
mov byte [esi + 0x769], al
mov al, byte [esi + 0x76f]
and al, bh
mov byte [esi + 0x768], al
mov al, bl
and al, 1
and cl, bh
mov byte [esi + 0x767], al
mov al, byte [esi + 0x769]
mov byte [esi + 0x766], cl
mov cl, byte [esi + 0x768]
or al, cl
mov cl, byte [esi + 0x767]
mov byte [esi + 0x765], al
mov al, byte [esi + 0x766]
or cl, al
mov al, byte [esi + 0x765]
xor al, cl
or ah, bl
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov cl, byte [esi + 0x76a]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x76a]
and cl, al
or ah, cl
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x772]
xor dl, 0
and al, dl
mov ch, byte [esi + 0x772]
xor ch, 1
and ch, 0
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, byte [esi + 0x772]
xor al, 1
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x772]
xor ch, 1
mov bl, al
and bl, 1
mov bh, ch
and bh, 1
mov byte [esi + 0x764], al
mov al, dl
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
mov al, byte [esi + 0x764]
or al, dl
xor al, 1
or ch, 1
and al, ch
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x5389e4
jmp 0x54ad36
mov al, 1
mov ecx, 0
mov edx, 0x13b060d3
call fcn.0054b330
mov ebx, dword [edi]
movsx ebx, byte [ebx]
cmp ebx, 0x20
setne ah
mov ebx, dword [0x80a094]
call fcn.0054b340
add edx, 0
add edx, 0xffffffff
sub edx, 0x13b060d3
mov dword [esi + 0x760], ecx
sub ecx, ebx
mov dword [esi + 0x75c], ecx
mov ecx, dword [esi + 0x760]
sub ecx, edx
mov edx, dword [esi + 0x75c]
add edx, ecx
mov ecx, dword [esi + 0x760]
sub ecx, edx
imul ebx, ecx
and ebx, 1
cmp ebx, 0
sete cl
cmp edi, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
mov bl, al
xor bl, 0
or dl, dh
or bl, 0
xor dl, 1
and dl, bl
mov dh, cl
xor dh, 1
mov bl, ch
and bl, dh
xor ch, 1
and cl, ch
or bl, cl
mov cl, dl
xor cl, 1
mov ch, bl
xor ch, 1
xor al, 0
mov dh, cl
and dh, 0
and dl, al
mov bh, ch
and bh, 0
and bl, al
or dh, dl
or bh, bl
xor dh, bh
or cl, ch
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
mov byte [esi + 0x75b], ah
jne 0x538ac9
jmp 0x54ad36
mov al, byte [esi + 0x75b]
mov byte [esi + 0x773], al
jmp 0x538ada
mov al, byte [esi + 0x773]
test al, 1
jne 0x538aed
jmp 0x538b26
mov eax, dword [esi + 0x8b4]
mov ecx, dword [eax]
mov dl, byte [ecx]
sub esp, 4
movsx ecx, dl
mov edi, esp
mov dword [edi], ecx
mov ecx, dword [esi + 0x888]
call fcn.00478c80
call fcn.0054b350
call fcn.0054b360
sub ecx, 0xffffffff
call fcn.0054b370
jmp 0x53870b
jmp 0x538b2b
mov al, 1
mov ecx, 0
mov edx, 0xf764cd33
mov edi, dword [0x80a094]
call fcn.0054b380
sub edx, 0
sub edx, 1
add edx, 0x89b32cd
sub ecx, edx
mov edx, edi
sub edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x75a], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x75a]
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x759], al
mov al, byte [esi + 0x75a]
xor al, 0
mov byte [esi + 0x758], al
mov al, byte [esi + 0x759]
or cl, al
mov al, byte [esi + 0x758]
or al, 0
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov bl, ah
and bl, cl
xor ah, cl
or bl, ah
mov cl, al
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x75a]
xor ah, 1
and al, ah
mov bh, bl
xor bh, 1
and bh, 1
and bl, ah
or cl, al
or bh, bl
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x75a]
xor bl, 1
mov bh, al
and bh, 1
and ch, bl
mov byte [esi + 0x757], al
mov al, ah
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x757]
or al, ah
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esi + 0x75a]
xor dl, 1
and bh, dl
or al, bh
mov dl, dh
and dl, 1
xor dh, 1
or dl, dh
xor dl, 1
mov ah, al
xor ah, dl
and ah, al
mov al, cl
xor al, 1
mov dl, ah
xor dl, 1
mov ch, byte [esi + 0x75a]
xor ch, 1
mov dh, al
and dh, 1
and cl, ch
mov bl, dl
and bl, 1
and ah, ch
or dh, cl
or bl, ah
xor dh, bl
or al, dl
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x538cf3
jmp 0x54ad3b
mov al, 1
mov ecx, dword [esi + 0x8b4]
mov edx, dword [ecx]
cmp byte [edx], 0
setne ah
mov edx, dword [0x80a094]
call fcn.0054b390
mov ebx, edx
sub ebx, 0x4bffa203
add ebx, 0x7792f6fc
sub ebx, 0xb4005dfd
add ebx, 0xed2d076f
add ebx, 0xffffffff
add ebx, 0x12d2f891
add ebx, 0xd3c1944e
add ebx, 0x886d0904
add ebx, 0x2c3e6bb2
imul edx, ebx
and edx, 1
cmp edx, 0
sete cl
cmp edi, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
mov bl, al
xor bl, 0
or dl, dh
or bl, 0
xor dl, 1
and dl, bl
mov dh, cl
xor dh, 1
mov bl, ch
and bl, dh
xor ch, 1
and cl, ch
or bl, cl
mov cl, dl
xor cl, 1
mov ch, bl
xor ch, 1
xor al, 0
mov dh, cl
and dh, 0
and dl, al
mov bh, ch
and bh, 0
and bl, al
or dh, dl
or bh, bl
xor dh, bh
or cl, ch
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
mov byte [esi + 0x756], ah
jne 0x538dc9
jmp 0x54ad3b
mov al, 0
mov cl, byte [esi + 0x756]
test cl, 1
mov byte [esi + 0x755], al
jne 0x538de5
jmp 0x538f64
mov al, 1
mov ecx, 0
call fcn.0054b3a0
mov edi, dword [0x80a090]
mov ebx, 0x447ce4
mov ebx, ecx
sub ebx, 0xa443c383
mov byte [esi + 0x754], al
mov eax, edx
add eax, ebx
add ecx, 0xffffffff
add eax, ecx
add eax, 0x7c473684
add eax, 0xa443c383
add eax, 0x83b8c97c
imul edx, eax
and edx, 1
cmp edx, 0
sete al
push edx
mov edx, 0x388918c0
xor edx, 0x388918ca
cmp edi, edx
pop edx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x754]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x538e8c
jmp 0x54ad40
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x8b4]
mov edi, dword [edx]
movsx edi, byte [edi]
cmp edi, 0x20
sete ah
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov edx, ecx
sub edx, edi
mov dword [esi + 0x750], ecx
add ecx, 0x215e1344
add edx, ecx
call fcn.0054b3b0
sub ecx, edx
add ecx, 0x4ddbe36c
sub ecx, 1
add ecx, 0xb2241c94
sub ecx, 0x8fb0f48
sub ecx, 0xdea1ecbc
sub ecx, 0xf704f0b8
imul edi, ecx
and edi, 1
cmp edi, 0
sete cl
push ecx
mov ecx, 0xfc81e660
xor ecx, 0xfc81e66a
cmp ebx, ecx
pop ecx
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor al, 1
or dl, dh
or al, 1
xor dl, 1
and dl, al
mov al, cl
xor al, 1
mov dh, ch
and dh, al
xor ch, 1
and cl, ch
or dh, cl
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov byte [esi + 0x74f], ah
jne 0x538f53
jmp 0x54ad40
mov al, byte [esi + 0x74f]
mov byte [esi + 0x755], al
jmp 0x538f64
mov al, byte [esi + 0x755]
test al, 1
jne 0x538f77
jmp 0x538f8e
call fcn.0054b3c0
call fcn.0054b3d0
sub ecx, 0xffffffff
mov dword [eax], ecx
jmp 0x538b2b
mov ecx, dword [esi + 0x888]
call fcn.0052df00
sub esp, 4
mov dword [esp], eax
call fcn.00449103
add esp, 4
mov dword [esi + 0x748], eax
mov eax, dword [esi + 0x884]
mov ecx, dword [esi + 0x748]
call fcn.0054b3e0
mov edx, dword [esi + 0x880]
mov dword [edx], 0
mov edi, dword [esi + 0x88c]
mov ebx, dword [edi]
mov ebx, dword [ebx + 0xc]
mov ebx, dword [ebx + 4]
mov eax, dword [esi + 0x87c]
mov dword [eax], ebx
mov ebx, dword [esi + 0x878]
mov dword [ebx], 0
call fcn.0054b3f0
cmp dword [eax], 0
je 0x539b03
mov eax, 0
mov ecx, dword [esi + 0x884]
mov edx, dword [ecx]
mov edi, dword [esi + 0x878]
mov ebx, dword [edi]
sub eax, 0x7286d70f
add ebx, eax
add ebx, 0x4f653f74
add ebx, 1
sub ebx, 0x4f653f74
add ebx, 0x352fbf19
add ebx, 0x7286d70f
add ebx, 0xcad040e7
cmp edx, ebx
jne 0x53997f
mov eax, 0xffffffff
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx]
mov edx, dword [edx]
mov edi, edx
xor edi, 0xffffffff
and edi, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
and edx, ebx
or edi, edx
mov edx, eax
xor edx, 0x800
and edx, 0x19bd8f23
mov ebx, eax
xor ebx, 0x19bd8f23
mov ecx, ebx
and ecx, 0x800
call fcn.0054b400
xor eax, 0xffffffff
and eax, 0x19bd8f23
and ebx, 0xffffffff
or edx, ecx
or eax, ebx
xor edx, eax
mov eax, dword [esi + 0x744]
xor eax, 0xdf8a18ce
and eax, 0xffffffff
mov ecx, dword [esi + 0x744]
xor ecx, 0xffffffff
and ecx, 0xdf8a18ce
or eax, ecx
mov ecx, edi
and ecx, edx
xor edi, edx
or ecx, edi
mov edx, 0x447cf0
mov edx, eax
and edx, 0xdf8a18ce
xor eax, 0xdf8a18ce
or edx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9e0d9755
call fcn.0054b410
xor edi, 0x9e0d9755
and ecx, edi
mov ebx, dword [esi + 0x744]
xor ebx, 0xffffffff
and ebx, 0x9e0d9755
and edi, 0xffffffff
or eax, ecx
or ebx, edi
xor eax, ebx
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
cmp ecx, 0
jne 0x53913b
jmp 0x539b03
mov eax, dword [esi + 0x87c]
mov ecx, dword [eax]
sub esp, 8
mov edx, esp
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x874]
mov dword [edx], ecx
mov ecx, dword [esi + 0x898]
call fcn.004e1900
mov ecx, dword [esi + 0x874]
call fcn.00525d40
cmp eax, 0
je 0x539965
cmp dword [0x800778], 0
je 0x5391b9
mov eax, dword [0x8009e8]
sub esp, 0xc
mov ecx, esp
call fcn.0054b420
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x104
mov dword [ecx], 0
call eax
call fcn.0054b430
call fcn.0054b440
call fcn.0054b450
jmp 0x5391c8
mov eax, 0
call fcn.0054b460
jmp 0x5391c8
mov eax, dword [esi + 0x73c]
cmp eax, 0
jne 0x5391e8
call fcn.0054b470
call fcn.0054b480
jmp 0x53996f
sub esp, 4
mov eax, 0x447cd8
mov eax, esp
call fcn.0054b490
call fcn.0054b4a0
call fcn.0054b4b0
call fcn.004772c0
mov dword [esi + 0x738], eax
call fcn.0054b4c0
call fcn.004d2e20
mov dword [esi + 0x734], eax
mov al, 1
mov ecx, 0x52d859a8
call fcn.0054b4d0
call fcn.0054b4e0
add ecx, 0
sub ecx, 1
sub ecx, 0x52d859a8
mov ebx, edx
sub ebx, 0x1859929f
add ebx, ecx
sub ebx, 0xe7a66d61
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or ch, ah
or dh, cl
xor ch, dh
mov al, dl
and al, ch
xor dl, ch
or al, dl
test al, 1
jne 0x5392a6
jmp 0x549d58
mov al, 1
call fcn.0054b4f0
call fcn.0054b500
mov edi, ecx
add edi, 0x52efe848
add edi, 0x5717b8d6
sub edi, 0x52efe848
add edi, 0x3154f2bd
sub edi, 1
sub edi, 0x3154f2bd
sub edi, 0xc992d78
sub edi, 0x5717b8d6
sub edi, 0xf366d288
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, bl
xor bh, 1
mov cl, ah
xor cl, bh
and cl, ah
mov bh, ah
xor bh, 1
and bh, 1
xor al, 1
and ah, al
mov ch, bl
xor ch, 1
and ch, 1
and bl, al
or bh, ah
or ch, bl
xor bh, ch
mov al, cl
and al, bh
xor cl, bh
or al, cl
test al, 1
jne 0x539341
jmp 0x549d58
sub esp, 4
mov eax, esp
mov dword [eax], 0x22
call fcn.0054b510
call fcn.005328e0
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x86c]
mov dword [eax], ecx
call fcn.0054b520
call fcn.00552470
mov dword [esi + 0x730], eax
sub esp, 4
mov eax, esp
mov dword [eax], 0x22
call fcn.0054b530
call fcn.005328e0
mov al, 1
mov ecx, 0
mov edx, 0x771b5715
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
sub edx, 0
sub edx, 1
add edx, 0x88e4a8eb
sub ecx, edx
mov edx, edi
sub edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
mov dh, cl
and dh, dl
xor cl, 1
and ah, cl
or dh, ah
mov cl, ch
xor cl, 1
mov dl, dh
xor dl, 1
xor al, 1
mov ah, cl
and ah, 1
and ch, al
mov bl, dl
and bl, 1
and dh, al
or ah, ch
or bl, dh
xor ah, bl
or cl, dl
xor cl, 1
or al, 1
and cl, al
or ah, cl
test ah, 1
jne 0x539435
jmp 0x54ad45
mov al, 1
mov ecx, 0
call fcn.0054b540
call fcn.0054b550
sub ecx, 0xe87c5994
mov ebx, edx
sub ebx, ecx
sub ebx, 0x82faf2d9
sub ebx, 1
sub ebx, 0x7d050d27
add ebx, 0xd557d666
add ebx, 0x1783a66c
sub ebx, 0xd557d666
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push ecx
mov ecx, 0xde4f14b1
xor ecx, 0xde4f14bb
cmp edi, ecx
pop ecx
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x72f], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x72f]
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x72e], al
mov al, byte [esi + 0x72f]
xor al, 1
mov byte [esi + 0x72d], al
mov al, byte [esi + 0x72e]
or cl, al
mov al, byte [esi + 0x72d]
or al, 1
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov bl, ah
xor bl, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x72c], al
mov al, byte [esi + 0x72f]
xor al, 0
mov byte [esi + 0x72b], al
mov al, bl
and al, 0
mov byte [esi + 0x72a], al
mov al, byte [esi + 0x72b]
and ah, al
mov al, bh
and al, 0
mov byte [esi + 0x729], al
mov al, byte [esi + 0x72b]
and cl, al
mov al, byte [esi + 0x72a]
or al, ah
mov ah, byte [esi + 0x729]
or ah, cl
xor al, ah
or bl, bh
xor bl, 1
mov cl, byte [esi + 0x72b]
or cl, 0
and bl, cl
or al, bl
mov cl, byte [esi + 0x72c]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x72f]
xor ah, 1
mov bl, byte [esi + 0x72c]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x72f]
xor bl, 1
mov bh, al
and bh, 1
and ch, bl
mov byte [esi + 0x728], al
mov al, ah
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x728]
or al, ah
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esi + 0x72f]
xor dl, 1
and bh, dl
or al, bh
mov dl, byte [esi + 0x72f]
xor dl, 1
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x72f]
xor ch, 0
mov bl, dl
and bl, 0
mov bh, ch
and bh, 1
mov byte [esi + 0x727], al
mov al, ah
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or dl, ah
xor dl, 1
or ch, 0
and dl, ch
or bl, dl
mov al, byte [esi + 0x727]
xor al, 1
xor bl, 1
mov dl, byte [esi + 0x72f]
xor dl, 1
or al, bl
or dl, 1
xor al, 1
and al, dl
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x53969e
jmp 0x54ad45
sub esp, 4
mov eax, esp
mov dword [eax], 0x20
mov ecx, dword [esi + 0x868]
call fcn.005328e0
mov eax, 0
call fcn.0054b560
call fcn.0054b570
sub esp, 0xc
call fcn.0054b580
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call fcn.0054b590
call fcn.004ae220
add esp, 0xc
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x864]
mov dword [eax], ecx
call fcn.0054b5a0
call fcn.00552470
mov dword [esi + 0x71c], eax
mov ecx, dword [esi + 0x864]
call fcn.004101e0
call fcn.0054b5b0
call fcn.0050c010
mov dword [esi + 0x718], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xbf72cb04
add ebx, 0xffffffff
add ebx, 0xbf72cb04
mov byte [esi + 0x717], al
mov eax, ecx
sub eax, edx
mov dword [esi + 0x710], eax
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x710]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
push ecx
mov ecx, 0x18a026bf
xor ecx, 0x18a026bf
cmp edx, ecx
pop ecx
sete al
push ecx
mov ecx, 0x96072f85
xor ecx, 0x96072f8f
cmp edi, ecx
pop ecx
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x717]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
and al, cl
xor ch, cl
or al, ch
test al, 1
jne 0x5397d4
jmp 0x54ad4a
mov al, 1
mov ecx, 0
mov edx, 0x47f28f5b
mov edi, dword [0x80a094]
call fcn.0054b5c0
add edx, 0
add edx, 0xffffffff
sub edx, 0x47f28f5b
sub ecx, edx
mov edx, edi
sub edx, ecx
imul edi, edx
and edi, 1
push edx
mov edx, 0x2854f5d2
xor edx, 0x2854f5d2
cmp edi, edx
pop edx
sete ah
cmp ebx, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or ch, ah
or dh, cl
xor ch, dh
mov al, dl
and al, ch
xor dl, ch
or al, dl
test al, 1
jne 0x539863
jmp 0x54ad4a
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x86c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x860]
call fcn.004d31b0
mov dword [esi + 0x70c], eax
mov eax, dword [0x8085c4]
mov ecx, dword [esi + 0x860]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi + 0x874]
call fcn.00525d40
sub esp, 4
mov ecx, esp
call fcn.0054b5d0
mov ecx, dword [esi + 0x874]
mov dword [esi + 0x708], eax
call fcn.00477900
mov dword [esi + 0x704], eax
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0x860]
mov dword [eax + 0xc], ecx
call fcn.0054b5e0
mov dword [eax + 4], edx
mov edi, dword [esi + 0x704]
mov dword [eax], edi
mov dword [eax + 8], 1
mov ecx, dword [esi + 0x85c]
call fcn.004bea70
call fcn.0054b5f0
mov ecx, dword [esi + 0x868]
call fcn.00479140
mov ecx, 0
sub esp, 0xc
mov edx, dword [esi + 0x85c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esi + 0x6fc], ecx
call fcn.004c40a0
add esp, 0xc
mov dword [esi + 0x6f8], eax
call fcn.0054b600
call fcn.0054b610
call fcn.0054b620
call fcn.0054b630
call fcn.00431a70
call fcn.0054b640
call fcn.00533010
mov ecx, dword [esi + 0x868]
call fcn.004101e0
mov ecx, dword [esi + 0x86c]
call fcn.004101e0
call fcn.0054b650
call fcn.0054b660
mov ecx, dword [esi + 0x874]
call fcn.00506f10
jmp 0x539b03
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0xbfb50690
sub ebx, 0x8b673502
add ebx, 0xbfb50690
sub ebx, 0x7499a9ea
sub ebx, 1
add ebx, 0x7499a9ea
sub ecx, 0x7498cafe
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
xor cl, 1
mov ah, ch
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and dl, al
mov bl, ah
and bl, 1
and ch, al
or dh, dl
or bl, ch
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x539a3e
jmp 0x54ad4f
mov eax, 0
mov ecx, 0x3ea0f989
call fcn.0054b670
call fcn.0054b680
sub ecx, 0
add ecx, 0xffffffff
sub ecx, 0x3ea0f989
sub eax, ecx
mov ecx, edx
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete bl
cmp edi, 0xa
setl bh
mov al, bh
xor al, 1
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 1
mov cl, bh
and cl, al
xor bh, 1
and bl, bh
or cl, bl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x539ab3
jmp 0x54ad4f
jmp 0x539ab8
mov eax, 0
call fcn.0054b690
mov edx, dword [ecx]
call fcn.0054b6a0
mov dword [ecx], edx
mov edx, dword [esi + 0x878]
call fcn.0054b6b0
mov ebx, eax
add ebx, 0xfbc9490c
sub edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 1
add ebx, edi
mov edi, eax
sub edi, ebx
sub eax, 0x436b6f4
add edi, eax
call fcn.0054b6c0
jmp 0x538fec
mov al, 1
pushfd
mov ecx, 0x2b7610ab
sub ecx, 0x2b7610ab
popfd
mov edx, dword [0x80a094]
call fcn.0054b6d0
mov ebx, edx
sub ebx, 0xfc489b0
add ebx, 0x7ed4ceb8
add ebx, 0xfc489b0
mov byte [esi + 0x6f7], al
mov eax, ecx
sub eax, 1
add ebx, eax
sub ecx, 0x7ed4ceb8
add ebx, ecx
imul edx, ebx
and edx, 1
push ebx
mov ebx, 0x876bff4f
xor ebx, 0x876bff4f
cmp edx, ebx
pop ebx
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x6f7]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
xor al, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x6f7]
xor ah, 1
mov dh, al
and dh, 1
and cl, ah
mov bl, dl
and bl, 1
and ch, ah
or dh, cl
or bl, ch
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x539bd8
jmp 0x54ad54
mov al, 1
cmp dword [0x7ff83c], 0
setne cl
mov edx, dword [0x80a094]
call fcn.0054b6e0
mov ebx, ecx
mov ebx, edx
sub ebx, 0x6d1c1fa9
add ebx, 0xb322f65e
add ebx, 0x6d1c1fa9
sub ebx, 0x89bc585d
add ebx, 0xffffffff
add ebx, 0x89bc585d
add ebx, 0xe16bad0e
sub ebx, 0xb322f65e
add ebx, 0x1e9452f2
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl ch
mov dl, ah
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, ch
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, ch
and bh, bl
or dh, bh
mov bl, al
xor bl, 1
and bl, 0
mov bh, al
xor bh, 0
mov byte [esi + 0x6f6], al
mov al, bh
and al, 1
mov byte [esi + 0x6f5], al
mov al, byte [esi + 0x6f6]
xor al, 1
and al, 0
and bh, 1
mov byte [esi + 0x6f4], al
mov al, byte [esi + 0x6f5]
or bl, al
mov al, byte [esi + 0x6f4]
or al, bh
xor bl, al
mov al, dl
xor al, 1
mov bh, byte [esi + 0x6f6]
xor bh, 1
mov byte [esi + 0x6f3], al
mov al, byte [esi + 0x6f6]
xor al, 0
mov byte [esi + 0x6f2], al
mov al, byte [esi + 0x6f3]
or al, bh
mov bh, byte [esi + 0x6f2]
or bh, 0
xor al, 1
and al, bh
mov bh, bl
xor bh, 1
mov byte [esi + 0x6f1], al
mov al, ah
xor al, bh
and al, ah
mov ah, byte [esi + 0x6f6]
xor ah, 1
mov bh, dh
xor bh, ah
and bh, dh
xor ch, 1
mov ah, bl
xor ah, 1
mov byte [esi + 0x6f0], al
mov al, byte [esi + 0x6f6]
xor al, 1
or ch, ah
or al, 1
xor ch, 1
and ch, al
mov al, byte [esi + 0x6f1]
xor al, 1
mov ah, byte [esi + 0x6f0]
xor ah, 1
mov byte [esi + 0x6ef], al
mov al, byte [esi + 0x6f6]
xor al, 0
mov byte [esi + 0x6ee], al
mov al, byte [esi + 0x6ef]
and al, 0
mov byte [esi + 0x6ed], al
mov al, byte [esi + 0x6f1]
mov byte [esi + 0x6ec], cl
mov cl, byte [esi + 0x6ee]
and al, cl
mov cl, ah
and cl, 0
mov byte [esi + 0x6eb], al
mov al, byte [esi + 0x6f0]
mov byte [esi + 0x6ea], cl
mov cl, byte [esi + 0x6ee]
and al, cl
mov cl, byte [esi + 0x6ed]
mov byte [esi + 0x6e9], al
mov al, byte [esi + 0x6eb]
or cl, al
mov al, byte [esi + 0x6ea]
mov byte [esi + 0x6e8], cl
mov cl, byte [esi + 0x6e9]
or al, cl
mov cl, byte [esi + 0x6e8]
xor cl, al
mov al, byte [esi + 0x6ef]
or al, ah
xor al, 1
mov ah, byte [esi + 0x6ee]
or ah, 0
and al, ah
or cl, al
mov al, bh
xor al, 1
mov ah, ch
xor ah, 1
mov byte [esi + 0x6e7], al
mov al, byte [esi + 0x6f6]
xor al, 0
mov byte [esi + 0x6e6], al
mov al, byte [esi + 0x6e7]
and al, 0
mov byte [esi + 0x6e5], al
mov al, byte [esi + 0x6e6]
and bh, al
mov al, ah
and al, 0
mov byte [esi + 0x6e4], al
mov al, byte [esi + 0x6e6]
and ch, al
mov al, byte [esi + 0x6e5]
or al, bh
mov bh, byte [esi + 0x6e4]
or bh, ch
xor al, bh
mov ch, byte [esi + 0x6e7]
or ch, ah
xor ch, 1
mov ah, byte [esi + 0x6e6]
or ah, 0
and ch, ah
or al, ch
mov ah, cl
xor ah, 1
mov ch, al
and ch, ah
xor al, 1
and cl, al
or ch, cl
mov al, dl
and al, dh
xor dl, dh
or al, dl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x6f6]
xor dl, 1
and al, dl
mov ah, byte [esi + 0x6f6]
xor ah, 1
and ah, 1
and dl, 1
or cl, al
or ah, dl
xor cl, ah
mov al, bl
and al, 1
xor bl, 1
or al, bl
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x6f6]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, cl
and bl, 1
and dl, ah
or dh, ch
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x539ecf
jmp 0x54ad54
mov al, byte [esi + 0x6ec]
test al, 1
jne 0x539ee2
jmp 0x53af93
mov al, 1
mov ecx, 0xebd759d7
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0
sub ecx, 1
sub ecx, 0xebd759d7
mov ebx, edx
add ebx, 0xb61fcf49
add ebx, ecx
sub ebx, 0xb61fcf49
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
or ch, dl
or al, 1
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x539f6b
jmp 0x549d5d
mov al, 1
mov ecx, 0
call fcn.0054b6f0
call fcn.0054b700
sub ecx, 0x1bb0e94c
mov ebx, edx
add ebx, ecx
add ebx, 0x87b842e5
sub ebx, 1
sub ebx, 0x87b842e5
add ebx, 0xeb523f7e
add ebx, 0x1bb0e94c
sub ebx, 0xeb523f7e
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
or ch, dl
or al, 0
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x539ffe
jmp 0x54ad59
mov al, 1
mov ecx, 0
call fcn.0054b710
mov edi, dword [esi + 0x880]
mov ebx, dword [edi]
call fcn.0054b720
mov byte [esi + 0x6e3], al
mov eax, dword [0x80a090]
mov dword [esi + 0x6dc], eax
mov eax, ecx
sub eax, edi
mov dword [esi + 0x6d8], eax
mov eax, ecx
add eax, 0xbb3aebeb
call fcn.0054b730
mov eax, dword [esi + 0x6d8]
mov dword [esi + 0x6d0], ecx
call fcn.0054b740
add eax, ecx
mov ecx, dword [esi + 0x6d0]
sub ecx, eax
add ecx, 0x44d83bd5
sub ecx, 1
sub ecx, 0x44d83bd5
sub ecx, 0xaa3753ea
sub ecx, 0x44c51415
add ecx, 0xaa3753ea
imul edi, ecx
and edi, 1
cmp edi, 0
sete al
mov ecx, dword [esi + 0x6dc]
push edx
mov edx, 0xb96eff4d
xor edx, 0xb96eff47
cmp ecx, edx
pop edx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov byte [esi + 0x6cf], al
mov al, byte [esi + 0x6e3]
xor al, 1
or cl, ch
or al, 1
xor cl, 1
and cl, al
mov al, byte [esi + 0x6cf]
xor al, 1
mov ch, ah
and ch, al
xor ah, 1
mov al, byte [esi + 0x6cf]
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
mov dword [esi + 0x6c8], edx
mov dword [esi + 0x6c4], ebx
jne 0x53a103
jmp 0x54ad59
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xb698f780
mov byte [esi + 0x6c3], al
mov eax, edx
add eax, ebx
sub ecx, 1
add eax, ecx
add eax, 0x80b45664
sub eax, 0x49670880
add eax, 0x7f4ba99c
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x6c3]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x53a19e
jmp 0x549d5d
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call eax
mov dword [esi + 0x6bc], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054b750
mov ebx, ecx
sub ebx, 0x16b15221
sub ebx, 1
sub ebx, 0xe94eaddf
mov byte [esi + 0x6bb], al
mov eax, ecx
sub eax, edx
mov dword [esi + 0x6b4], eax
mov eax, ecx
sub eax, ebx
call fcn.0054b760
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ecx
mov ecx, 0xfcfb5815
xor ecx, 0xfcfb581f
cmp edi, ecx
pop ecx
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x6bb]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x6bb]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x6bb]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x6bb]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x6bb]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x6bb]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x6bb]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x6bb]
xor bh, 1
or al, dh
or bh, 1
xor al, 1
and al, bh
mov dh, byte [esi + 0x6bb]
xor dh, 1
mov bh, dl
xor bh, dh
and bh, dl
mov dh, ch
xor dh, 1
mov byte [esi + 0x6b3], al
mov al, ah
xor al, dh
and al, ah
mov ah, bl
mov dh, byte [esi + 0x6b3]
and ah, dh
xor bl, dh
or ah, bl
mov bl, bh
xor bl, 1
mov dh, al
xor dh, 1
mov byte [esi + 0x6b2], al
mov al, byte [esi + 0x6bb]
xor al, 0
mov byte [esi + 0x6b1], al
mov al, bl
and al, 0
mov byte [esi + 0x6b0], al
mov al, byte [esi + 0x6b1]
and bh, al
mov al, dh
and al, 0
mov byte [esi + 0x6af], al
mov al, byte [esi + 0x6b2]
mov byte [esi + 0x6ae], cl
mov cl, byte [esi + 0x6b1]
and al, cl
mov cl, byte [esi + 0x6b0]
or cl, bh
mov bh, byte [esi + 0x6af]
or bh, al
xor cl, bh
or bl, dh
xor bl, 1
mov al, byte [esi + 0x6b1]
or al, 0
and bl, al
or cl, bl
mov al, ah
xor al, 1
mov dh, cl
and dh, al
xor cl, 1
and ah, cl
or dh, ah
mov al, byte [esi + 0x6ae]
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x6bb]
xor ah, 1
mov bl, al
and bl, 1
mov bh, byte [esi + 0x6ae]
and bh, ah
mov byte [esi + 0x6ad], al
mov al, cl
and al, 1
and dl, ah
or bl, bh
or al, dl
xor bl, al
mov al, byte [esi + 0x6ad]
or al, cl
xor al, 1
or ah, 1
and al, ah
or bl, al
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esi + 0x6bb]
xor cl, 1
and bl, cl
mov dl, byte [esi + 0x6bb]
xor dl, 1
and dl, 1
and cl, 1
or al, bl
or dl, cl
xor al, dl
mov cl, byte [esi + 0x6bb]
xor cl, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x6bb]
xor ah, 1
mov bl, cl
and bl, 1
mov bh, ah
and bh, 1
mov byte [esi + 0x6ac], al
mov al, dl
and al, 1
and ch, ah
or bl, bh
or al, ch
xor bl, al
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or bl, cl
xor bl, 1
mov al, byte [esi + 0x6ac]
xor al, bl
mov cl, byte [esi + 0x6ac]
and al, cl
mov dl, dh
and dl, al
xor dh, al
or dl, dh
test dl, 1
jne 0x53a42a
jmp 0x54ad5e
mov al, 1
mov ecx, 0
call fcn.0054b770
call fcn.0054b780
mov ebx, esi
mov ebx, ecx
sub ebx, 0xf3b8a86f
mov byte [esi + 0x6ab], al
mov eax, edx
sub eax, ebx
sub ecx, 1
add eax, ecx
sub eax, 0x5eda9bb9
sub eax, 0xf3b8a86f
sub eax, 0xa1256447
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x6ab]
xor dl, 1
and al, dl
mov dh, ah
xor dh, 1
and dh, 1
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
and al, cl
xor ch, cl
or al, ch
test al, 1
jne 0x53a4c5
jmp 0x54ad5e
mov al, 1
mov ecx, 0
call fcn.0054b790
call fcn.0054b7a0
add ecx, 0x4afa1189
mov ebx, edx
add ebx, ecx
add ebx, 0x8de085e6
sub ebx, 1
sub ebx, 0x8de085e6
add ebx, 0x2f735baf
add ebx, 0xb505ee77
sub ebx, 0x2f735baf
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x6aa], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dl
xor al, 1
mov ah, byte [esi + 0x6aa]
xor ah, 1
mov byte [esi + 0x6a9], al
mov al, byte [esi + 0x6aa]
xor al, 1
mov byte [esi + 0x6a8], al
mov al, byte [esi + 0x6a9]
or al, ah
mov ah, byte [esi + 0x6a8]
or ah, 1
xor al, 1
and al, ah
xor cl, 1
mov ah, dh
xor ah, 1
mov byte [esi + 0x6a7], al
mov al, byte [esi + 0x6aa]
xor al, 1
or cl, ah
or al, 1
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov ah, byte [esi + 0x6a7]
and ah, cl
mov bl, byte [esi + 0x6a7]
xor bl, cl
or ah, bl
mov cl, al
xor cl, 1
mov bl, ah
and bl, cl
xor ah, 1
and al, ah
or bl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x6aa]
xor dl, 0
and al, dl
mov ah, byte [esi + 0x6aa]
xor ah, 1
and ah, 0
and dl, 1
or cl, al
or ah, dl
xor cl, ah
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, bl
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x6aa]
xor ah, 0
mov ch, al
and ch, 0
and bl, ah
mov dh, cl
and dh, 0
and dl, ah
or ch, bl
or dh, dl
xor ch, dh
or al, cl
xor al, 1
or ah, 0
and al, ah
or ch, al
test ch, 1
jne 0x53a68a
jmp 0x54a17f
mov al, 1
mov ecx, 0
call fcn.0054b7b0
call fcn.0054b7c0
sub ecx, 0xb03ba59e
mov ebx, edx
add ebx, ecx
sub ebx, 0x2a82e0a2
add ebx, 0xffffffff
add ebx, 0x2a82e0a2
sub ebx, 0x94972eb3
sub ebx, 0x4fc45a62
sub ebx, 0x6b68d14d
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 0
or ch, dl
or dh, 0
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or dl, ah
or dh, cl
xor dl, dh
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x53a72e
jmp 0x54ad63
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xda411786
sub ebx, 1
add ebx, 0xda411786
sub ecx, ebx
mov ebx, edx
sub ebx, ecx
imul edx, ebx
and edx, 1
push ebx
mov ebx, 0xbc1d5cfa
xor ebx, 0xbc1d5cfa
cmp edx, ebx
pop ebx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
mov dh, cl
and dh, dl
xor cl, 1
and ah, cl
or dh, ah
mov cl, ch
xor cl, 1
mov dl, dh
xor dl, 1
xor al, 1
mov ah, cl
and ah, 1
and ch, al
mov bl, dl
and bl, 1
and dh, al
or ah, ch
or bl, dh
xor ah, bl
or cl, dl
xor cl, 1
or al, 1
and cl, al
or ah, cl
test ah, 1
jne 0x53a7e1
jmp 0x54ad63
mov al, 1
mov ecx, 0
call fcn.0054b7d0
call fcn.0054b7e0
mov ebx, edx
add ebx, 0xbc943ab9
add ebx, 0x21213d17
sub ebx, 0xbc943ab9
add ebx, 0x721f0d81
sub ebx, 1
add ebx, 0x8de0f27f
mov byte [esi + 0x6a6], al
mov eax, ecx
sub eax, ebx
mov ebx, ecx
add ebx, 0x21213d17
add eax, ebx
sub ecx, eax
imul edx, ecx
and edx, 1
push eax
mov eax, 0x345d1f83
xor eax, 0x345d1f83
cmp edx, eax
pop eax
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x6a6]
xor dl, 1
and al, dl
mov dh, ah
xor dh, 1
and dh, 1
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x6a6]
xor ah, 0
mov dh, al
and dh, 0
and ch, ah
mov bl, dl
and bl, 0
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x53a8bf
jmp 0x54a17f
sub esp, 8
mov eax, esp
call fcn.0054b7f0
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x6bc]
call fcn.0054b800
mov eax, dword [esi + 0x6c8]
call eax
mov dword [esi + 0x6a0], eax
mov al, 1
call fcn.0054b810
call fcn.0054b820
mov edi, ecx
sub edi, 0x3b289b30
sub edi, 0x9dbc7349
add edi, 0x3b289b30
add edi, 0xaeb818be
sub edi, 1
sub edi, 0xaeb818be
add edi, 0x7ad204dc
sub edi, 0x62438cb7
sub edi, 0x7ad204dc
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
mov ch, al
xor ch, 0
or bh, cl
or ch, 0
xor bh, 1
and bh, ch
mov cl, ah
xor cl, 1
and cl, 0
xor al, 0
and ah, al
mov ch, bl
xor ch, 1
and ch, 0
and bl, al
or cl, ah
or ch, bl
xor cl, ch
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x53a98e
jmp 0x54a184
mov al, 1
mov ecx, 0x3d8480ae
mov edx, dword [0x80a094]
call fcn.0054b830
add ecx, 0
sub ecx, 1
sub ecx, 0x3d8480ae
mov ebx, 0x447cd8
mov ebx, edx
add ebx, 0x30735a3e
add ebx, ecx
add ebx, 0xcf8ca5c2
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x69f], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dl
xor al, 1
mov ah, byte [esi + 0x69f]
xor ah, 0
mov byte [esi + 0x69e], al
mov al, byte [esi + 0x69f]
xor al, 1
mov byte [esi + 0x69d], al
mov al, byte [esi + 0x69e]
or al, ah
mov ah, byte [esi + 0x69d]
or ah, 1
xor al, 1
and al, ah
xor cl, 1
mov ah, dh
xor ah, 1
mov byte [esi + 0x69c], al
mov al, byte [esi + 0x69f]
xor al, 0
or cl, ah
or al, 0
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov ah, byte [esi + 0x69c]
xor ah, 1
mov bl, cl
xor bl, 1
mov bh, byte [esi + 0x69f]
xor bh, 1
mov byte [esi + 0x69b], al
mov al, ah
and al, 1
mov byte [esi + 0x69a], al
mov al, byte [esi + 0x69c]
and al, bh
mov byte [esi + 0x699], al
mov al, bl
and al, 1
and cl, bh
mov byte [esi + 0x698], al
mov al, byte [esi + 0x69a]
mov byte [esi + 0x697], cl
mov cl, byte [esi + 0x699]
or al, cl
mov cl, byte [esi + 0x698]
mov byte [esi + 0x696], al
mov al, byte [esi + 0x697]
or cl, al
mov al, byte [esi + 0x696]
xor al, cl
or ah, bl
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov cl, byte [esi + 0x69b]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x69b]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x69f]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x695], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x695]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x69f]
xor cl, 1
and bh, cl
or al, bh
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
mov al, ah
xor al, 1
mov cl, dl
xor cl, 1
mov ch, byte [esi + 0x69f]
xor ch, 0
mov dh, al
and dh, 0
and ah, ch
mov bl, cl
and bl, 0
and dl, ch
or dh, ah
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x53abd3
jmp 0x54a184
mov al, 1
mov ecx, 0x57d0e4
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
call fcn.0054b840
mov ebx, esi
mov ebx, edx
sub ebx, 0x66eedd8e
add ebx, 0xd91994bb
sub ebx, 0x99112272
sub ecx, 1
add ebx, ecx
add ebx, 0xaf5228bb
sub ebx, 0xd91994bb
add ebx, 0x50add745
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x694], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dl
xor al, 1
mov ah, byte [esi + 0x694]
xor ah, 0
mov byte [esi + 0x693], al
mov al, byte [esi + 0x694]
xor al, 0
mov byte [esi + 0x692], al
mov al, byte [esi + 0x693]
or al, ah
mov ah, byte [esi + 0x692]
or ah, 0
xor al, 1
and al, ah
xor cl, 1
mov ah, dh
xor ah, 1
mov byte [esi + 0x691], al
mov al, byte [esi + 0x694]
xor al, 0
or cl, ah
or al, 0
xor cl, 1
and cl, al
mov al, bl
xor al, 1
mov ah, bh
xor ah, 1
mov byte [esi + 0x690], al
mov al, byte [esi + 0x694]
xor al, 0
mov byte [esi + 0x68f], al
mov al, byte [esi + 0x690]
and al, 0
mov byte [esi + 0x68e], al
mov al, byte [esi + 0x68f]
and bl, al
mov al, ah
and al, 0
mov byte [esi + 0x68d], al
mov al, byte [esi + 0x68f]
and bh, al
mov al, byte [esi + 0x68e]
or al, bl
mov bl, byte [esi + 0x68d]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x690]
or bl, ah
xor bl, 1
mov ah, byte [esi + 0x68f]
or ah, 0
and bl, ah
or al, bl
mov ah, byte [esi + 0x691]
xor ah, 1
mov bl, cl
xor bl, 1
mov bh, byte [esi + 0x694]
xor bh, 1
mov byte [esi + 0x68c], al
mov al, ah
and al, 1
mov byte [esi + 0x68b], al
mov al, byte [esi + 0x691]
and al, bh
mov byte [esi + 0x68a], al
mov al, bl
and al, 1
and cl, bh
mov byte [esi + 0x689], al
mov al, byte [esi + 0x68b]
mov byte [esi + 0x688], cl
mov cl, byte [esi + 0x68a]
or al, cl
mov cl, byte [esi + 0x689]
mov byte [esi + 0x687], al
mov al, byte [esi + 0x688]
or cl, al
mov al, byte [esi + 0x687]
xor al, cl
or ah, bl
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov cl, byte [esi + 0x68c]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x694]
xor ah, 1
mov bl, byte [esi + 0x68c]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x694]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x686], al
mov al, ah
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x686]
or al, ah
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esi + 0x694]
xor dl, 1
and bh, dl
or al, bh
mov dl, byte [esi + 0x694]
xor dl, 0
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x694]
xor ch, 0
mov bl, dl
and bl, 0
mov bh, ch
and bh, 0
mov byte [esi + 0x685], al
mov al, ah
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or dl, ah
xor dl, 1
or ch, 0
and dl, ch
or bl, dl
xor bl, 1
mov al, byte [esi + 0x685]
xor al, bl
mov dl, byte [esi + 0x685]
and al, dl
mov ah, cl
xor ah, 1
mov ch, al
xor ch, 1
mov dh, byte [esi + 0x694]
xor dh, 1
mov bl, ah
and bl, 1
and cl, dh
mov bh, ch
and bh, 1
and al, dh
or bl, cl
or bh, al
xor bl, bh
or ah, ch
xor ah, 1
or dh, 1
and ah, dh
or bl, ah
test bl, 1
jne 0x53aeee
jmp 0x54ad68
mov al, 1
mov ecx, 0
call fcn.0054b850
call fcn.0054b860
mov ebx, eax
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x684], al
mov eax, ecx
add eax, 0x4a34b81a
add ebx, eax
mov eax, ecx
sub eax, ebx
sub ecx, 1
add eax, ecx
add eax, 0xab966c92
add eax, 0x4a34b81a
sub eax, 0xab966c92
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x684]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x53af8e
jmp 0x54ad68
jmp 0x53af98
jmp 0x53af98
mov eax, 0
call fcn.0054b870
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0xd85ef1a4
add edi, 0x6940f923
sub edi, 0x27a10e5c
add edi, 0x3294f9b
add edi, 0xffffffff
sub edi, 0x3294f9b
sub eax, 0x6940f923
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 1
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 1
mov cl, bh
and cl, al
xor bh, 1
and bl, bh
or cl, bl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x53b01e
jmp 0x54a189
mov ecx, dword [esi + 0x888]
call fcn.00506f10
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0xc2b4478c
add edi, 0x7807f157
add edi, 0xc2b4478c
add edi, 0x55431ca9
sub edi, 1
add edi, 0xaabce357
add edi, 0x3357207e
add edi, 0x87f80ea9
sub edi, 0x3357207e
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 1
and dl, 0
mov ch, al
xor ch, 0
mov dh, ch
and dh, 1
mov byte [esi + 0x683], al
xor al, 1
and al, 0
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, byte [esi + 0x683]
xor al, 1
mov ch, bh
xor ch, al
and ch, bh
mov al, dl
xor al, 1
mov dh, ah
xor dh, al
and dh, ah
mov al, byte [esi + 0x683]
xor al, 1
mov ah, cl
xor ah, al
and ah, cl
mov al, dl
xor al, 1
mov byte [esi + 0x682], al
mov al, bl
mov byte [esi + 0x681], cl
mov cl, byte [esi + 0x682]
xor al, cl
and al, bl
mov cl, ch
and cl, dh
xor ch, dh
or cl, ch
mov ch, ah
and ch, al
xor ah, al
or ch, ah
mov al, cl
xor al, 1
and al, 1
mov ah, byte [esi + 0x683]
xor ah, 1
and cl, ah
mov dh, ch
xor dh, 1
and dh, 1
and ch, ah
or al, cl
or dh, ch
xor al, dh
mov cl, bh
xor cl, 1
mov ah, byte [esi + 0x681]
xor ah, 1
mov ch, byte [esi + 0x683]
xor ch, 0
mov dh, cl
and dh, 0
and bh, ch
mov bl, ah
and bl, 0
mov byte [esi + 0x680], al
mov al, byte [esi + 0x681]
and al, ch
or dh, bh
or bl, al
xor dh, bl
or cl, ah
xor cl, 1
or ch, 0
and cl, ch
or dh, cl
mov al, dh
xor al, 1
and al, 0
mov cl, byte [esi + 0x683]
xor cl, 0
and dh, cl
mov ah, byte [esi + 0x683]
xor ah, 1
and ah, 0
and cl, 1
or al, dh
or ah, cl
xor al, ah
mov cl, dl
and cl, 1
xor dl, 1
or cl, dl
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x683]
xor dl, 0
or al, cl
or dl, 0
xor al, 1
and al, dl
mov cl, byte [esi + 0x680]
and cl, al
mov dl, byte [esi + 0x680]
xor dl, al
or cl, dl
test cl, 1
jne 0x53b201
jmp 0x54a189
jmp 0x53b206
call fcn.0054b880
call fcn.005207c0
call fcn.0054b890
call fcn.005575d0
call fcn.0054b8a0
mov dword [esi + 0x674], edx
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0xee402264
add edi, 0x258d69b6
add edi, 0xee402264
add edi, 0x1927cd1e
add edi, 0xffffffff
sub edi, 0x1927cd1e
sub edi, 0x65139eb2
add edi, 0xda72964a
add edi, 0x65139eb2
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 0
mov ch, al
xor ch, 0
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
and ch, 0
or dl, ch
mov ch, bh
xor ch, 1
mov dh, al
xor dh, 0
mov byte [esi + 0x673], al
xor al, 1
or ch, dh
or al, 1
xor ch, 1
and ch, al
mov al, dl
xor al, 1
mov dh, ah
xor dh, al
and dh, ah
mov al, cl
xor al, 1
mov ah, byte [esi + 0x673]
xor ah, 0
mov byte [esi + 0x672], al
mov al, byte [esi + 0x673]
xor al, 0
mov byte [esi + 0x671], al
mov al, byte [esi + 0x672]
or al, ah
mov ah, byte [esi + 0x671]
or ah, 0
xor al, 1
and al, ah
xor bl, 1
mov ah, dl
xor ah, 1
mov byte [esi + 0x670], al
mov al, byte [esi + 0x673]
xor al, 1
or bl, ah
or al, 1
xor bl, 1
and bl, al
mov al, ch
and al, dh
xor ch, dh
or al, ch
mov ah, byte [esi + 0x670]
and ah, bl
mov ch, byte [esi + 0x670]
xor ch, bl
or ah, ch
mov ch, al
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x673]
xor dh, 0
and al, dh
mov bl, ah
xor bl, 1
and bl, 0
and ah, dh
or ch, al
or bl, ah
xor ch, bl
mov al, bh
xor al, 1
mov ah, cl
xor ah, 1
mov dh, byte [esi + 0x673]
xor dh, 0
mov bl, al
and bl, 0
and bh, dh
mov byte [esi + 0x66f], al
mov al, ah
and al, 0
and cl, dh
or bl, bh
or al, cl
xor bl, al
mov al, byte [esi + 0x66f]
or al, ah
xor al, 1
or dh, 0
and al, dh
or bl, al
mov al, bl
xor al, 1
and al, 0
mov cl, byte [esi + 0x673]
xor cl, 0
and bl, cl
mov ah, byte [esi + 0x673]
xor ah, 1
and ah, 0
and cl, 1
or al, bl
or ah, cl
xor al, ah
mov cl, byte [esi + 0x673]
xor cl, 0
mov ah, dl
xor ah, 1
mov dh, byte [esi + 0x673]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, dh
and bh, 0
mov byte [esi + 0x66e], al
mov al, ah
and al, 0
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esi + 0x66e]
xor al, bl
mov cl, byte [esi + 0x66e]
and al, cl
mov dl, ch
xor dl, 1
mov ah, al
xor ah, 1
mov dh, byte [esi + 0x673]
xor dh, 0
mov bl, dl
and bl, 0
and ch, dh
mov bh, ah
and bh, 0
and al, dh
or bl, ch
or bh, al
xor bl, bh
or dl, ah
xor dl, 1
or dh, 0
and dl, dh
or bl, dl
test bl, 1
jne 0x53b479
jmp 0x54a198
mov al, 1
mov ecx, 0
call fcn.0054b8b0
mov edi, dword [esi + 0x678]
mov dword [edx], edi
call fcn.0054b8c0
mov dword [edx + 4], ebx
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x4b05b1b9
mov byte [esi + 0x66d], al
mov eax, edx
add eax, ebx
add eax, 0x99612616
add eax, 0xffffffff
add eax, 0x669ed9ea
sub ecx, 0x4b05b1b9
sub eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
push ebx
mov ebx, 0xa539000c
xor ebx, 0xa5390006
cmp edi, ebx
pop ebx
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x66d]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x66d]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x66d]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x66d]
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x66d]
xor dh, 0
mov bl, dh
and bl, 1
mov bh, byte [esi + 0x66d]
xor bh, 1
and bh, 0
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x66d]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, byte [esi + 0x66d]
xor al, 1
mov dh, dl
xor dh, al
and dh, dl
xor ah, 1
mov al, ch
xor al, 1
mov byte [esi + 0x66c], al
mov al, byte [esi + 0x66d]
xor al, 0
mov byte [esi + 0x66b], al
mov al, byte [esi + 0x66c]
or ah, al
mov al, byte [esi + 0x66b]
or al, 0
xor ah, 1
and ah, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov bl, dh
and bl, ah
xor dh, ah
or bl, dh
mov ah, al
xor ah, 1
and ah, 1
mov dh, byte [esi + 0x66d]
xor dh, 1
and al, dh
mov bh, bl
xor bh, 1
and bh, 1
and bl, dh
or ah, al
or bh, bl
xor ah, bh
mov al, cl
xor al, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0x66d]
xor bl, 1
mov bh, al
and bh, 1
and cl, bl
mov byte [esi + 0x66a], al
mov al, dh
and al, 1
and dl, bl
or bh, cl
or al, dl
xor bh, al
mov al, byte [esi + 0x66a]
or al, dh
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x66d]
xor cl, 1
and bh, cl
mov dl, byte [esi + 0x66d]
xor dl, 1
and dl, 1
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x66d]
xor cl, 1
mov dl, ch
xor dl, 1
mov dh, byte [esi + 0x66d]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, dh
and bh, 1
mov byte [esi + 0x669], al
mov al, dl
and al, 0
and ch, dh
or bl, bh
or al, ch
xor bl, al
or cl, dl
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esi + 0x669]
xor al, bl
mov cl, byte [esi + 0x669]
and al, cl
mov dl, ah
and dl, al
xor ah, al
or dl, ah
test dl, 1
jne 0x53b6b5
jmp 0x54a198
call fcn.0054b8d0
call fcn.00510e20
mov dword [esi + 0x664], eax
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x664]
mov dword [eax], ecx
mov ecx, dword [esi + 0x858]
call fcn.00476f70
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xe9bdd1d8
mov byte [esi + 0x663], al
mov eax, 0xff
mov eax, edx
sub eax, ebx
sub eax, 0x5df193f2
sub eax, 1
add eax, 0x5df193f2
sub ecx, 0xe9bdd1d8
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x663]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x663]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x663]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x663]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x663]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x663]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, byte [esi + 0x663]
xor al, 1
mov dh, dl
xor dh, al
and dh, dl
xor ah, 1
mov al, ch
xor al, 1
mov byte [esi + 0x662], al
mov al, byte [esi + 0x663]
xor al, 1
mov byte [esi + 0x661], al
mov al, byte [esi + 0x662]
or ah, al
mov al, byte [esi + 0x661]
or al, 1
xor ah, 1
and ah, al
mov al, bl
xor al, 1
mov byte [esi + 0x660], al
mov al, bh
xor al, 1
mov byte [esi + 0x65f], al
mov al, byte [esi + 0x663]
xor al, 0
mov byte [esi + 0x65e], al
mov al, byte [esi + 0x660]
and al, 0
mov byte [esi + 0x65d], al
mov al, byte [esi + 0x65e]
and bl, al
mov al, byte [esi + 0x65f]
and al, 0
mov byte [esi + 0x65c], al
mov al, byte [esi + 0x65e]
and bh, al
mov al, byte [esi + 0x65d]
or al, bl
mov bl, byte [esi + 0x65c]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x660]
mov bh, byte [esi + 0x65f]
or bl, bh
xor bl, 1
mov bh, byte [esi + 0x65e]
or bh, 0
and bl, bh
or al, bl
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, 1
mov byte [esi + 0x65b], al
mov al, byte [esi + 0x663]
xor al, 0
mov byte [esi + 0x65a], al
mov al, bl
and al, 0
mov byte [esi + 0x659], al
mov al, byte [esi + 0x65a]
and dh, al
mov al, bh
and al, 0
mov byte [esi + 0x658], al
mov al, byte [esi + 0x65a]
and ah, al
mov al, byte [esi + 0x659]
or al, dh
mov dh, byte [esi + 0x658]
or dh, ah
xor al, dh
or bl, bh
xor bl, 1
mov ah, byte [esi + 0x65a]
or ah, 0
and bl, ah
or al, bl
mov ah, byte [esi + 0x65b]
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
mov ah, byte [esi + 0x65b]
and ah, al
or dh, ah
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x663]
xor dl, 1
and al, dl
or cl, al
mov al, byte [esi + 0x663]
xor al, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x663]
xor ah, 1
mov bl, al
and bl, 1
mov bh, ah
and bh, 1
mov byte [esi + 0x657], al
mov al, dl
and al, 1
and ch, ah
or bl, bh
or al, ch
xor bl, al
mov al, byte [esi + 0x657]
or al, dl
xor al, 1
or ah, 1
and al, ah
or bl, al
xor cl, 1
xor bl, 1
mov al, byte [esi + 0x663]
xor al, 0
or cl, bl
or al, 0
xor cl, 1
and cl, al
mov al, dh
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x663]
xor ah, 1
mov ch, al
and ch, 1
and dh, ah
mov bl, dl
and bl, 1
and cl, ah
or ch, dh
or bl, cl
xor ch, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or ch, al
test ch, 1
jne 0x53b99f
jmp 0x54ad6d
mov al, 1
mov ecx, 0
mov edx, 0xd022baf5
pushfd
sub edx, 0x7ddc207a
popfd
mov edi, dword [esi + 0x88c]
mov ebx, dword [edi]
mov ebx, dword [ebx + 0xc]
mov ebx, dword [ebx]
mov dword [0x8085d4], ebx
mov ebx, dword [0x80a094]
mov edi, dword [0x80a090]
add edx, 0
sub edx, 1
sub edx, 0x52469a7b
sub ecx, edx
mov edx, ebx
sub edx, ecx
imul ebx, edx
and ebx, 1
cmp ebx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esi + 0x656], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x656]
xor bl, 1
mov bh, byte [esi + 0x656]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, byte [esi + 0x656]
xor ah, 1
mov bl, dl
xor bl, ah
and bl, dl
mov ah, dh
xor ah, 1
mov byte [esi + 0x655], al
mov al, cl
xor al, ah
and al, cl
mov cl, byte [esi + 0x655]
and cl, bh
mov ah, byte [esi + 0x655]
xor ah, bh
or cl, ah
mov ah, bl
xor ah, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x654], al
mov al, byte [esi + 0x656]
xor al, 1
mov byte [esi + 0x653], al
mov al, ah
and al, 1
mov byte [esi + 0x652], al
mov al, byte [esi + 0x653]
and bl, al
mov al, bh
and al, 1
mov byte [esi + 0x651], al
mov al, byte [esi + 0x654]
mov byte [esi + 0x650], cl
mov cl, byte [esi + 0x653]
and al, cl
mov cl, byte [esi + 0x652]
or cl, bl
mov bl, byte [esi + 0x651]
or bl, al
xor cl, bl
or ah, bh
xor ah, 1
mov al, byte [esi + 0x653]
or al, 1
and ah, al
or cl, ah
mov al, byte [esi + 0x650]
xor al, 1
and al, 0
mov ah, byte [esi + 0x656]
xor ah, 0
mov bl, byte [esi + 0x650]
and bl, ah
mov bh, cl
xor bh, 1
and bh, 0
and cl, ah
or al, bl
or bh, cl
xor al, bh
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x656]
xor bl, 1
mov bh, cl
and bh, 1
and ch, bl
mov byte [esi + 0x64f], al
mov al, ah
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
or cl, ah
xor cl, 1
or bl, 1
and cl, bl
or bh, cl
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x656]
xor cl, 1
and bh, cl
mov dl, byte [esi + 0x656]
xor dl, 1
and dl, 1
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, dh
and cl, 1
xor dh, 1
or cl, dh
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x656]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, byte [esi + 0x64f]
and cl, al
mov dl, byte [esi + 0x64f]
xor dl, al
or cl, dl
test cl, 1
jne 0x53bbf6
jmp 0x54ad6d
mov ecx, dword [esi + 0x850]
call fcn.004d2100
call fcn.0054b8e0
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054b8f0
mov ebx, ecx
mov ebx, edx
add ebx, 0x88230df1
add ebx, 0xb970d74a
sub ebx, 0x88230df1
add ebx, 0x5111585
add ebx, 0xffffffff
add ebx, 0xfaeeea7b
mov byte [esi + 0x647], al
mov eax, 0x3ff
mov eax, ecx
sub eax, ebx
mov ebx, ecx
sub ebx, 0x468f28b6
add eax, ebx
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x647]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x647]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x647]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x647]
xor dh, 1
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x647]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x647]
xor dh, 0
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x647]
xor bh, 0
or al, dh
or bh, 0
xor al, 1
and al, bh
mov dh, dl
xor dh, 1
mov bh, byte [esi + 0x647]
xor bh, 0
mov byte [esi + 0x646], al
mov al, byte [esi + 0x647]
xor al, 1
or dh, bh
or al, 1
xor dh, 1
and dh, al
mov al, ch
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, bl
mov ah, byte [esi + 0x646]
and al, ah
xor bl, ah
or al, bl
mov bl, dh
and bl, bh
xor dh, bh
or bl, dh
mov dh, al
xor dh, 1
and dh, 0
mov bh, byte [esi + 0x647]
xor bh, 0
and al, bh
mov ah, bl
xor ah, 1
and ah, 0
and bl, bh
or dh, al
or ah, bl
xor dh, ah
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x647]
xor dl, 1
and al, dl
or cl, al
mov al, byte [esi + 0x647]
xor al, 0
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x647]
xor ah, 0
mov bl, al
and bl, 0
mov bh, ah
and bh, 0
mov byte [esi + 0x645], al
mov al, dl
and al, 0
and ch, ah
or bl, bh
or al, ch
xor bl, al
mov al, byte [esi + 0x645]
or al, dl
xor al, 1
or ah, 0
and al, ah
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, dh
and cl, al
xor dh, al
or cl, dh
test cl, 1
jne 0x53bde2
jmp 0x54a1b3
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xeed14534
add edi, 0x59b07827
sub edi, 0xeed14534
add edi, 0x6aa2c92a
sub edi, 1
sub edi, 0x6aa2c92a
sub edi, 0xd2b2b730
sub edi, 0x59b07827
add edi, 0xd2b2b730
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 0
mov cl, al
xor cl, 0
mov ch, ah
and ch, cl
mov dl, al
xor dl, 1
and dl, 0
and cl, 1
or bh, ch
or dl, cl
xor bh, dl
mov cl, bl
xor cl, 1
and cl, 1
mov dl, al
xor dl, 1
mov ch, bl
and ch, dl
or cl, ch
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
and ch, 0
or dl, ch
mov ch, al
xor ch, 0
mov dh, bh
xor dh, ch
and dh, bh
mov ch, dl
xor ch, 1
mov byte [esi + 0x644], al
mov al, ah
xor al, ch
and al, ah
mov ah, cl
xor ah, 1
mov ch, byte [esi + 0x644]
xor ch, 0
mov byte [esi + 0x643], al
mov al, byte [esi + 0x644]
xor al, 0
or ah, ch
or al, 0
xor ah, 1
and ah, al
xor bl, 1
mov al, dl
xor al, 1
mov ch, byte [esi + 0x644]
xor ch, 0
or bl, al
or ch, 0
xor bl, 1
and bl, ch
mov al, dh
xor al, 1
mov ch, byte [esi + 0x643]
xor ch, 1
mov byte [esi + 0x642], al
mov al, byte [esi + 0x644]
xor al, 1
mov byte [esi + 0x641], al
mov al, byte [esi + 0x642]
and al, 1
mov byte [esi + 0x640], al
mov al, byte [esi + 0x641]
and dh, al
mov al, ch
and al, 1
mov byte [esi + 0x63f], al
mov al, byte [esi + 0x643]
mov byte [esi + 0x63e], cl
mov cl, byte [esi + 0x641]
and al, cl
mov cl, byte [esi + 0x640]
or cl, dh
mov dh, byte [esi + 0x63f]
or dh, al
xor cl, dh
mov al, byte [esi + 0x642]
or al, ch
xor al, 1
mov ch, byte [esi + 0x641]
or ch, 1
and al, ch
or cl, al
mov al, ah
and al, bl
xor ah, bl
or al, ah
mov ah, cl
xor ah, 1
mov ch, al
and ch, ah
xor al, 1
and cl, al
or ch, cl
mov al, bh
mov cl, byte [esi + 0x63e]
and al, cl
xor bh, cl
or al, bh
mov ah, al
xor ah, 1
and ah, 0
mov dh, byte [esi + 0x644]
xor dh, 0
and al, dh
mov bl, byte [esi + 0x644]
xor bl, 1
and bl, 0
and dh, 1
or ah, al
or bl, dh
xor ah, bl
mov al, dl
and al, 0
xor dl, 0
or al, dl
xor al, 1
mov dl, ah
xor dl, al
and dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x53bfd6
jmp 0x54a1b3
mov ecx, dword [esi + 0x898]
call fcn.00510e20
call fcn.0054b900
mov ecx, dword [esi + 0x638]
call fcn.0052df00
sub esp, 8
call fcn.0054b910
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00405930
add esp, 8
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x848]
call fcn.0054b920
call fcn.0054b930
mov eax, dword [sym.imp.KERNEL32.dll_GetTempPathA]
call eax
call fcn.0054b940
mov eax, dword [esi + 0x634]
cmp eax, 0
je 0x53c9c8
sub esp, 4
mov eax, esp
call fcn.0054b950
call fcn.0054b960
mov ecx, dword [esi + 0x850]
call fcn.00477890
mov dword [esi + 0x630], eax
jmp 0x53c05f
mov ecx, dword [esi + 0x850]
call fcn.00410a80
mov dl, 0
cmp eax, 0
mov byte [esi + 0x62f], dl
je 0x53c658
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
sub ecx, 1
add ecx, 0
mov ebx, edx
add ebx, 0xd7cc9183
add ebx, ecx
sub ebx, 0xd7cc9183
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 0
mov dh, al
xor dh, 0
and ah, dh
mov bl, cl
xor bl, 1
and bl, 0
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
xor cl, 1
mov ah, ch
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and dl, al
mov bl, ah
and bl, 1
and ch, al
or dh, dl
or bl, ch
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x53c12a
jmp 0x54a1b8
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054b970
add ecx, 0xffffffff
add ecx, 0
mov ebx, 0x447b40
mov ebx, edx
sub ebx, 0x5f0d5361
add ebx, ecx
sub ebx, 0xa0f2ac9f
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x62e], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x62e]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dl
xor al, 1
mov ah, byte [esi + 0x62e]
xor ah, 0
mov byte [esi + 0x62d], al
mov al, byte [esi + 0x62e]
xor al, 0
mov byte [esi + 0x62c], al
mov al, byte [esi + 0x62d]
or al, ah
mov ah, byte [esi + 0x62c]
or ah, 0
xor al, 1
and al, ah
mov ah, dh
xor ah, 1
mov byte [esi + 0x62b], al
mov al, cl
xor al, ah
and al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov ah, byte [esi + 0x62b]
and ah, al
mov bl, byte [esi + 0x62b]
xor bl, al
or ah, bl
mov al, cl
xor al, 1
and al, 0
mov bl, byte [esi + 0x62e]
xor bl, 0
and cl, bl
mov bh, ah
xor bh, 1
and bh, 0
and ah, bl
or al, cl
or bh, ah
xor al, bh
mov cl, ch
and cl, dl
xor ch, dl
or cl, ch
mov dl, cl
xor dl, 1
and dl, 0
mov ah, byte [esi + 0x62e]
xor ah, 0
and cl, ah
mov ch, byte [esi + 0x62e]
xor ch, 1
and ch, 0
and ah, 1
or dl, cl
or ch, ah
xor dl, ch
mov cl, byte [esi + 0x62e]
xor cl, 0
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x62e]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 0
mov byte [esi + 0x62a], al
mov al, ah
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, ah
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
xor bl, 1
mov al, dl
xor al, bl
and al, dl
mov cl, byte [esi + 0x62a]
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0x62e]
xor ah, 1
mov ch, cl
and ch, 1
mov dh, byte [esi + 0x62a]
and dh, ah
mov bl, dl
and bl, 1
and al, ah
or ch, dh
or bl, al
xor ch, bl
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
test ch, 1
jne 0x53c33e
jmp 0x54a1b8
mov al, 1
mov ecx, 0
call fcn.0054b980
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x1c18205
sub ebx, 0xaea5f69e
add ebx, 0x1c18205
sub ebx, 0xa98e7c06
add ebx, 0xffffffff
sub ebx, 0x567183fa
sub ecx, 0xaea5f69e
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push edx
mov edx, 0x50d327dc
xor edx, 0x50d327d6
cmp edi, edx
pop edx
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x629], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x629]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dl
xor al, 1
mov ah, byte [esi + 0x629]
xor ah, 0
mov byte [esi + 0x628], al
mov al, byte [esi + 0x629]
xor al, 1
mov byte [esi + 0x627], al
mov al, byte [esi + 0x628]
or al, ah
mov ah, byte [esi + 0x627]
or ah, 1
xor al, 1
and al, ah
mov ah, dh
xor ah, 1
mov byte [esi + 0x626], al
mov al, cl
xor al, ah
and al, cl
mov cl, bl
xor cl, 1
mov ah, bh
xor ah, 1
mov byte [esi + 0x625], al
mov al, byte [esi + 0x629]
xor al, 1
mov byte [esi + 0x624], al
mov al, cl
and al, 1
mov byte [esi + 0x623], al
mov al, byte [esi + 0x624]
and bl, al
mov al, ah
and al, 1
mov byte [esi + 0x622], al
mov al, byte [esi + 0x624]
and bh, al
mov al, byte [esi + 0x623]
or al, bl
mov bl, byte [esi + 0x622]
or bl, bh
xor al, bl
or cl, ah
xor cl, 1
mov ah, byte [esi + 0x624]
or ah, 1
and cl, ah
or al, cl
mov cl, byte [esi + 0x626]
mov ah, byte [esi + 0x625]
and cl, ah
mov bl, byte [esi + 0x626]
xor bl, ah
or cl, bl
mov bl, al
xor bl, 1
mov bh, cl
and bh, bl
xor cl, 1
and al, cl
or bh, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x629]
xor dl, 1
and al, dl
mov ch, byte [esi + 0x629]
xor ch, 1
and ch, 1
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, byte [esi + 0x629]
xor al, 0
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x629]
xor ch, 1
mov bl, al
and bl, 1
mov ah, ch
and ah, 0
mov byte [esi + 0x621], al
mov al, dl
and al, 1
and dh, ch
or bl, ah
or al, dh
xor bl, al
mov al, byte [esi + 0x621]
or al, dl
xor al, 1
or ch, 1
and al, ch
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, bh
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0x629]
xor ah, 1
mov ch, cl
and ch, 1
and bh, ah
mov dh, dl
and dh, 1
and al, ah
or ch, bh
or dh, al
xor ch, dh
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
test ch, 1
jne 0x53c597
jmp 0x54ad84
mov eax, 0
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xd7394b3d
add edi, 0x27703a5b
sub edi, 0xd7394b3d
sub eax, 1
add edi, eax
sub edi, 0x7830f2b9
sub edi, 0x27703a5b
add edi, 0x7830f2b9
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
push ecx
mov ecx, 0x5c4cecac
xor ecx, 0x5c4ceca6
cmp edx, ecx
pop ecx
setl bh
mov al, bh
xor al, 1
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 1
mov cl, bh
and cl, al
xor bh, 1
and bl, bh
or cl, bl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x53c627
jmp 0x54ad84
mov ecx, dword [esi + 0x850]
call fcn.0050c060
mov dword [esi + 0x61c], eax
call fcn.0054b990
movsx ecx, byte [eax]
push ebx
mov ebx, 0x5403d166
xor ebx, 0x5403d13a
cmp ecx, ebx
pop ebx
sete dl
mov byte [esi + 0x62f], dl
mov al, byte [esi + 0x62f]
mov cl, 1
mov edx, 0
call fcn.0054b9a0
call fcn.0054b9b0
mov byte [esi + 0x61b], al
mov eax, edx
sub eax, 0x50b959d7
call fcn.0054b9c0
mov eax, edi
mov byte [esi + 0x613], cl
call fcn.0054b9d0
sub eax, ecx
mov ecx, edx
sub ecx, 1
add eax, ecx
add edx, 0xaf46a629
add eax, edx
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x613]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x613]
xor ch, 1
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x613]
xor bl, 1
and bl, 1
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x613]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x613]
xor dh, 1
and dh, 0
or ch, dh
mov dh, byte [esi + 0x613]
xor dh, 0
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x613]
xor dh, 0
mov byte [esi + 0x612], al
mov al, byte [esi + 0x613]
xor al, 1
mov byte [esi + 0x611], al
mov al, byte [esi + 0x612]
or al, dh
mov dh, byte [esi + 0x611]
or dh, 1
xor al, 1
and al, dh
mov dh, ch
xor dh, 1
mov byte [esi + 0x610], al
mov al, ah
xor al, dh
and al, ah
mov ah, bl
xor ah, 1
mov dh, bh
xor dh, 1
mov byte [esi + 0x60f], al
mov al, byte [esi + 0x613]
xor al, 0
mov byte [esi + 0x60e], al
mov al, ah
and al, 0
mov byte [esi + 0x60d], al
mov al, byte [esi + 0x60e]
and bl, al
mov al, dh
and al, 0
mov byte [esi + 0x60c], al
mov al, byte [esi + 0x60e]
and bh, al
mov al, byte [esi + 0x60d]
or al, bl
mov bl, byte [esi + 0x60c]
or bl, bh
xor al, bl
or ah, dh
xor ah, 1
mov dh, byte [esi + 0x60e]
or dh, 0
and ah, dh
or al, ah
mov ah, byte [esi + 0x610]
mov dh, byte [esi + 0x60f]
and ah, dh
mov bl, byte [esi + 0x610]
xor bl, dh
or ah, bl
mov bl, al
xor bl, 1
and bl, 0
mov bh, byte [esi + 0x613]
xor bh, 0
and al, bh
mov dh, ah
xor dh, 1
and dh, 0
and ah, bh
or bl, al
or dh, ah
xor bl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov dh, byte [esi + 0x613]
xor dh, 1
mov bh, al
and bh, 1
and cl, dh
mov byte [esi + 0x60b], al
mov al, ah
and al, 1
and dl, dh
or bh, cl
or al, dl
xor bh, al
mov al, byte [esi + 0x60b]
or al, ah
xor al, 1
or dh, 1
and al, dh
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x613]
xor cl, 1
and bh, cl
or al, bh
mov cl, ch
and cl, 0
xor ch, 0
or cl, ch
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
mov al, bl
and al, dl
xor bl, dl
or al, bl
test al, 1
jne 0x53c891
jmp 0x54a521
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0x3203a0ea
sub edi, 0xd647a30a
add edi, 0xcdfc5f16
sub edi, 0x1002a302
sub edi, 1
sub edi, 0xeffd5cfe
sub edi, 0xfcc894d3
sub edi, 0x29b85cf6
add edi, 0xfcc894d3
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
or bh, cl
or al, 1
xor bh, 1
and bh, al
mov al, ah
xor al, 1
mov cl, bl
and cl, al
xor bl, 1
and ah, bl
or cl, ah
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x53c92b
jmp 0x54a521
mov al, byte [esi + 0x61b]
test al, 1
jne 0x53c93e
jmp 0x53c9c3
mov ecx, dword [esi + 0x850]
call fcn.00410a80
mov ecx, 0
sub eax, 0x6556a1ed
sub eax, 0x2a03dbd9
sub eax, 0x9aa95e13
sub eax, 0x9b5057f
sub eax, 1
add eax, 0x9b5057f
sub ecx, 0x2a03dbd9
sub eax, ecx
sub esp, 0xc
mov ecx, esp
mov dword [ecx + 8], eax
call fcn.0054b9e0
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esi + 0x850]
call fcn.00410c90
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x844]
mov dword [eax], ecx
call fcn.0054b9f0
call fcn.004ff990
mov ecx, dword [esi + 0x844]
mov dword [esi + 0x604], eax
call fcn.00506f10
jmp 0x53c05f
jmp 0x53c9c8
mov ecx, dword [esi + 0x850]
call fcn.0052df00
mov ecx, 1
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0054ba00
call fcn.004600d0
add esp, 8
mov byte [esi + 0x5ff], al
mov al, byte [esi + 0x5ff]
test al, 1
jne 0x53cb79
jmp 0x53ca0c
mov al, 1
mov ecx, dword [0x80a094]
call fcn.0054ba10
mov edi, ecx
add edi, 0x44dee2e1
sub edi, 0x1b14b8ad
sub edi, 0x44dee2e1
add edi, 0x75127d63
add edi, 0xffffffff
sub edi, 0x75127d63
add edi, 0xc81a64ab
add edi, 0x1b14b8ad
sub edi, 0xc81a64ab
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
or bh, cl
or al, 0
xor bh, 1
and bh, al
mov al, ah
xor al, 1
mov cl, bl
and cl, al
xor bl, 1
and ah, bl
or cl, ah
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x53caa5
jmp 0x54ad89
mov al, 1
mov ecx, 0
call fcn.0054ba20
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x3f1308fc
sub ebx, 1
sub ebx, 0xc0ecf704
mov byte [esi + 0x5fe], al
mov eax, ecx
sub eax, edx
call fcn.0054ba30
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x5f8]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
push ecx
mov ecx, 0x9217c636
xor ecx, 0x9217c636
cmp edx, ecx
pop ecx
sete al
push edx
mov edx, 0xa08abdf4
xor edx, 0xa08abdfe
cmp edi, edx
pop edx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x5fe]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x53cb57
jmp 0x54ad89
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x84c]
mov dword [eax], ecx
call fcn.0054ba40
call fcn.00554d80
mov dword [esi + 0x5f4], eax
jmp 0x53cb79
sub esp, 4
mov eax, dword [esi + 0x840]
mov dword [esp], eax
call fcn.0040dec0
add esp, 4
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054ba50
mov ebx, edx
sub ebx, 0xe03dc0a9
add ebx, 0xb3ebf18f
sub ebx, 0x1fc23f57
add ebx, 0x4fced6f2
sub ebx, 1
sub ebx, 0x4fced6f2
add ecx, 0xb3ebf18f
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esi + 0x5f3], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x5f3]
xor bl, 0
mov bh, byte [esi + 0x5f3]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x5f3]
xor bl, 0
mov byte [esi + 0x5f2], al
mov al, byte [esi + 0x5f3]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dh
xor al, 1
mov bl, cl
xor bl, al
and bl, cl
mov al, byte [esi + 0x5f2]
and al, bh
mov cl, byte [esi + 0x5f2]
xor cl, bh
or al, cl
mov cl, ah
and cl, bl
xor ah, bl
or cl, ah
mov ah, al
xor ah, 1
and ah, 0
mov bl, byte [esi + 0x5f3]
xor bl, 0
and al, bl
mov bh, cl
xor bh, 1
and bh, 0
and cl, bl
or ah, al
or bh, cl
xor ah, bh
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x5f3]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x5f1], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x5f1]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 0
mov cl, byte [esi + 0x5f3]
xor cl, 0
and bh, cl
mov dl, byte [esi + 0x5f3]
xor dl, 1
and dl, 0
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x5f3]
xor cl, 0
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x5f3]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 0
mov byte [esi + 0x5f0], al
mov al, dl
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
xor bl, 1
mov al, byte [esi + 0x5f0]
xor al, bl
mov cl, byte [esi + 0x5f0]
and al, cl
mov dl, ah
and dl, al
xor ah, al
or dl, ah
test dl, 1
jne 0x53cd93
jmp 0x54ad8e
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x8b4]
call fcn.0054ba60
mov ebx, dword [0x80a094]
mov edx, dword [0x80a090]
sub ecx, 0xc19c1be6
mov byte [esi + 0x5ef], al
mov eax, ebx
sub eax, ecx
sub eax, 0x72a7ef71
add eax, 0xffffffff
sub eax, 0x8d58108f
sub eax, 0xc28e4c98
sub eax, 0xc19c1be6
add eax, 0xc28e4c98
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x5ef]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x5ef]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x5ef]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x5ef]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x5ef]
xor dh, 1
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x5ef]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x5ef]
xor bl, 0
mov bh, byte [esi + 0x5ef]
xor bh, 1
or dh, bl
or bh, 1
xor dh, 1
and dh, bh
mov bl, ch
xor bl, 1
mov bh, al
xor bh, bl
and bh, al
mov al, dl
xor al, 1
mov bl, byte [esi + 0x5ef]
xor bl, 0
mov byte [esi + 0x5ee], al
mov al, byte [esi + 0x5ef]
xor al, 1
mov byte [esi + 0x5ed], al
mov al, byte [esi + 0x5ee]
or al, bl
mov bl, byte [esi + 0x5ed]
or bl, 1
xor al, 1
and al, bl
mov bl, ch
xor bl, 1
mov byte [esi + 0x5ec], al
mov al, ah
xor al, bl
and al, ah
mov ah, dh
and ah, bh
xor dh, bh
or ah, dh
mov dh, byte [esi + 0x5ec]
and dh, al
mov bl, byte [esi + 0x5ec]
xor bl, al
or dh, bl
mov al, ah
xor al, 1
and al, 1
mov bl, byte [esi + 0x5ef]
xor bl, 1
and ah, bl
mov bh, dh
xor bh, 1
and bh, 1
and dh, bl
or al, ah
or bh, dh
xor al, bh
mov ah, cl
xor ah, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0x5ef]
xor bl, 1
mov bh, ah
and bh, 1
and cl, bl
mov byte [esi + 0x5eb], al
mov al, dh
and al, 1
and dl, bl
or bh, cl
or al, dl
xor bh, al
or ah, dh
xor ah, 1
or bl, 1
and ah, bl
or bh, ah
mov al, bh
xor al, 1
and al, 0
mov cl, byte [esi + 0x5ef]
xor cl, 0
and bh, cl
mov dl, byte [esi + 0x5ef]
xor dl, 1
and dl, 0
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, ch
and cl, 0
xor ch, 0
or cl, ch
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x5ef]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, byte [esi + 0x5eb]
and cl, al
mov dl, byte [esi + 0x5eb]
xor dl, al
or cl, dl
test cl, 1
call fcn.0054ba70
jne 0x53cfc0
jmp 0x54ad8e
sub esp, 4
mov eax, 0x447cd8
mov eax, esp
call fcn.0054ba80
mov dword [eax], ecx
mov ecx, dword [esi + 0x83c]
call fcn.005366c0
mov dword [esi + 0x5e0], eax
sub esp, 4
mov eax, esp
mov dword [eax], 0x7fa230
call fcn.0054ba90
call fcn.005366c0
call fcn.0054baa0
sub esp, 8
mov eax, 0xf
mov eax, esp
call fcn.0054bab0
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x838]
mov dword [eax], edx
call fcn.0054bac0
call fcn.0040f190
call fcn.0054bad0
call fcn.00506f10
mov ecx, dword [esi + 0x83c]
call fcn.00506f10
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x7fa260
mov ecx, dword [esi + 0x834]
call fcn.005366c0
mov dword [esi + 0x5d8], eax
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x850]
call fcn.0054bae0
call fcn.0054baf0
mov dword [eax], edx
mov ecx, dword [esi + 0x858]
call fcn.0040f190
call fcn.0054bb00
call fcn.00506f10
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x7f9894
call fcn.0054bb10
call fcn.005366c0
mov dword [esi + 0x5d4], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x3db6f817
add ebx, 0x1c297bf3
sub ebx, 0x3db6f817
add ebx, 0xb1ccd227
sub ebx, 1
add ebx, 0x4e332dd9
add ecx, 0x1c297bf3
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esi + 0x5d3], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x5d3]
xor bl, 1
mov bh, byte [esi + 0x5d3]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, byte [esi + 0x5d3]
xor ah, 1
mov bl, dl
xor bl, ah
and bl, dl
xor cl, 1
mov ah, dh
xor ah, 1
mov byte [esi + 0x5d2], al
mov al, byte [esi + 0x5d3]
xor al, 1
or cl, ah
or al, 1
xor cl, 1
and cl, al
mov al, byte [esi + 0x5d2]
xor al, 1
mov ah, bh
xor ah, 1
mov byte [esi + 0x5d1], al
mov al, byte [esi + 0x5d3]
xor al, 1
mov byte [esi + 0x5d0], al
mov al, byte [esi + 0x5d1]
and al, 1
mov byte [esi + 0x5cf], al
mov al, byte [esi + 0x5d2]
mov byte [esi + 0x5ce], cl
mov cl, byte [esi + 0x5d0]
and al, cl
mov cl, ah
and cl, 1
mov byte [esi + 0x5cd], al
mov al, byte [esi + 0x5d0]
and bh, al
mov al, byte [esi + 0x5cf]
mov byte [esi + 0x5cc], cl
mov cl, byte [esi + 0x5cd]
or al, cl
mov cl, byte [esi + 0x5cc]
or cl, bh
xor al, cl
mov cl, byte [esi + 0x5d1]
or cl, ah
xor cl, 1
mov ah, byte [esi + 0x5d0]
or ah, 1
and cl, ah
or al, cl
mov cl, bl
xor cl, 1
mov ah, byte [esi + 0x5ce]
xor ah, 1
mov bh, byte [esi + 0x5d3]
xor bh, 1
mov byte [esi + 0x5cb], al
mov al, cl
and al, 1
and bl, bh
mov byte [esi + 0x5ca], al
mov al, ah
and al, 1
mov byte [esi + 0x5c9], al
mov al, byte [esi + 0x5ce]
and al, bh
mov byte [esi + 0x5c8], al
mov al, byte [esi + 0x5ca]
or al, bl
mov bl, byte [esi + 0x5c9]
mov byte [esi + 0x5c7], al
mov al, byte [esi + 0x5c8]
or bl, al
mov al, byte [esi + 0x5c7]
xor al, bl
or cl, ah
xor cl, 1
or bh, 1
and cl, bh
or al, cl
mov cl, byte [esi + 0x5cb]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x5d3]
xor ah, 1
mov bl, byte [esi + 0x5cb]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x5d3]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x5c6], al
mov al, ah
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x5c6]
or al, ah
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 0
mov dl, byte [esi + 0x5d3]
xor dl, 0
and bh, dl
mov ah, byte [esi + 0x5d3]
xor ah, 1
and ah, 0
and dl, 1
or al, bh
or ah, dl
xor al, ah
mov dl, dh
and dl, 1
xor dh, 1
or dl, dh
xor al, 1
xor dl, 1
mov ah, byte [esi + 0x5d3]
xor ah, 1
or al, dl
or ah, 1
xor al, 1
and al, ah
mov dl, cl
xor dl, 1
mov ah, al
xor ah, 1
mov ch, byte [esi + 0x5d3]
xor ch, 0
mov dh, dl
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and al, ch
or dh, cl
or bl, al
xor dh, bl
or dl, ah
xor dl, 1
or ch, 0
and dl, ch
or dh, dl
test dh, 1
jne 0x53d394
jmp 0x54ad93
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bb20
mov ebx, edx
add ebx, 0xd73d757e
sub ebx, 0x3fffa86f
add ebx, 0x28c28a82
add ecx, 0xffffffff
add ebx, ecx
add ebx, 0x23c90836
sub ebx, 0xc0005791
sub ebx, 0x23c90836
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x5c5], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x5c5]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x5c5]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
mov al, dh
xor al, 1
mov byte [esi + 0x5c4], al
mov al, cl
mov byte [esi + 0x5c3], cl
mov cl, byte [esi + 0x5c4]
xor al, cl
mov cl, byte [esi + 0x5c3]
and al, cl
mov cl, bl
xor cl, 1
mov byte [esi + 0x5c2], al
mov al, bh
xor al, 1
mov byte [esi + 0x5c1], al
mov al, byte [esi + 0x5c5]
xor al, 1
mov byte [esi + 0x5c0], al
mov al, cl
and al, 1
mov byte [esi + 0x5bf], al
mov al, byte [esi + 0x5c0]
and bl, al
mov al, byte [esi + 0x5c1]
and al, 1
mov byte [esi + 0x5be], al
mov al, byte [esi + 0x5c0]
and bh, al
mov al, byte [esi + 0x5bf]
or al, bl
mov bl, byte [esi + 0x5be]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x5c1]
or cl, bl
xor cl, 1
mov bh, byte [esi + 0x5c0]
or bh, 1
and cl, bh
or al, cl
mov cl, ah
xor cl, 1
mov bh, byte [esi + 0x5c2]
xor bh, 1
mov bl, byte [esi + 0x5c5]
xor bl, 0
mov byte [esi + 0x5bd], al
mov al, cl
and al, 0
and ah, bl
mov byte [esi + 0x5bc], al
mov al, bh
and al, 0
mov byte [esi + 0x5bb], al
mov al, byte [esi + 0x5c2]
and al, bl
mov byte [esi + 0x5ba], al
mov al, byte [esi + 0x5bc]
or al, ah
mov ah, byte [esi + 0x5bb]
mov byte [esi + 0x5b9], al
mov al, byte [esi + 0x5ba]
or ah, al
mov al, byte [esi + 0x5b9]
xor al, ah
or cl, bh
xor cl, 1
or bl, 0
and cl, bl
or al, cl
mov cl, byte [esi + 0x5bd]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x5c5]
xor ah, 1
mov bl, byte [esi + 0x5bd]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x5c5]
xor ah, 1
and al, ah
or dl, al
mov al, byte [esi + 0x5c5]
xor al, 0
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x5c5]
xor ch, 0
mov bl, al
and bl, 0
mov bh, ch
and bh, 0
mov byte [esi + 0x5b8], al
mov al, ah
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
mov al, byte [esi + 0x5b8]
or al, ah
xor al, 1
or ch, 0
and al, ch
or bl, al
xor bl, 1
mov al, dl
xor al, bl
and al, dl
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x53d623
jmp 0x54ad93
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x84c]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x830]
mov dword [eax], edx
call fcn.0054bb30
call fcn.0040f190
mov ecx, dword [esi + 0x830]
call fcn.00506f10
mov ecx, 0x1a
sub esp, 8
mov eax, dword [esi + 0x828]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
mov dword [esi + 0x5b4], ecx
call fcn.004769f0
add esp, 8
mov ecx, dword [esi + 0x828]
call fcn.0052df00
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esi + 0x82c]
call fcn.005366c0
call fcn.0054bb40
sub esp, 4
mov eax, esp
call fcn.0054bb50
mov ecx, dword [esi + 0x824]
call fcn.005366c0
mov dword [esi + 0x5ac], eax
mov al, 1
mov ecx, 0
call fcn.0054bb60
call fcn.0054bb70
mov ebx, 0x447b58
mov ebx, ecx
sub ebx, 0xde142b2a
mov byte [esi + 0x5ab], al
mov eax, edx
sub eax, ebx
mov ebx, ecx
sub ebx, 1
add eax, ebx
add ecx, 0x21ebd4d6
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
push ebx
mov ebx, 0xd049a0a4
xor ebx, 0xd049a0ae
cmp edi, ebx
pop ebx
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x5ab]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x5ab]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x5ab]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x5ab]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x5ab]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x5ab]
xor dh, 1
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x5ab]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x5ab]
xor bl, 0
mov bh, byte [esi + 0x5ab]
xor bh, 0
or dh, bl
or bh, 0
xor dh, 1
and dh, bh
xor al, 1
mov bl, ch
xor bl, 1
mov bh, byte [esi + 0x5ab]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0x5ab]
xor bh, 0
mov byte [esi + 0x5aa], al
mov al, byte [esi + 0x5ab]
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
xor ah, 1
mov al, ch
xor al, 1
mov bh, byte [esi + 0x5ab]
xor bh, 1
or ah, al
or bh, 1
xor ah, 1
and ah, bh
mov al, dh
mov bh, byte [esi + 0x5aa]
and al, bh
xor dh, bh
or al, dh
mov dh, bl
xor dh, 1
mov bh, ah
xor bh, 1
mov byte [esi + 0x5a9], al
mov al, byte [esi + 0x5ab]
xor al, 0
mov byte [esi + 0x5a8], al
mov al, dh
and al, 0
mov byte [esi + 0x5a7], al
mov al, byte [esi + 0x5a8]
and bl, al
mov al, bh
and al, 0
mov byte [esi + 0x5a6], al
mov al, byte [esi + 0x5a8]
and ah, al
mov al, byte [esi + 0x5a7]
or al, bl
mov bl, byte [esi + 0x5a6]
or bl, ah
xor al, bl
or dh, bh
xor dh, 1
mov ah, byte [esi + 0x5a8]
or ah, 0
and dh, ah
or al, dh
mov ah, byte [esi + 0x5a9]
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
mov ah, byte [esi + 0x5a9]
and ah, al
or dh, ah
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x5ab]
xor dl, 1
and al, dl
or cl, al
mov al, byte [esi + 0x5ab]
xor al, 0
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x5ab]
xor ah, 1
mov bl, al
and bl, 1
mov bh, ah
and bh, 0
mov byte [esi + 0x5a5], al
mov al, dl
and al, 1
and ch, ah
or bl, bh
or al, ch
xor bl, al
mov al, byte [esi + 0x5a5]
or al, dl
xor al, 1
or ah, 1
and al, ah
or bl, al
xor cl, 1
xor bl, 1
mov al, byte [esi + 0x5ab]
xor al, 1
or cl, bl
or al, 1
xor cl, 1
and cl, al
mov al, dh
and al, cl
xor dh, cl
or al, dh
test al, 1
jne 0x53d925
jmp 0x54ad98
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0xf8600f4a
add ebx, 0xcdccadd8
add ebx, 0x79ff0b6
add ecx, 0xffffffff
add ebx, ecx
add ebx, 0x42e338ca
sub ebx, 0xcdccadd8
add ebx, 0xbd1cc736
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
xor cl, 1
mov ah, ch
xor ah, 1
xor al, 0
mov dh, cl
and dh, 0
and dl, al
mov bl, ah
and bl, 0
and ch, al
or dh, dl
or bl, ch
xor dh, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
jne 0x53d9e4
jmp 0x54ad98
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x82c]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x824]
call fcn.0054bb80
mov ecx, dword [esi + 0x858]
call fcn.0040f190
mov ecx, dword [esi + 0x824]
call fcn.00506f10
mov ecx, dword [esi + 0x82c]
call fcn.00506f10
call fcn.0054bb90
call fcn.00506f10
mov ecx, 0x1c
sub esp, 8
mov eax, dword [esi + 0x81c]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
mov dword [esi + 0x5a0], ecx
call fcn.004769f0
add esp, 8
mov ecx, dword [esi + 0x81c]
call fcn.0052df00
sub esp, 4
mov ecx, esp
call fcn.0054bba0
mov ecx, dword [esi + 0x820]
call fcn.005366c0
call fcn.0054bbb0
sub esp, 4
mov eax, esp
mov dword [eax], 0x7fa2a0
mov ecx, dword [esi + 0x818]
call fcn.005366c0
call fcn.0054bbc0
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bbd0
mov ebx, edx
add ebx, 0xee86adf6
sub ebx, 0xa0276829
sub ebx, 0xee86adf6
add ebx, 0x5189aaab
add ebx, 0xffffffff
add ebx, 0xae765555
sub ecx, 0xa0276829
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esi + 0x597], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x597]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x597]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x596], al
mov al, byte [esi + 0x597]
xor al, 1
mov byte [esi + 0x595], al
mov al, byte [esi + 0x596]
or cl, al
mov al, byte [esi + 0x595]
or al, 1
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov bl, ah
xor bl, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x594], al
mov al, byte [esi + 0x597]
xor al, 0
mov byte [esi + 0x593], al
mov al, bl
and al, 0
mov byte [esi + 0x592], al
mov al, byte [esi + 0x593]
and ah, al
mov al, bh
and al, 0
mov byte [esi + 0x591], al
mov al, byte [esi + 0x593]
and cl, al
mov al, byte [esi + 0x592]
or al, ah
mov ah, byte [esi + 0x591]
or ah, cl
xor al, ah
or bl, bh
xor bl, 1
mov cl, byte [esi + 0x593]
or cl, 0
and bl, cl
or al, bl
mov cl, byte [esi + 0x594]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x594]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x597]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x590], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x590]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x597]
xor cl, 1
and bh, cl
mov dl, byte [esi + 0x597]
xor dl, 1
and dl, 1
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x597]
xor cl, 0
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x597]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 0
mov byte [esi + 0x58f], al
mov al, dl
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
xor bl, 1
mov al, byte [esi + 0x58f]
xor al, bl
mov cl, byte [esi + 0x58f]
and al, cl
mov dl, ah
and dl, al
xor ah, al
or dl, ah
test dl, 1
jne 0x53dceb
jmp 0x54ad9d
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0x23d73359
sub edi, 0xbcdb5c99
sub edi, 0x23d73359
add edi, 0x2fadef89
sub edi, 1
add edi, 0xd0521077
add edi, 0x982a9b48
sub edi, 0x4324a367
sub edi, 0x982a9b48
imul ecx, edi
and ecx, 1
push edx
mov edx, 0x969aaed2
xor edx, 0x969aaed2
cmp ecx, edx
pop edx
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 1
and dl, 1
mov ch, al
xor ch, 1
mov dh, ch
and dh, 1
mov byte [esi + 0x58e], al
xor al, 1
and al, 1
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, bh
xor al, 1
mov ch, byte [esi + 0x58e]
xor ch, 1
mov dh, byte [esi + 0x58e]
xor dh, 0
or al, ch
or dh, 0
xor al, 1
and al, dh
xor ah, 1
mov ch, dl
xor ch, 1
mov dh, byte [esi + 0x58e]
xor dh, 1
or ah, ch
or dh, 1
xor ah, 1
and ah, dh
mov ch, cl
xor ch, 1
mov dh, byte [esi + 0x58e]
xor dh, 1
mov byte [esi + 0x58d], al
mov al, byte [esi + 0x58e]
xor al, 0
or ch, dh
or al, 0
xor ch, 1
and ch, al
mov al, dl
xor al, 1
mov dh, bl
xor dh, al
and dh, bl
mov al, byte [esi + 0x58d]
and al, ah
mov bl, byte [esi + 0x58d]
xor bl, ah
or al, bl
mov ah, ch
and ah, dh
xor ch, dh
or ah, ch
mov ch, al
xor ch, 1
mov dh, ah
and dh, ch
xor ah, 1
and al, ah
or dh, al
mov al, bh
xor al, 1
mov ah, cl
xor ah, 1
mov ch, byte [esi + 0x58e]
xor ch, 0
mov bl, al
and bl, 0
and bh, ch
mov byte [esi + 0x58c], al
mov al, ah
and al, 0
and cl, ch
or bl, bh
or al, cl
xor bl, al
mov al, byte [esi + 0x58c]
or al, ah
xor al, 1
or ch, 0
and al, ch
or bl, al
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esi + 0x58e]
xor cl, 1
and bl, cl
or al, bl
mov cl, byte [esi + 0x58e]
xor cl, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x58e]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 1
mov byte [esi + 0x58b], al
mov al, ah
and al, 1
and dl, ch
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
mov al, byte [esi + 0x58b]
xor al, 1
xor bl, 1
mov cl, byte [esi + 0x58e]
xor cl, 1
or al, bl
or cl, 1
xor al, 1
and al, cl
mov cl, dh
and cl, al
xor dh, al
or cl, dh
test cl, 1
jne 0x53df03
jmp 0x54ad9d
sub esp, 8
mov eax, edx
mov eax, esp
call fcn.0054bbe0
mov dword [eax + 4], ecx
call fcn.0054bbf0
mov dword [eax], edx
call fcn.0054bc00
call fcn.0040f190
mov al, 1
mov ecx, dword [0x80a094]
call fcn.0054bc10
mov edi, ecx
sub edi, 0x15cd4477
add edi, 0x6f1a2a40
add edi, 0x15cd4477
sub edi, 0x414c3712
sub edi, 1
sub edi, 0xbeb3c8ee
sub edi, 0x2aeb0406
add edi, 0x90e5d5c0
sub edi, 0xd514fbfa
imul ecx, edi
and ecx, 1
push edx
mov edx, 0x8910bf97
xor edx, 0x8910bf97
cmp ecx, edx
pop edx
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 1
mov ch, al
xor ch, 1
mov dl, bl
and dl, ch
or cl, dl
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
and ch, 0
or dl, ch
mov ch, bh
xor ch, 1
mov dh, al
xor dh, 0
mov byte [esi + 0x58a], al
xor al, 0
or ch, dh
or al, 0
xor ch, 1
and ch, al
xor ah, 1
mov al, dl
xor al, 1
mov dh, byte [esi + 0x58a]
xor dh, 0
or ah, al
or dh, 0
xor ah, 1
and ah, dh
mov al, cl
xor al, 1
mov dh, byte [esi + 0x58a]
xor dh, 0
mov byte [esi + 0x589], al
mov al, byte [esi + 0x58a]
xor al, 1
mov byte [esi + 0x588], al
mov al, byte [esi + 0x589]
or al, dh
mov dh, byte [esi + 0x588]
or dh, 1
xor al, 1
and al, dh
mov dh, dl
xor dh, 1
mov byte [esi + 0x587], al
mov al, bl
xor al, dh
and al, bl
mov dh, ch
xor dh, 1
mov bl, ah
xor bl, 1
mov byte [esi + 0x586], al
mov al, byte [esi + 0x58a]
xor al, 0
mov byte [esi + 0x585], al
mov al, dh
and al, 0
mov byte [esi + 0x584], al
mov al, byte [esi + 0x585]
and ch, al
mov al, bl
and al, 0
mov byte [esi + 0x583], al
mov al, byte [esi + 0x585]
and ah, al
mov al, byte [esi + 0x584]
or al, ch
mov ch, byte [esi + 0x583]
or ch, ah
xor al, ch
or dh, bl
xor dh, 1
mov ah, byte [esi + 0x585]
or ah, 0
and dh, ah
or al, dh
mov ah, byte [esi + 0x587]
xor ah, 1
mov ch, byte [esi + 0x586]
xor ch, 1
mov dh, byte [esi + 0x58a]
xor dh, 0
mov bl, ah
and bl, 0
mov byte [esi + 0x582], al
mov al, byte [esi + 0x587]
and al, dh
mov byte [esi + 0x581], al
mov al, ch
and al, 0
mov byte [esi + 0x580], al
mov al, byte [esi + 0x586]
and al, dh
mov byte [esi + 0x57f], al
mov al, byte [esi + 0x581]
or bl, al
mov al, byte [esi + 0x580]
mov byte [esi + 0x57e], cl
mov cl, byte [esi + 0x57f]
or al, cl
xor bl, al
or ah, ch
xor ah, 1
or dh, 0
and ah, dh
or bl, ah
mov al, byte [esi + 0x582]
xor al, 1
and al, 1
mov cl, byte [esi + 0x58a]
xor cl, 1
mov ah, byte [esi + 0x582]
and ah, cl
mov ch, bl
xor ch, 1
and ch, 1
and bl, cl
or al, ah
or ch, bl
xor al, ch
mov cl, bh
mov ah, byte [esi + 0x57e]
and cl, ah
xor bh, ah
or cl, bh
mov ch, cl
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x58a]
xor dh, 0
and cl, dh
mov bl, byte [esi + 0x58a]
xor bl, 1
and bl, 0
and dh, 1
or ch, cl
or bl, dh
xor ch, bl
mov cl, dl
and cl, 0
xor dl, 0
or cl, dl
xor ch, 1
xor cl, 1
mov dl, byte [esi + 0x58a]
xor dl, 0
or ch, cl
or dl, 0
xor ch, 1
and ch, dl
mov cl, al
and cl, ch
xor al, ch
or cl, al
test cl, 1
jne 0x53e1b6
jmp 0x54ada2
mov ecx, dword [esi + 0x818]
call fcn.00506f10
call fcn.0054bc20
call fcn.00506f10
call fcn.0054bc30
call fcn.00506f10
mov al, 1
mov ecx, 0
call fcn.0054bc40
mov edi, dword [0x80a090]
mov ebx, 0x3f
mov ebx, edx
sub ebx, 0x179a36f2
sub ebx, 0xb1377474
sub ebx, 0xe865c90e
add ebx, 0xecfc66a3
sub ebx, 1
add ebx, 0x1303995d
sub ecx, 0x4ec88b8c
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
and ah, dh
mov bl, cl
xor bl, 1
and bl, 0
and cl, dh
or dl, ah
or bl, cl
xor dl, bl
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
xor al, 0
mov dh, cl
and dh, 0
and ch, al
mov bl, ah
and bl, 0
and dl, al
or dh, ch
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
jne 0x53e2a6
jmp 0x54ada2
mov eax, 0x26
sub esp, 8
call fcn.0054bc50
mov dword [esp], ecx
mov dword [esp + 4], 0x26
mov dword [esi + 0x578], eax
call fcn.004769f0
add esp, 8
call fcn.0054bc60
call fcn.0052df00
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esi + 0x814]
call fcn.005366c0
mov dword [esi + 0x574], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x4840cacd
mov byte [esi + 0x573], al
mov eax, 0x800000
mov eax, edx
sub eax, ebx
sub eax, 0xb71e6bde
add eax, 0xffffffff
sub eax, 0x48e19422
add ecx, 0xb7bf3533
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x573]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x573]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x573]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x573]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x573]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x573]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x573]
xor dh, 1
mov byte [esi + 0x572], al
mov al, byte [esi + 0x573]
xor al, 1
mov byte [esi + 0x571], al
mov al, byte [esi + 0x572]
or al, dh
mov dh, byte [esi + 0x571]
or dh, 1
xor al, 1
and al, dh
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x570], al
mov al, byte [esi + 0x573]
xor al, 0
or ah, dh
or al, 0
xor ah, 1
and ah, al
mov al, bl
xor al, 1
mov dh, bh
xor dh, 1
mov byte [esi + 0x56f], al
mov al, byte [esi + 0x573]
xor al, 1
mov byte [esi + 0x56e], al
mov al, byte [esi + 0x56f]
and al, 1
mov byte [esi + 0x56d], al
mov al, byte [esi + 0x56e]
and bl, al
mov al, dh
and al, 1
mov byte [esi + 0x56c], al
mov al, byte [esi + 0x56e]
and bh, al
mov al, byte [esi + 0x56d]
or al, bl
mov bl, byte [esi + 0x56c]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x56f]
or bl, dh
xor bl, 1
mov dh, byte [esi + 0x56e]
or dh, 1
and bl, dh
or al, bl
mov dh, byte [esi + 0x570]
xor dh, 1
mov bl, ah
xor bl, 1
mov bh, byte [esi + 0x573]
xor bh, 0
mov byte [esi + 0x56b], al
mov al, dh
and al, 0
mov byte [esi + 0x56a], al
mov al, byte [esi + 0x570]
and al, bh
mov byte [esi + 0x569], al
mov al, bl
and al, 0
and ah, bh
mov byte [esi + 0x568], al
mov al, byte [esi + 0x56a]
mov byte [esi + 0x567], cl
mov cl, byte [esi + 0x569]
or al, cl
mov cl, byte [esi + 0x568]
or cl, ah
xor al, cl
or dh, bl
xor dh, 1
or bh, 0
and dh, bh
or al, dh
mov cl, byte [esi + 0x56b]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x56b]
and cl, al
or ah, cl
mov al, byte [esi + 0x567]
and al, dl
mov cl, byte [esi + 0x567]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x573]
xor dl, 1
and al, dl
mov dh, byte [esi + 0x573]
xor dh, 1
and dh, 1
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, byte [esi + 0x573]
xor al, 1
mov dl, ch
xor dl, 1
mov dh, byte [esi + 0x573]
xor dh, 0
mov bl, al
and bl, 0
mov bh, dh
and bh, 1
mov byte [esi + 0x566], al
mov al, dl
and al, 0
and ch, dh
or bl, bh
or al, ch
xor bl, al
mov al, byte [esi + 0x566]
or al, dl
xor al, 1
or dh, 0
and al, dh
or bl, al
xor cl, 1
xor bl, 1
mov al, byte [esi + 0x573]
xor al, 0
or cl, bl
or al, 0
xor cl, 1
and cl, al
mov al, ah
xor al, 1
mov dl, cl
xor dl, 1
mov ch, byte [esi + 0x573]
xor ch, 1
mov dh, al
and dh, 1
and ah, ch
mov bl, dl
and bl, 1
and cl, ch
or dh, ah
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x53e5dc
jmp 0x54adc8
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bc70
sub ecx, 0x8283acd1
mov ebx, edx
add ebx, ecx
sub ebx, 0x1cee288e
sub ebx, 1
add ebx, 0x1cee288e
add ebx, 0x6f369e78
add ebx, 0x8283acd1
sub ebx, 0x6f369e78
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or ch, ah
or dh, cl
xor ch, dh
mov al, dl
and al, ch
xor dl, ch
or al, dl
test al, 1
jne 0x53e673
jmp 0x54adc8
sub esp, 4
mov eax, esp
mov dword [eax], 0x7fa2c0
mov ecx, dword [esi + 0x80c]
call fcn.005366c0
call fcn.0054bc80
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x814]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x80c]
call fcn.0054bc90
mov ecx, dword [esi + 0x858]
call fcn.0040f190
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x98645fef
add ebx, 0x2990c814
sub ebx, 0x98645fef
sub ecx, 1
add ebx, ecx
sub ebx, 0xb98aac3f
add ebx, 0xd66f37ec
sub ebx, 0x467553c1
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, al
xor bl, 0
mov bh, ch
xor bh, bl
and bh, ch
mov bl, dh
xor bl, 1
mov byte [esi + 0x55f], al
mov al, ah
xor al, bl
and al, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x55f]
xor bl, 0
mov byte [esi + 0x55e], al
mov al, byte [esi + 0x55f]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dh
xor al, 1
mov bl, cl
xor bl, al
and bl, cl
mov al, bh
mov cl, byte [esi + 0x55e]
and al, cl
xor bh, cl
or al, bh
mov bh, ah
and bh, bl
xor ah, bl
or bh, ah
mov ah, al
xor ah, 1
mov bl, bh
and bl, ah
xor bh, 1
and al, bh
or bl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x55f]
xor ah, 1
and al, ah
or dl, al
mov al, dh
and al, 0
xor dh, 0
or al, dh
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
mov al, bl
and al, ah
xor bl, ah
or al, bl
test al, 1
jne 0x53e809
jmp 0x54adcd
call fcn.0054bca0
call fcn.00506f10
mov ecx, dword [esi + 0x814]
call fcn.00506f10
mov ecx, dword [esi + 0x810]
call fcn.00506f10
mov ecx, dword [esi + 0x840]
call fcn.0052df00
mov dl, 1
mov ecx, 0
call fcn.0054bcb0
mov ebx, dword [0x80a090]
add ecx, 0x70582462
sub ecx, 1
add ecx, 0x8fa7db9e
mov dword [esi + 0x558], eax
mov eax, esi
mov eax, edi
sub eax, 0xc8994e1e
add eax, ecx
sub eax, 0x3766b1e2
imul edi, eax
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
xor ah, 1
and ah, 1
mov cl, dl
xor cl, 1
mov ch, dh
and ch, cl
mov bl, dl
xor bl, 1
and bl, 1
and cl, 1
or ah, ch
or bl, cl
xor ah, bl
mov cl, al
xor cl, 1
and cl, 1
mov ch, dl
xor ch, 1
mov bl, al
and bl, ch
or cl, bl
mov ch, dl
xor ch, 1
and ch, 1
mov bl, dl
xor bl, 1
and bl, 1
or ch, bl
mov bl, ah
xor bl, 1
mov bh, dl
xor bh, 1
mov byte [esi + 0x557], al
mov al, dl
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, ch
xor al, 1
mov bh, dh
xor bh, al
and bh, dh
mov al, dl
xor al, 1
mov dh, cl
xor dh, al
and dh, cl
mov al, byte [esi + 0x557]
xor al, 1
mov byte [esi + 0x556], al
mov al, ch
xor al, 1
mov byte [esi + 0x555], al
mov al, dl
xor al, 0
mov byte [esi + 0x554], al
mov al, byte [esi + 0x556]
mov byte [esi + 0x553], cl
mov cl, byte [esi + 0x555]
or al, cl
mov cl, byte [esi + 0x554]
or cl, 0
xor al, 1
and al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov bl, dh
xor bl, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x552], al
mov al, dl
xor al, 1
mov byte [esi + 0x551], al
mov al, bl
and al, 1
mov byte [esi + 0x550], al
mov al, byte [esi + 0x551]
and dh, al
mov al, bh
and al, 1
mov byte [esi + 0x54f], al
mov al, byte [esi + 0x552]
mov byte [esi + 0x54e], cl
mov cl, byte [esi + 0x551]
and al, cl
mov cl, byte [esi + 0x550]
or cl, dh
mov dh, byte [esi + 0x54f]
or dh, al
xor cl, dh
or bl, bh
xor bl, 1
mov al, byte [esi + 0x551]
or al, 1
and bl, al
or cl, bl
mov al, byte [esi + 0x54e]
xor al, 1
mov dh, cl
and dh, al
xor cl, 1
mov al, byte [esi + 0x54e]
and al, cl
or dh, al
mov al, ah
mov cl, byte [esi + 0x553]
and al, cl
xor ah, cl
or al, ah
mov ah, al
xor ah, 1
and ah, 1
xor dl, 1
and al, dl
or ah, al
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor al, 1
mov dl, ah
xor dl, al
and dl, ah
mov al, dh
and al, dl
xor dh, dl
or al, dh
test al, 1
jne 0x53ea16
jmp 0x54adcd
sub esp, 4
mov eax, 0x1fffff
mov eax, esp
mov ecx, dword [esi + 0x558]
mov dword [eax], ecx
call fcn.0054bcc0
call fcn.005366c0
mov dword [esi + 0x548], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bcd0
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x547], al
mov eax, ecx
sub eax, 0x963c86ba
add ebx, eax
mov eax, ecx
sub eax, ebx
mov ebx, ecx
sub ebx, 1
add eax, ebx
add ecx, 0x69c37946
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x547]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x547]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x547]
xor ch, 1
mov dh, al
and dh, 1
and cl, ch
mov bl, ah
and bl, 1
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x53eb0d
jmp 0x54a526
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bce0
sub ecx, 0xdc7713ff
mov ebx, edx
add ebx, ecx
add ebx, 0xeac1c06b
add ebx, 0xffffffff
add ebx, 0x153e3f95
add ebx, 0x504d0f18
sub ebx, 0x2388ec01
sub ebx, 0x504d0f18
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push edx
mov edx, 0x963104a4
xor edx, 0x963104ae
cmp edi, edx
pop edx
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x546], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x546]
xor bl, 1
mov bh, byte [esi + 0x546]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esi + 0x546]
xor bh, 1
or ah, bl
or bh, 1
xor ah, 1
and ah, bh
mov bl, byte [esi + 0x546]
xor bl, 1
mov bh, dl
xor bh, bl
and bh, dl
mov bl, dh
xor bl, 1
mov byte [esi + 0x545], al
mov al, cl
xor al, bl
and al, cl
mov cl, byte [esi + 0x545]
xor cl, 1
mov bl, ah
xor bl, 1
mov byte [esi + 0x544], al
mov al, byte [esi + 0x546]
xor al, 1
mov byte [esi + 0x543], al
mov al, cl
and al, 1
mov byte [esi + 0x542], al
mov al, byte [esi + 0x545]
mov byte [esi + 0x541], cl
mov cl, byte [esi + 0x543]
and al, cl
mov cl, bl
and cl, 1
mov byte [esi + 0x540], al
mov al, byte [esi + 0x543]
and ah, al
mov al, byte [esi + 0x542]
mov byte [esi + 0x53f], cl
mov cl, byte [esi + 0x540]
or al, cl
mov cl, byte [esi + 0x53f]
or cl, ah
xor al, cl
mov cl, byte [esi + 0x541]
or cl, bl
xor cl, 1
mov ah, byte [esi + 0x543]
or ah, 1
and cl, ah
or al, cl
mov cl, bh
mov ah, byte [esi + 0x544]
and cl, ah
xor bh, ah
or cl, bh
mov bl, al
xor bl, 1
mov bh, cl
and bh, bl
xor cl, 1
and al, cl
or bh, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x546]
xor dl, 1
and al, dl
or cl, al
mov al, byte [esi + 0x546]
xor al, 1
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x546]
xor ch, 1
mov bl, al
and bl, 1
mov ah, ch
and ah, 1
mov byte [esi + 0x53e], al
mov al, dl
and al, 1
and dh, ch
or bl, ah
or al, dh
xor bl, al
mov al, byte [esi + 0x53e]
or al, dl
xor al, 1
or ch, 1
and al, ch
or bl, al
xor cl, 1
xor bl, 1
mov al, byte [esi + 0x546]
xor al, 1
or cl, bl
or al, 1
xor cl, 1
and cl, al
mov al, bh
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x546]
xor ah, 1
mov ch, al
and ch, 1
and bh, ah
mov dh, dl
and dh, 1
and cl, ah
or ch, bh
or dh, cl
xor ch, dh
or al, dl
xor al, 1
or ah, 1
and al, ah
or ch, al
test ch, 1
jne 0x53ed82
jmp 0x54a526
sub esp, 4
mov eax, esp
mov dword [eax], 0x7fa370
mov ecx, dword [esi + 0x804]
call fcn.005366c0
mov dword [esi + 0x538], eax
sub esp, 8
mov eax, esp
call fcn.0054bcf0
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x804]
mov dword [eax], edx
call fcn.0054bd00
call fcn.0040f190
call fcn.0054bd10
call fcn.00506f10
mov ecx, dword [esi + 0x808]
call fcn.00506f10
mov ecx, dword [esi + 0x840]
call fcn.00506f10
mov ecx, dword [esi + 0x84c]
call fcn.00506f10
call fcn.0054bd20
call fcn.00506f10
mov ecx, dword [esi + 0x898]
call fcn.00499890
mov byte [esi + 0x537], al
mov al, 1
mov ecx, 0
mov edx, 0xf2eb7687
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
sub edx, 0
sub edx, 1
add edx, 0xd148979
sub ecx, edx
mov edx, 0x447cf0
mov edx, edi
sub edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
and ah, dh
mov bl, cl
xor bl, 1
and bl, 0
and cl, dh
or dl, ah
or bl, cl
xor dl, bl
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and ch, al
mov bl, ah
and bl, 1
and dl, al
or dh, ch
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x53eec4
jmp 0x54ae01
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054bd30
mov ebx, edx
add ebx, 0x160227dc
add ebx, 0xb0bb5e5d
add ebx, 0xe9fdd824
sub ebx, 0x3b1bbf51
sub ebx, 1
add ebx, 0x3b1bbf51
sub ecx, 0x4f44a1a3
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 0
or ch, dl
or dh, 0
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
mov dh, cl
and dh, dl
xor cl, 1
and ah, cl
or dh, ah
mov cl, ch
xor cl, 1
mov dl, dh
xor dl, 1
xor al, 0
mov ah, cl
and ah, 0
and ch, al
mov bl, dl
and bl, 0
and dh, al
or ah, ch
or bl, dh
xor ah, bl
or cl, dl
xor cl, 1
or al, 0
and cl, al
or ah, cl
test ah, 1
jne 0x53ef81
jmp 0x54ae01
mov al, byte [esi + 0x537]
test al, 1
jne 0x53ef94
jmp 0x540727
mov eax, dword [esi + 0x88c]
call fcn.0054bd40
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [esi + 0x800]
mov dword [edx], ecx
mov al, 0
mov ecx, dword [esi + 0x800]
cmp dword [ecx], 0
mov byte [esi + 0x536], al
je 0x53f500
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x68ae8a85
add ebx, 0x1d6f3b73
add ebx, 0x68ae8a85
add ebx, 0x961eca6b
sub ebx, 1
add ebx, 0x69e13595
add ecx, 0xe290c48d
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 0
or ch, dl
or dh, 0
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or dl, ah
or bl, cl
xor dl, bl
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and ch, al
mov bl, ah
and bl, 1
and dl, al
or dh, ch
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x53f094
jmp 0x54a52b
mov al, 1
mov ecx, 0x57d088
mov ecx, dword [ecx]
mov edx, dword [esi + 0x800]
mov edi, dword [edx]
cmp dword [edi + 0x10], 0
setne ah
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov edx, ecx
add edx, 0x3dfaf1a6
mov dword [esi + 0x530], ecx
mov ecx, edi
add ecx, edx
sub ecx, 0xdf9e266a
sub ecx, 1
add ecx, 0xdf9e266a
mov edx, dword [esi + 0x530]
add edx, 0x3dfaf1a6
sub ecx, edx
imul edi, ecx
and edi, 1
cmp edi, 0
sete cl
cmp ebx, 0xa
setl ch
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, ch
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, ch
and bh, bl
mov byte [esi + 0x52f], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x52f]
xor al, 1
and al, 0
mov bl, byte [esi + 0x52f]
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esi + 0x52e], al
mov al, byte [esi + 0x52f]
xor al, 1
and al, 0
and bl, 1
mov byte [esi + 0x52d], al
mov al, byte [esi + 0x52e]
or al, bh
mov bh, byte [esi + 0x52d]
or bh, bl
xor al, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0x52f]
xor bh, 1
mov byte [esi + 0x52c], al
mov al, byte [esi + 0x52f]
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, byte [esi + 0x52c]
xor al, 1
mov bh, cl
xor bh, al
and bh, cl
mov al, dh
xor al, 1
mov cl, byte [esi + 0x52f]
xor cl, 1
mov byte [esi + 0x52b], al
mov al, byte [esi + 0x52f]
xor al, 1
mov byte [esi + 0x52a], al
mov al, byte [esi + 0x52b]
or al, cl
mov cl, byte [esi + 0x52a]
or cl, 1
xor al, 1
and al, cl
mov cl, byte [esi + 0x52c]
xor cl, 1
mov byte [esi + 0x529], al
mov al, ch
xor al, cl
and al, ch
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov ch, byte [esi + 0x529]
xor ch, 1
mov bl, al
xor bl, 1
mov bh, byte [esi + 0x52f]
xor bh, 1
mov byte [esi + 0x528], al
mov al, ch
and al, 1
mov byte [esi + 0x527], al
mov al, byte [esi + 0x529]
and al, bh
mov byte [esi + 0x526], al
mov al, bl
and al, 1
mov byte [esi + 0x525], al
mov al, byte [esi + 0x528]
and al, bh
mov byte [esi + 0x524], al
mov al, byte [esi + 0x527]
mov byte [esi + 0x523], cl
mov cl, byte [esi + 0x526]
or al, cl
mov cl, byte [esi + 0x525]
mov byte [esi + 0x522], al
mov al, byte [esi + 0x524]
or cl, al
mov al, byte [esi + 0x522]
xor al, cl
or ch, bl
xor ch, 1
or bh, 1
and ch, bh
or al, ch
mov cl, byte [esi + 0x523]
xor cl, 1
mov ch, al
and ch, cl
xor al, 1
mov cl, byte [esi + 0x523]
and cl, al
or ch, cl
mov al, dl
xor al, 1
mov cl, dh
xor cl, 1
mov bl, byte [esi + 0x52f]
xor bl, 1
mov bh, al
and bh, 1
and dl, bl
mov byte [esi + 0x521], al
mov al, cl
and al, 1
and dh, bl
or bh, dl
or al, dh
xor bh, al
mov al, byte [esi + 0x521]
or al, cl
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x52f]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [esi + 0x52f]
xor cl, 1
mov dl, byte [esi + 0x52c]
xor dl, 1
mov dh, byte [esi + 0x52f]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, dh
and bh, 1
mov byte [esi + 0x520], al
mov al, dl
and al, 0
mov byte [esi + 0x51f], al
mov al, byte [esi + 0x52c]
and al, dh
or bl, bh
mov bh, byte [esi + 0x51f]
or bh, al
xor bl, bh
or cl, dl
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
xor bl, 1
mov al, byte [esi + 0x520]
xor al, bl
mov cl, byte [esi + 0x520]
and al, cl
mov dl, ch
and dl, al
xor ch, al
or dl, ch
test dl, 1
mov byte [esi + 0x51e], ah
jne 0x53f38c
jmp 0x54a52b
mov al, 1
mov ecx, 0x57d040
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0xffffffff
sub ecx, 0
mov ebx, edx
add ebx, 0xdc39d28a
add ebx, ecx
add ebx, 0x23c62d76
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
mov dh, cl
and dh, ch
xor cl, 1
and ah, cl
or dh, ah
mov cl, dl
xor cl, 1
mov ah, dh
xor ah, 1
xor al, 0
mov ch, cl
and ch, 0
and dl, al
mov bl, ah
and bl, 0
and dh, al
or ch, dl
or bl, dh
xor ch, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or ch, cl
test ch, 1
jne 0x53f42c
jmp 0x54ae06
mov al, 1
mov ecx, dword [0x80a094]
call fcn.0054bd50
mov edi, ecx
sub edi, 0xe3ea3e1f
sub edi, 0x584d29c2
sub edi, 0x1c15c1e1
sub edi, 0x4afa6110
sub edi, 1
sub edi, 0xb5059ef0
add edi, 0x63c448fb
add edi, 0x584d29c2
sub edi, 0x63c448fb
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, bl
xor bh, 1
mov cl, ah
xor cl, bh
and cl, ah
mov bh, ah
xor bh, 1
and bh, 0
mov ch, al
xor ch, 0
and ah, ch
mov dl, bl
xor dl, 1
and dl, 0
and bl, ch
or bh, ah
or dl, bl
xor bh, dl
mov dl, cl
xor dl, 1
mov ah, bh
xor ah, 1
xor al, 0
mov ch, dl
and ch, 0
and cl, al
mov bl, ah
and bl, 0
and bh, al
or ch, cl
or bl, bh
xor ch, bl
or dl, ah
xor dl, 1
or al, 0
and dl, al
or ch, dl
test ch, 1
jne 0x53f4ef
jmp 0x54ae06
mov al, byte [esi + 0x51e]
mov byte [esi + 0x536], al
jmp 0x53f500
mov al, byte [esi + 0x536]
test al, 1
jne 0x53f513
jmp 0x53f528
mov eax, dword [esi + 0x800]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
call fcn.0054bd60
jmp 0x53efad
mov eax, 0
mov ecx, dword [0x80a094]
call fcn.0054bd70
mov edi, ecx
sub edi, 0x290707be
add edi, 0x2090a55c
sub edi, 0xd6f8f842
add edi, 0x1249fed
sub edi, 1
add edi, 0xfedb6013
sub eax, 0x2090a55c
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 1
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 1
mov cl, bh
and cl, al
xor bh, 1
and bl, bh
or cl, bl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x53f5ae
jmp 0x54a530
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x800]
cmp dword [edx], 0
setne ah
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov edx, ecx
sub edx, edi
call fcn.0054bd80
sub ecx, 0xeb9d1064
add edx, ecx
call fcn.0054bd90
sub ecx, edx
sub ecx, 0x54f65481
sub ecx, 1
add ecx, 0x54f65481
mov edx, dword [esi + 0x518]
sub edx, 0xeb9d1064
add ecx, edx
imul edi, ecx
and edi, 1
cmp edi, 0
sete cl
cmp ebx, 0xa
setl ch
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, ch
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, ch
and bh, bl
or dh, bh
mov bl, al
xor bl, 0
and bl, 1
mov bh, al
xor bh, 1
and bh, 0
or bl, bh
mov bh, al
xor bh, 0
mov byte [esi + 0x517], al
mov al, dl
xor al, bh
and al, dl
xor cl, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x516], al
mov al, byte [esi + 0x517]
xor al, 0
or cl, bh
or al, 0
xor cl, 1
and cl, al
mov al, dh
xor al, 1
mov bh, byte [esi + 0x517]
xor bh, 0
mov byte [esi + 0x515], al
mov al, byte [esi + 0x517]
xor al, 0
mov byte [esi + 0x514], al
mov al, byte [esi + 0x515]
or al, bh
mov bh, byte [esi + 0x514]
or bh, 0
xor al, 1
and al, bh
xor ch, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x513], al
mov al, byte [esi + 0x517]
xor al, 0
or ch, bh
or al, 0
xor ch, 1
and ch, al
mov al, byte [esi + 0x516]
xor al, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x512], al
mov al, byte [esi + 0x517]
xor al, 0
mov byte [esi + 0x511], al
mov al, byte [esi + 0x512]
and al, 0
mov byte [esi + 0x510], al
mov al, byte [esi + 0x516]
mov byte [esi + 0x50f], cl
mov cl, byte [esi + 0x511]
and al, cl
mov cl, bh
and cl, 0
mov byte [esi + 0x50e], al
mov al, byte [esi + 0x50f]
mov byte [esi + 0x50d], cl
mov cl, byte [esi + 0x511]
and al, cl
mov cl, byte [esi + 0x510]
mov byte [esi + 0x50c], al
mov al, byte [esi + 0x50e]
or cl, al
mov al, byte [esi + 0x50d]
mov byte [esi + 0x50b], cl
mov cl, byte [esi + 0x50c]
or al, cl
mov cl, byte [esi + 0x50b]
xor cl, al
mov al, byte [esi + 0x512]
or al, bh
xor al, 1
mov bh, byte [esi + 0x511]
or bh, 0
and al, bh
or cl, al
mov al, byte [esi + 0x513]
xor al, 1
mov bh, ch
xor bh, 1
mov byte [esi + 0x50a], al
mov al, byte [esi + 0x517]
xor al, 0
mov byte [esi + 0x509], al
mov al, byte [esi + 0x50a]
and al, 0
mov byte [esi + 0x508], al
mov al, byte [esi + 0x513]
mov byte [esi + 0x507], cl
mov cl, byte [esi + 0x509]
and al, cl
mov cl, bh
and cl, 0
mov byte [esi + 0x506], al
mov al, byte [esi + 0x509]
and ch, al
mov al, byte [esi + 0x508]
mov byte [esi + 0x505], cl
mov cl, byte [esi + 0x506]
or al, cl
mov cl, byte [esi + 0x505]
or cl, ch
xor al, cl
mov cl, byte [esi + 0x50a]
or cl, bh
xor cl, 1
mov ch, byte [esi + 0x509]
or ch, 0
and cl, ch
or al, cl
mov cl, byte [esi + 0x507]
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x517]
xor ch, 1
mov bh, byte [esi + 0x507]
and bh, ch
mov byte [esi + 0x504], al
xor al, 1
and al, 1
mov byte [esi + 0x503], al
mov al, byte [esi + 0x504]
and al, ch
or cl, bh
mov ch, byte [esi + 0x503]
or ch, al
xor cl, ch
mov al, dl
xor al, 1
mov ch, dh
xor ch, 1
mov bh, byte [esi + 0x517]
xor bh, 1
mov byte [esi + 0x502], al
and al, 1
and dl, bh
mov byte [esi + 0x501], al
mov al, ch
and al, 1
and dh, bh
mov byte [esi + 0x500], al
mov al, byte [esi + 0x501]
or al, dl
mov dl, byte [esi + 0x500]
or dl, dh
xor al, dl
mov dl, byte [esi + 0x502]
or dl, ch
xor dl, 1
or bh, 1
and dl, bh
or al, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x517]
xor ch, 1
and al, ch
or dl, al
mov al, bl
and al, 0
xor bl, 0
or al, bl
xor dl, 1
xor al, 1
mov ch, byte [esi + 0x517]
xor ch, 1
or dl, al
or ch, 1
xor dl, 1
and dl, ch
mov al, cl
xor al, 1
mov ch, dl
xor ch, 1
mov dh, byte [esi + 0x517]
xor dh, 0
mov bl, al
and bl, 0
and cl, dh
mov bh, ch
and bh, 0
and dl, dh
or bl, cl
or bh, dl
xor bl, bh
or al, ch
xor al, 1
or dh, 0
and al, dh
or bl, al
test bl, 1
mov byte [esi + 0x4ff], ah
jne 0x53f932
jmp 0x54a530
mov al, byte [esi + 0x4ff]
test al, 1
jne 0x53f945
jmp 0x540722
mov eax, 0xffffffff
mov ecx, dword [esi + 0x800]
mov edx, dword [ecx]
mov edx, dword [edx]
mov edi, edx
xor edi, 0xffffffff
and edi, 0xd62fd60d
mov ebx, eax
push edx
mov edx, 0x595d280f
xor edx, 0x8f72fe02
xor ebx, edx
pop edx
and edx, ebx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd62fd60d
and ebx, 0xffffffff
or edi, edx
or ecx, ebx
xor edi, ecx
mov ecx, eax
xor ecx, 0x10000
and ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0x10000
or ecx, edx
mov edx, eax
xor edx, 0x6061fb06
and edx, 0xffffffff
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0x6061fb06
or edx, ebx
mov ebx, edi
xor ebx, 0x82eb690c
xor ebx, 0x7d1496f3
mov dword [esi + 0x4f8], eax
mov eax, 0x447cfc
mov eax, ecx
xor eax, 0x6cdcb185
xor eax, 0x93234e7a
mov dword [esi + 0x4f4], eax
mov eax, dword [esi + 0x4f8]
xor eax, 0xda58568e
call fcn.0054bda0
mov eax, ebx
and eax, 0xda58568e
mov dword [esi + 0x4ec], eax
call fcn.0054bdb0
and edi, eax
mov eax, dword [esi + 0x4f4]
and eax, 0xda58568e
mov dword [esi + 0x4e8], eax
call fcn.0054bdc0
and ecx, eax
mov eax, dword [esi + 0x4ec]
or eax, edi
mov edi, dword [esi + 0x4e8]
or edi, ecx
xor eax, edi
call fcn.0054bdd0
or ebx, ecx
xor ebx, 0xffffffff
mov edi, dword [esi + 0x4f0]
or edi, 0xda58568e
and ebx, edi
or eax, ebx
mov edi, edx
and edi, 0x6061fb06
xor edx, 0x8861da60
xor edx, 0xe8002166
or edi, edx
mov edx, 0x447cf0
mov edx, eax
xor edx, 0xffffffff
and edx, 0xffffffff
call fcn.0054bde0
xor ebx, 0xffffffff
and eax, ebx
or edx, eax
xor edx, 0x971d8a2c
xor edx, 0x68e275d3
xor edi, 0xffffffff
mov eax, dword [esi + 0x4f8]
xor eax, 0x12210f62
or edx, edi
or eax, 0x12210f62
xor edx, 0xffffffff
and edx, eax
push eax
mov eax, 0xdf7857c7
xor eax, 0xdf7857c7
cmp edx, eax
pop eax
je 0x540722
cmp dword [0x7fed88], 0
je 0x540013
mov al, 1
mov ecx, 0
call fcn.0054bdf0
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 1
sub ebx, 0
mov byte [esi + 0x4e7], al
mov eax, ecx
sub eax, edx
mov dword [esi + 0x4e0], eax
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x4e0]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x4e7]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x4e7]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x53fb9a
jmp 0x54ae0b
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
sub ecx, 0x965945d4
mov ebx, edx
sub ebx, ecx
add ebx, 0xcf8fa7e4
add ebx, 0xffffffff
sub ebx, 0xcf8fa7e4
sub ebx, 0xd53bc36a
sub ebx, 0x965945d4
add ebx, 0xd53bc36a
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x4df], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x4df]
xor bl, 1
mov bh, byte [esi + 0x4df]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esi + 0x4df]
xor bh, 1
or ah, bl
or bh, 1
xor ah, 1
and ah, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0x4df]
xor bh, 1
mov byte [esi + 0x4de], al
mov al, byte [esi + 0x4df]
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
xor cl, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x4df]
xor bh, 0
or cl, al
or bh, 0
xor cl, 1
and cl, bh
mov al, byte [esi + 0x4de]
and al, ah
mov bh, byte [esi + 0x4de]
xor bh, ah
or al, bh
mov ah, bl
and ah, cl
xor bl, cl
or ah, bl
mov cl, al
xor cl, 1
mov bl, ah
and bl, cl
xor ah, 1
and al, ah
or bl, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x4df]
xor dl, 0
and al, dl
mov ah, byte [esi + 0x4df]
xor ah, 1
and ah, 0
and dl, 1
or cl, al
or ah, dl
xor cl, ah
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, bl
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x4df]
xor ah, 0
mov ch, al
and ch, 0
and bl, ah
mov dh, cl
and dh, 0
and dl, ah
or ch, bl
or dh, dl
xor ch, dh
or al, cl
xor al, 1
or ah, 0
and al, ah
or ch, al
test ch, 1
jne 0x53fd73
jmp 0x54ae0b
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
add ebx, 0xd5054372
mov byte [esi + 0x4dd], al
mov eax, edx
add eax, ebx
add eax, 0x1a78d7a1
add eax, 0xffffffff
add eax, 0xe587285f
mov ebx, ecx
sub ebx, eax
mov eax, ecx
add eax, 0xd5054372
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x4dd]
xor ah, 0
mov dh, al
and dh, 0
and ch, ah
mov bl, cl
and bl, 0
and dl, ah
or dh, ch
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x53fe2e
jmp 0x54a535
mov al, 1
mov ecx, 0x57d060
mov ecx, dword [ecx]
mov edx, dword [0x7ff6e8]
mov edi, dword [esi + 0x800]
call fcn.0054be00
call fcn.0054be10
call fcn.0054be20
mov byte [esi + 0x4dc], al
mov eax, dword [0x80a090]
mov dword [esi + 0x4d8], eax
mov eax, edx
mov eax, ecx
sub eax, edi
call fcn.0054be30
mov eax, ecx
sub eax, 0x90cbe7da
mov dword [esi + 0x4d0], eax
call fcn.0054be40
mov dword [esi + 0x4cc], ecx
call fcn.0054be50
add eax, ecx
mov ecx, dword [esi + 0x4cc]
sub ecx, eax
add ecx, 0x52969a07
add ecx, 0xffffffff
add ecx, 0xad6965f9
mov eax, dword [esi + 0x4cc]
sub eax, 0x90cbe7da
add ecx, eax
imul edi, ecx
and edi, 1
cmp edi, 0
sete al
mov ecx, dword [esi + 0x4d8]
cmp ecx, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov byte [esi + 0x4cb], al
mov al, byte [esi + 0x4dc]
xor al, 0
mov byte [esi + 0x4ca], al
mov al, byte [esi + 0x4cb]
mov byte [esi + 0x4c9], cl
mov cl, byte [esi + 0x4ca]
and al, cl
mov cl, ah
xor cl, 1
and cl, 0
mov byte [esi + 0x4c8], al
mov al, byte [esi + 0x4ca]
and ah, al
mov al, byte [esi + 0x4c9]
mov byte [esi + 0x4c7], cl
mov cl, byte [esi + 0x4c8]
or al, cl
mov cl, byte [esi + 0x4c7]
or cl, ah
xor al, cl
mov cl, ch
xor cl, 1
mov ah, al
xor ah, 1
mov byte [esi + 0x4c6], al
mov al, byte [esi + 0x4dc]
xor al, 0
mov byte [esi + 0x4c5], al
mov al, cl
and al, 0
mov byte [esi + 0x4c4], al
mov al, byte [esi + 0x4c5]
and ch, al
mov al, ah
and al, 0
mov byte [esi + 0x4c3], al
mov al, byte [esi + 0x4c6]
mov byte [esi + 0x4c2], cl
mov cl, byte [esi + 0x4c5]
and al, cl
mov cl, byte [esi + 0x4c4]
or cl, ch
mov ch, byte [esi + 0x4c3]
or ch, al
xor cl, ch
mov al, byte [esi + 0x4c2]
or al, ah
xor al, 1
mov ah, byte [esi + 0x4c5]
or ah, 0
and al, ah
or cl, al
test cl, 1
call fcn.0054be60
mov dword [esi + 0x4b8], ebx
jne 0x53ffd4
jmp 0x54a535
sub esp, 0x10
mov eax, esp
call fcn.0054be70
call fcn.0054be80
mov dword [eax + 0xc], 4
call fcn.0054be90
call fcn.0054bea0
mov eax, dword [esi + 0x4bc]
call eax
mov dword [esi + 0x4b4], eax
mov eax, dword [esi + 0x4b4]
mov dword [esi + 0x4b0], eax
jmp 0x5404a8
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 7
mov ebx, ecx
sub ebx, 0x936aa57c
mov byte [esi + 0x4af], al
mov eax, edx
add eax, ebx
add eax, 0xc997f024
add eax, 0xffffffff
sub eax, 0xc997f024
mov ebx, ecx
sub ebx, eax
mov eax, ecx
add eax, 0x6c955a84
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x4af]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x4af]
xor ah, 0
mov dh, al
and dh, 0
and ch, ah
mov bl, dl
and bl, 0
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x5400e5
jmp 0x54a53a
mov al, 1
mov ecx, 0
call fcn.0054beb0
mov edi, dword [0x80a090]
mov ebx, 0x447b64
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x4ae], al
mov eax, ecx
sub eax, 0x65f0b86
add ebx, eax
sub ecx, ebx
sub ecx, 0x4b2125fb
add ecx, 0xffffffff
sub ecx, 0xb4deda05
add ecx, 0x91f0794a
add ecx, 0xf9a0f47a
sub ecx, 0x91f0794a
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x4ae]
xor dl, 1
and al, dl
mov dh, ah
xor dh, 1
and dh, 1
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x4ae]
xor ah, 0
mov dh, al
and dh, 0
and ch, ah
mov bl, dl
and bl, 0
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x5401bd
jmp 0x54ae10
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xd5580bb3
mov byte [esi + 0x4ad], al
mov eax, edx
sub eax, ebx
sub eax, 0xc393522
add eax, 0xffffffff
add eax, 0xc393522
sub ecx, 0xd5580bb3
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x4ad]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x4ad]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x4ad]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x4ad]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x4ad]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x4ad]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x4ad]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x4ad]
xor dh, 1
mov byte [esi + 0x4ac], al
mov al, byte [esi + 0x4ad]
xor al, 0
mov byte [esi + 0x4ab], al
mov al, byte [esi + 0x4ac]
or al, dh
mov dh, byte [esi + 0x4ab]
or dh, 0
xor al, 1
and al, dh
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x4aa], al
mov al, byte [esi + 0x4ad]
xor al, 0
or ah, dh
or al, 0
xor ah, 1
and ah, al
mov al, bl
xor al, 1
mov dh, bh
xor dh, 1
mov byte [esi + 0x4a9], al
mov al, byte [esi + 0x4ad]
xor al, 1
mov byte [esi + 0x4a8], al
mov al, byte [esi + 0x4a9]
and al, 1
mov byte [esi + 0x4a7], al
mov al, byte [esi + 0x4a8]
and bl, al
mov al, dh
and al, 1
mov byte [esi + 0x4a6], al
mov al, byte [esi + 0x4a8]
and bh, al
mov al, byte [esi + 0x4a7]
or al, bl
mov bl, byte [esi + 0x4a6]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x4a9]
or bl, dh
xor bl, 1
mov dh, byte [esi + 0x4a8]
or dh, 1
and bl, dh
or al, bl
mov dh, byte [esi + 0x4aa]
and dh, ah
mov bl, byte [esi + 0x4aa]
xor bl, ah
or dh, bl
mov ah, al
xor ah, 1
and ah, 0
mov bl, byte [esi + 0x4ad]
xor bl, 0
and al, bl
mov bh, dh
xor bh, 1
and bh, 0
and dh, bl
or ah, al
or bh, dh
xor ah, bh
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x4ad]
xor dl, 0
and al, dl
mov dh, byte [esi + 0x4ad]
xor dh, 1
and dh, 0
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x4ad]
xor dl, 0
or cl, al
or dl, 0
xor cl, 1
and cl, dl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x5403fc
jmp 0x54ae10
mov al, 1
mov ecx, 0
call fcn.0054bec0
mov edi, dword [0x80a090]
add ecx, 0x2599409a
mov ebx, edx
add ebx, ecx
sub ebx, 0x32dccce3
add ebx, 0xffffffff
sub ebx, 0xcd23331d
add ebx, 0xc4bacaa2
add ebx, 0xda66bf66
sub ebx, 0xc4bacaa2
imul edx, ebx
and edx, 1
push ebx
mov ebx, 0x10ad58d6
xor ebx, 0x10ad58d6
cmp edx, ebx
pop ebx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
or ch, dl
or al, 1
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x540499
jmp 0x54a53a
mov eax, 0
call fcn.0054bed0
jmp 0x5404a8
call fcn.0054bee0
cmp eax, 6
je 0x54071d
mov al, 1
mov ecx, 0
call fcn.0054bef0
call fcn.0054bf00
mov ebx, 7
mov ebx, ecx
sub ebx, 0xb0f1f599
mov byte [esi + 0x4a5], al
mov eax, edx
sub eax, ebx
mov ebx, ecx
sub ebx, 1
add eax, ebx
sub ecx, 0xb0f1f599
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x4a5]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x4a5]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x4a5]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x4a5]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x4a5]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x4a5]
xor dh, 1
mov byte [esi + 0x4a4], al
mov al, byte [esi + 0x4a5]
xor al, 0
mov byte [esi + 0x4a3], al
mov al, byte [esi + 0x4a4]
or al, dh
mov dh, byte [esi + 0x4a3]
or dh, 0
xor al, 1
and al, dh
mov dh, ch
xor dh, 1
mov byte [esi + 0x4a2], al
mov al, ah
xor al, dh
and al, ah
mov ah, bl
and ah, bh
xor bl, bh
or ah, bl
mov dh, byte [esi + 0x4a2]
and dh, al
mov bl, byte [esi + 0x4a2]
xor bl, al
or dh, bl
mov al, ah
xor al, 1
and al, 0
mov bl, byte [esi + 0x4a5]
xor bl, 0
and ah, bl
mov bh, dh
xor bh, 1
and bh, 0
and dh, bl
or al, ah
or bh, dh
xor al, bh
mov ah, cl
xor ah, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0x4a5]
xor bl, 0
mov bh, ah
and bh, 0
and cl, bl
mov byte [esi + 0x4a1], al
mov al, dh
and al, 0
and dl, bl
or bh, cl
or al, dl
xor bh, al
or ah, dh
xor ah, 1
or bl, 0
and ah, bl
or bh, ah
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x4a5]
xor cl, 1
and bh, cl
or al, bh
mov cl, ch
and cl, 1
xor ch, 1
or cl, ch
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
mov al, byte [esi + 0x4a1]
and al, dl
mov cl, byte [esi + 0x4a1]
xor cl, dl
or al, cl
test al, 1
jne 0x54066e
jmp 0x54ae15
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x8b8]
mov dword [edx], 0
mov edi, dword [esi + 0x894]
mov dword [edi], 1
mov ebx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0x2b3203f9
sub edi, 1
sub edi, 0xd4cdfc07
sub ecx, edi
mov edi, ebx
sub edi, ecx
imul ebx, edi
and ebx, 1
cmp ebx, 0
sete ah
cmp edx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or dl, ah
or dh, cl
xor dl, dh
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x540718
jmp 0x54ae15
jmp 0x549b29
jmp 0x540722
jmp 0x540727
lea eax, [0x8085d8]
sub esp, 4
mov dword [esp], eax
call fcn.0044bb20
add esp, 4
call fcn.0054bf10
mov al, 1
mov ecx, 0
call fcn.0054bf20
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0xe6e32909
add ebx, 0x7806fea3
sub ebx, 0x191cd6f7
add ecx, 0xffffffff
add ebx, ecx
add ebx, 0xd94a2e77
sub ebx, 0x7806fea3
sub ebx, 0xd94a2e77
imul edx, ebx
and edx, 1
push eax
mov eax, 0x7cbf8f1b
xor eax, 0x7cbf8f1b
cmp edx, eax
pop eax
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 0
or ch, dl
or dh, 0
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or dl, ah
or bl, cl
xor dl, bl
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
xor al, 0
mov dh, cl
and dh, 0
and ch, al
mov bl, ah
and bl, 0
and dl, al
or dh, ch
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
jne 0x540815
jmp 0x54a53f
mov eax, 0
mov ecx, 0x2d4827e2
mov edx, dword [esi + 0x7fc]
mov edi, dword [esi + 0x49c]
mov dword [edx], edi
cmp edi, 0
setne bl
call fcn.0054bf30
call fcn.0054bf40
sub ecx, 0
sub ecx, 1
sub ecx, 0x2d4827e2
call fcn.0054bf50
sub eax, edx
mov dword [esi + 0x494], eax
mov eax, dword [esi + 0x498]
sub eax, ecx
mov ecx, dword [esi + 0x494]
add ecx, eax
mov eax, dword [esi + 0x498]
sub eax, ecx
imul edx, eax
and edx, 1
push eax
mov eax, 0x27ce6fa
xor eax, 0x27ce6fa
cmp edx, eax
pop eax
sete bh
push ebx
mov ebx, 0xfaac4238
xor ebx, 0xfaac4232
cmp edi, ebx
pop ebx
setl al
mov ah, al
xor ah, 1
mov cl, bh
xor cl, ah
and cl, bh
mov ah, bh
xor ah, 1
mov ch, al
and ch, ah
xor al, 1
and bh, al
or ch, bh
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
mov byte [esi + 0x493], bl
jne 0x5408d9
jmp 0x54a53f
mov al, byte [esi + 0x493]
test al, 1
jne 0x549079
jmp 0x5408ec
call fcn.0054bf60
call fcn.0054bf70
mov ecx, dword [esi + 0x7f4]
mov dword [ecx], 0
mov edx, dword [esi + 0x88c]
mov edi, dword [edx]
call fcn.0054bf80
mov edi, dword [edi + 4]
call fcn.0054bf90
call fcn.0054bfa0
call fcn.0054bfb0
call fcn.0054bfc0
cmp dword [eax], 0
je 0x54397d
mov al, 1
mov ecx, 0
call fcn.0054bfd0
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xd4681851
mov byte [esi + 0x492], al
mov eax, edx
sub eax, ebx
add eax, 0xa72c777
add eax, 0xffffffff
sub eax, 0xa72c777
sub ecx, 0xd4681851
add eax, ecx
imul edx, eax
and edx, 1
push eax
mov eax, 0x28c7a62a
xor eax, 0x28c7a62a
cmp edx, eax
pop eax
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x492]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
xor al, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x492]
xor ah, 1
mov dh, al
and dh, 1
and cl, ah
mov bl, dl
and bl, 1
and ch, ah
or dh, cl
or bl, ch
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x5409fe
jmp 0x54a7d2
mov al, 1
mov ecx, 0
mov edx, 0x69d89b
call fcn.0054bfe0
call fcn.0054bff0
add edx, 0
sub edx, 1
sub edx, 0x69d89b
mov edi, ecx
sub edi, edx
add ebx, edi
call fcn.0054c000
mov edi, dword [0x80a090]
sub ecx, 0x5df0c1fc
mov byte [esi + 0x491], al
mov eax, 0x40000
mov eax, edx
add eax, ecx
add eax, 0xb85b7382
add eax, 0xffffffff
sub eax, 0xb85b7382
add eax, 0xc757090f
sub eax, 0xa20f3e04
sub eax, 0xc757090f
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x491]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x491]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x491]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x491]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x491]
xor dh, 1
mov byte [esi + 0x490], al
mov al, cl
xor al, dh
and al, cl
mov dh, byte [esi + 0x490]
xor dh, 1
mov byte [esi + 0x48f], al
mov al, ch
xor al, 1
mov byte [esi + 0x48e], al
mov al, byte [esi + 0x491]
xor al, 0
mov byte [esi + 0x48d], al
mov al, byte [esi + 0x48e]
or dh, al
mov al, byte [esi + 0x48d]
or al, 0
xor dh, 1
and dh, al
mov al, byte [esi + 0x491]
xor al, 1
mov byte [esi + 0x48c], al
mov al, dl
mov byte [esi + 0x48b], cl
mov cl, byte [esi + 0x48c]
xor al, cl
and al, dl
mov cl, ch
xor cl, 1
mov byte [esi + 0x48a], al
mov al, ah
xor al, cl
and al, ah
mov cl, byte [esi + 0x48f]
and cl, dh
mov ah, byte [esi + 0x48f]
xor ah, dh
or cl, ah
mov ah, byte [esi + 0x48a]
and ah, al
mov dh, byte [esi + 0x48a]
xor dh, al
or ah, dh
mov al, cl
xor al, 1
and al, 1
mov dh, byte [esi + 0x491]
xor dh, 1
and cl, dh
mov byte [esi + 0x489], al
mov al, ah
xor al, 1
and al, 1
and ah, dh
mov dh, byte [esi + 0x489]
or dh, cl
or al, ah
xor dh, al
mov al, byte [esi + 0x48b]
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x491]
xor ah, 0
mov byte [esi + 0x488], al
and al, 0
mov byte [esi + 0x487], al
mov al, byte [esi + 0x48b]
and al, ah
mov byte [esi + 0x486], al
mov al, cl
and al, 0
and dl, ah
mov byte [esi + 0x485], al
mov al, byte [esi + 0x487]
mov byte [esi + 0x484], cl
mov cl, byte [esi + 0x486]
or al, cl
mov cl, byte [esi + 0x485]
or cl, dl
xor al, cl
mov cl, byte [esi + 0x488]
mov dl, byte [esi + 0x484]
or cl, dl
xor cl, 1
or ah, 0
and cl, ah
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x491]
xor ah, 1
and al, ah
or cl, al
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor cl, 1
xor al, 1
mov ah, byte [esi + 0x491]
xor ah, 1
or cl, al
or ah, 1
xor cl, 1
and cl, ah
mov al, dh
and al, cl
xor dh, cl
or al, dh
test al, 1
mov dword [esi + 0x480], ebx
jne 0x540c67
jmp 0x54a7d2
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x480]
mov dword [eax], ecx
call fcn.0054c010
call fcn.00533040
mov eax, dword [esi + 0x7f0]
call fcn.0054c020
sub esp, 4
mov edx, esi
mov edx, esp
mov dword [edx], ecx
call fcn.0054c030
call fcn.00429020
mov dword [esi + 0x47c], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x18468dc2
sub ebx, 0xe03da0db
add ebx, 0x18468dc2
sub ebx, 0x501e8304
add ebx, 0xffffffff
sub ebx, 0xafe17cfc
sub ecx, 0xe03da0db
sub ebx, ecx
imul edx, ebx
and edx, 1
push ebx
mov ebx, 0x324ae207
xor ebx, 0x324ae207
cmp edx, ebx
pop ebx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
or ch, dl
or al, 0
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x540d40
jmp 0x54a7d7
mov al, 1
mov ecx, 0xf7f67c46
pushfd
sub ecx, 0xf7f67c46
popfd
mov edx, 0xffffffff
call fcn.0054c040
mov ebx, dword [esi + 0x47c]
call fcn.0054c050
mov edi, dword [esi + 0x7f0]
mov edi, dword [edi]
mov ebx, esi
mov ebx, ecx
add ebx, 0x6b13a4c3
sub ebx, edi
add ebx, 0x94ec5b3d
mov edi, ecx
sub edi, 0x4dda6eb8
sub edi, 1
add edi, 0x4dda6eb8
mov byte [esi + 0x47b], al
mov eax, 0x447c30
mov eax, ecx
sub eax, edi
sub ebx, eax
mov eax, ecx
sub eax, ebx
add eax, 0
call fcn.0054c060
call fcn.0054c070
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x7f4]
call fcn.0054c080
mov eax, dword [edi]
mov dword [eax], ebx
mov eax, dword [esi + 0x7f4]
mov ebx, dword [eax]
call fcn.0054c090
mov eax, ebx
xor eax, 0xffffffff
and eax, 0x9bcd8e95
mov edi, edx
xor edi, 0x9bcd8e95
and ebx, edi
mov dword [esi + 0x474], eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x9bcd8e95
and edi, 0xffffffff
mov dword [esi + 0x470], eax
call fcn.0054c0a0
or eax, ebx
call fcn.0054c0b0
or ebx, edi
xor eax, ebx
mov edi, edx
xor edi, 0x100
and edi, 0x4d8a9b53
mov ebx, edx
xor ebx, 0x4d8a9b53
mov dword [esi + 0x46c], eax
mov eax, 0x447c60
mov eax, ebx
and eax, 0x100
mov dword [esi + 0x468], eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x4d8a9b53
and ebx, 0xffffffff
call fcn.0054c0c0
call fcn.0054c0d0
or edi, eax
call fcn.0054c0e0
or eax, ebx
xor edi, eax
mov eax, edx
xor eax, 0xa2fa6dcb
and eax, 0x3d789eda
mov ebx, edx
xor ebx, 0x3d789eda
mov dword [esi + 0x460], eax
mov eax, ebx
and eax, 0xa2fa6dcb
mov dword [esi + 0x45c], eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x3d789eda
and ebx, 0xffffffff
call fcn.0054c0f0
mov eax, dword [esi + 0x460]
mov dword [esi + 0x454], ecx
mov ecx, dword [esi + 0x45c]
or eax, ecx
call fcn.0054c100
or ecx, ebx
xor eax, ecx
mov ecx, dword [esi + 0x46c]
and ecx, edi
mov ebx, dword [esi + 0x46c]
xor ebx, edi
or ecx, ebx
mov edi, eax
and edi, 0xa2fa6dcb
xor eax, 0xad689b80
xor eax, 0xf92f64b
or edi, eax
mov eax, 0
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xffffffff
push eax
mov eax, 0x5b9c044
xor eax, 0xfa463fbb
xor edx, eax
pop eax
and ecx, edx
or eax, ecx
xor edi, 0xffffffff
mov ecx, eax
xor ecx, edi
and ecx, eax
cmp ecx, 0
setne al
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0x8d412f69
sub edi, 0x7c40db16
add edi, 0x72bed097
add edi, 0x5bbbb477
sub edi, 1
sub edi, 0x5bbbb477
mov ebx, dword [esi + 0x454]
sub ebx, edi
mov edi, dword [esi + 0x454]
sub edi, 0x7c40db16
add ebx, edi
call fcn.0054c110
sub edi, ebx
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
push eax
mov eax, 0x4b0908e0
xor eax, 0x4b0908ea
cmp edx, eax
pop eax
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, byte [esi + 0x47b]
xor dl, 0
mov dh, ah
and dh, dl
mov bl, byte [esi + 0x47b]
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, byte [esi + 0x47b]
xor dh, 1
mov bl, cl
and bl, dh
mov bh, byte [esi + 0x47b]
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, byte [esi + 0x47b]
xor dh, 1
and dh, 1
mov bl, byte [esi + 0x47b]
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x453], al
mov al, byte [esi + 0x47b]
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x47b]
xor bl, 1
mov bh, byte [esi + 0x47b]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, byte [esi + 0x47b]
xor ah, 1
mov bl, dl
xor bl, ah
and bl, dl
mov ah, dh
xor ah, 1
mov byte [esi + 0x452], al
mov al, cl
xor al, ah
and al, cl
mov cl, byte [esi + 0x452]
xor cl, 1
mov ah, bh
xor ah, 1
mov byte [esi + 0x451], al
mov al, byte [esi + 0x47b]
xor al, 0
mov byte [esi + 0x450], al
mov al, cl
and al, 0
mov byte [esi + 0x44f], al
mov al, byte [esi + 0x452]
mov byte [esi + 0x44e], cl
mov cl, byte [esi + 0x450]
and al, cl
mov cl, ah
and cl, 0
mov byte [esi + 0x44d], al
mov al, byte [esi + 0x450]
and bh, al
mov al, byte [esi + 0x44f]
mov byte [esi + 0x44c], cl
mov cl, byte [esi + 0x44d]
or al, cl
mov cl, byte [esi + 0x44c]
or cl, bh
xor al, cl
mov cl, byte [esi + 0x44e]
or cl, ah
xor cl, 1
mov ah, byte [esi + 0x450]
or ah, 0
and cl, ah
or al, cl
mov cl, bl
xor cl, 1
mov ah, byte [esi + 0x451]
xor ah, 1
mov bh, byte [esi + 0x47b]
xor bh, 1
mov byte [esi + 0x44b], al
mov al, cl
and al, 1
and bl, bh
mov byte [esi + 0x44a], al
mov al, ah
and al, 1
mov byte [esi + 0x449], al
mov al, byte [esi + 0x451]
and al, bh
mov byte [esi + 0x448], al
mov al, byte [esi + 0x44a]
or al, bl
mov bl, byte [esi + 0x449]
mov byte [esi + 0x447], al
mov al, byte [esi + 0x448]
or bl, al
mov al, byte [esi + 0x447]
xor al, bl
or cl, ah
xor cl, 1
or bh, 1
and cl, bh
or al, cl
mov cl, byte [esi + 0x44b]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x47b]
xor ah, 1
mov bl, byte [esi + 0x44b]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x47b]
xor ah, 1
and al, ah
or dl, al
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor al, 1
mov ah, dl
xor ah, al
and ah, dl
mov al, cl
and al, ah
xor cl, ah
or al, cl
test al, 1
jne 0x5411d8
jmp 0x54a7d7
mov al, byte [esi + 0x453]
test al, 1
jne 0x5411eb
jmp 0x541203
lea eax, [0x7fa3c0]
mov ecx, dword [esi + 0x7ec]
mov edx, dword [ecx]
call fcn.0054c120
jmp 0x542ea4
cmp dword [0x7ff5f0], 0
je 0x54137e
mov eax, dword [0x7ffda8]
call eax
mov dword [esi + 0x440], eax
mov al, 1
call fcn.0054c130
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xe0523e0
sub edi, 0x97054303
add edi, 0xf1fadc20
add edi, 0x3fee9d25
add edi, 0xffffffff
add edi, 0xc01162db
sub edi, 0xbf40efed
add edi, 0x97054303
sub edi, 0x40bf1013
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
or bh, cl
or al, 0
xor bh, 1
and bh, al
mov al, ah
xor al, 1
mov cl, bl
and cl, al
xor bl, 1
and ah, bl
or cl, ah
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x5412b9
jmp 0x54ae30
mov al, 1
mov ecx, 0x57d13c
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
call fcn.0054c140
mov ebx, ecx
sub ebx, 1
add ebx, 0
mov byte [esi + 0x43f], al
mov eax, ecx
sub eax, edx
mov dword [esi + 0x438], eax
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x438]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x43f]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, cl
and bl, 1
and dl, ah
or dh, ch
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x54136e
jmp 0x54ae30
call fcn.0054c150
mov dword [esi + 0x434], eax
jmp 0x5417d3
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c160
sub ecx, 0xe27e7c57
mov ebx, edx
add ebx, ecx
sub ebx, 0xa5a8e7de
sub ebx, 1
add ebx, 0xa5a8e7de
add ebx, 0x9f9ffe34
add ebx, 0xe27e7c57
add ebx, 0x606001cc
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, al
xor bl, 0
mov bh, ch
xor bh, bl
and bh, ch
mov bl, dh
xor bl, 1
mov byte [esi + 0x433], al
mov al, ah
xor al, bl
and al, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x433]
xor bl, 0
mov byte [esi + 0x432], al
mov al, byte [esi + 0x433]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
xor cl, 1
mov al, dh
xor al, 1
mov bl, byte [esi + 0x433]
xor bl, 1
or cl, al
or bl, 1
xor cl, 1
and cl, bl
mov al, bh
xor al, 1
mov bl, byte [esi + 0x432]
xor bl, 1
mov byte [esi + 0x431], al
mov al, byte [esi + 0x433]
xor al, 0
mov byte [esi + 0x430], al
mov al, byte [esi + 0x431]
and al, 0
mov byte [esi + 0x42f], al
mov al, byte [esi + 0x430]
and bh, al
mov al, bl
and al, 0
mov byte [esi + 0x42e], al
mov al, byte [esi + 0x432]
mov byte [esi + 0x42d], cl
mov cl, byte [esi + 0x430]
and al, cl
mov cl, byte [esi + 0x42f]
or cl, bh
mov bh, byte [esi + 0x42e]
or bh, al
xor cl, bh
mov al, byte [esi + 0x431]
or al, bl
xor al, 1
mov bl, byte [esi + 0x430]
or bl, 0
and al, bl
or cl, al
mov al, ah
mov bl, byte [esi + 0x42d]
and al, bl
xor ah, bl
or al, ah
mov ah, cl
xor ah, 1
and ah, 0
mov bh, byte [esi + 0x433]
xor bh, 0
and cl, bh
mov bl, al
xor bl, 1
and bl, 0
and al, bh
or ah, cl
or bl, al
xor ah, bl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x433]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x42c], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x42c]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 0
mov cl, byte [esi + 0x433]
xor cl, 0
and bh, cl
mov dl, byte [esi + 0x433]
xor dl, 1
and dl, 0
and cl, 1
or al, bh
or dl, cl
xor al, dl
mov cl, byte [esi + 0x433]
xor cl, 0
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x433]
xor ch, 0
mov bl, cl
and bl, 0
mov bh, ch
and bh, 0
mov byte [esi + 0x42b], al
mov al, dl
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 0
and cl, ch
or bl, cl
mov al, byte [esi + 0x42b]
xor al, 1
xor bl, 1
mov cl, byte [esi + 0x433]
xor cl, 1
or al, bl
or cl, 1
xor al, 1
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x5415ef
jmp 0x54ae35
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c170
mov ebx, esi
mov ebx, edx
sub ebx, 0x2764b76
add ebx, 0x329003d7
add ebx, 0x2764b76
sub ebx, 0x1298ba3f
add ebx, 0xffffffff
sub ebx, 0xed6745c1
mov byte [esi + 0x42a], al
mov eax, ecx
sub eax, ebx
mov ebx, 0x4000
mov ebx, ecx
sub ebx, 0xcd6ffc29
add eax, ebx
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x42a]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x42a]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x42a]
xor ch, 1
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x42a]
xor bl, 1
and bl, 1
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x42a]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x42a]
xor dh, 1
mov bl, dh
and bl, 1
mov bh, byte [esi + 0x42a]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x42a]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x42a]
xor bh, 1
or al, dh
or bh, 1
xor al, 1
and al, bh
mov dh, byte [esi + 0x42a]
xor dh, 1
mov bh, dl
xor bh, dh
and bh, dl
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x429], al
mov al, byte [esi + 0x42a]
xor al, 1
or ah, dh
or al, 1
xor ah, 1
and ah, al
mov al, bl
mov dh, byte [esi + 0x429]
and al, dh
xor bl, dh
or al, bl
mov bl, bh
and bl, ah
xor bh, ah
or bl, bh
mov ah, al
xor ah, 1
and ah, 0
mov bh, byte [esi + 0x42a]
xor bh, 0
and al, bh
mov dh, bl
xor dh, 1
and dh, 0
and bl, bh
or ah, al
or dh, bl
xor ah, dh
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x42a]
xor dl, 1
and al, dl
or cl, al
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x42a]
xor dl, 1
or cl, al
or dl, 1
xor cl, 1
and cl, dl
mov al, ah
and al, cl
xor ah, cl
or al, ah
test al, 1
jne 0x5417c4
jmp 0x54ae35
mov eax, 0
call fcn.0054c180
jmp 0x5417d3
mov eax, dword [esi + 0x434]
call fcn.0054c190
mov dword [ecx], eax
call fcn.0054c1a0
mov edx, dword [eax]
sub esp, 0x10
mov edi, esp
mov ebx, dword [esi + 0x858]
call fcn.0054c1b0
mov dword [edi + 4], edx
call fcn.0054c1c0
mov dword [edi], edx
mov dword [edi + 0xc], 0
call fcn.0054c1d0
call fcn.0052dfb0
mov al, 1
mov ecx, 0xd6e26472
pushfd
sub ecx, 0xd6e26472
popfd
call fcn.0054c1e0
call fcn.0054c1f0
mov ebx, 0x3fffff
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x428], al
mov eax, ecx
sub eax, 0xd8296358
add ebx, eax
mov eax, ecx
sub eax, ebx
add eax, 0x482c3d41
sub eax, 1
sub eax, 0x482c3d41
sub ecx, 0xd8296358
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x428]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x428]
xor ch, 1
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x428]
xor bl, 1
and bl, 1
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x428]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x428]
xor dh, 1
and dh, 0
or ch, dh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x428]
xor bl, 0
mov bh, byte [esi + 0x428]
xor bh, 0
or dh, bl
or bh, 0
xor dh, 1
and dh, bh
xor al, 1
mov bl, ch
xor bl, 1
mov bh, byte [esi + 0x428]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0x428]
xor bh, 0
mov byte [esi + 0x427], al
mov al, byte [esi + 0x428]
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, ch
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, dh
xor al, 1
mov ah, byte [esi + 0x427]
xor ah, 1
mov byte [esi + 0x426], al
mov al, byte [esi + 0x428]
xor al, 1
mov byte [esi + 0x425], al
mov al, byte [esi + 0x426]
and al, 1
mov byte [esi + 0x424], al
mov al, byte [esi + 0x425]
and dh, al
mov al, ah
and al, 1
mov byte [esi + 0x423], al
mov al, byte [esi + 0x427]
mov byte [esi + 0x422], cl
mov cl, byte [esi + 0x425]
and al, cl
mov cl, byte [esi + 0x424]
or cl, dh
mov dh, byte [esi + 0x423]
or dh, al
xor cl, dh
mov al, byte [esi + 0x426]
or al, ah
xor al, 1
mov ah, byte [esi + 0x425]
or ah, 1
and al, ah
or cl, al
mov al, bl
xor al, 1
mov ah, bh
xor ah, 1
mov dh, byte [esi + 0x428]
xor dh, 0
mov byte [esi + 0x421], al
and al, 0
and bl, dh
mov byte [esi + 0x420], al
mov al, ah
and al, 0
and bh, dh
mov byte [esi + 0x41f], al
mov al, byte [esi + 0x420]
or al, bl
mov bl, byte [esi + 0x41f]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x421]
or bl, ah
xor bl, 1
or dh, 0
and bl, dh
or al, bl
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, byte [esi + 0x422]
and al, dl
mov cl, byte [esi + 0x422]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x428]
xor dl, 1
and al, dl
mov ah, byte [esi + 0x428]
xor ah, 1
and ah, 1
and dl, 1
or cl, al
or ah, dl
xor cl, ah
mov al, ch
and al, 0
xor ch, 0
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x428]
xor dl, 1
or cl, al
or dl, 1
xor cl, 1
and cl, dl
mov al, dh
and al, cl
xor dh, cl
or al, dh
test al, 1
jne 0x541a8e
jmp 0x54a833
sub esp, 4
mov eax, esp
call fcn.0054c200
mov dword [eax], ecx
call fcn.0054c210
call fcn.004ff990
mov ecx, dword [esi + 0x7e4]
mov dword [esi + 0x418], eax
call fcn.00506f10
call fcn.0054c220
call fcn.0052df00
mov dl, 1
mov ecx, 0
mov edi, dword [0x80a094]
call fcn.0054c230
sub ecx, 0x44d11c88
add ecx, 0xffffffff
add ecx, 0x44d11c88
mov dword [esi + 0x414], eax
mov eax, 0x800000
mov eax, edi
add eax, 0x17ab1ce5
add eax, ecx
add eax, 0xe854e31b
imul edi, eax
and edi, 1
cmp edi, 0
sete dh
push edx
mov edx, 0x40dedca1
xor edx, 0x40dedcab
cmp ebx, edx
pop edx
setl al
mov ah, dh
xor ah, 1
mov cl, al
xor cl, 1
xor dl, 1
or ah, cl
or dl, 1
xor ah, 1
and ah, dl
mov cl, dh
xor cl, 1
mov dl, al
and dl, cl
xor al, 1
and dh, al
or dl, dh
mov al, ah
and al, dl
xor ah, dl
or al, ah
test al, 1
jne 0x541b5c
jmp 0x54a833
sub esp, 4
mov eax, dword [esi + 0x414]
mov dword [esp], eax
call fcn.0044bb5d
add esp, 4
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x7ec]
mov ecx, dword [eax]
mov edx, dword [esi + 0x410]
call fcn.0054c240
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x20]
sub esp, 4
mov edi, esp
mov dword [edi], ecx
call fcn.00448ee0
add esp, 4
mov dword [esi + 0x40c], eax
mov eax, dword [esi + 0x40c]
cmp eax, 0
jne 0x542a4a
mov al, 1
mov ecx, 0x57cf4c
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x40b], al
mov eax, ecx
add eax, 0x96a6069a
add ebx, eax
sub ecx, ebx
sub ecx, 0xe50a3483
sub ecx, 1
add ecx, 0xe50a3483
add ecx, 0x2bb66f29
sub ecx, 0x6959f966
add ecx, 0xd44990d7
imul edx, ecx
and edx, 1
push eax
mov eax, 0xd04e7a2
xor eax, 0xd04e7a2
cmp edx, eax
pop eax
sete al
push ecx
mov ecx, 0x816ace59
xor ecx, 0x816ace53
cmp edi, ecx
pop ecx
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x40b]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x40b]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x40b]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x40b]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x40b]
xor dh, 1
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x40b]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x40b]
xor dh, 0
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x40b]
xor bh, 0
or al, dh
or bh, 0
xor al, 1
and al, bh
mov dh, byte [esi + 0x40b]
xor dh, 0
mov bh, dl
xor bh, dh
and bh, dl
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x40a], al
mov al, byte [esi + 0x40b]
xor al, 0
or ah, dh
or al, 0
xor ah, 1
and ah, al
mov al, bl
xor al, 1
mov dh, byte [esi + 0x40a]
xor dh, 1
mov byte [esi + 0x409], al
mov al, byte [esi + 0x40b]
xor al, 1
mov byte [esi + 0x408], al
mov al, byte [esi + 0x409]
and al, 1
mov byte [esi + 0x407], al
mov al, byte [esi + 0x408]
and bl, al
mov al, dh
and al, 1
mov byte [esi + 0x406], al
mov al, byte [esi + 0x40a]
mov byte [esi + 0x405], cl
mov cl, byte [esi + 0x408]
and al, cl
mov cl, byte [esi + 0x407]
or cl, bl
mov bl, byte [esi + 0x406]
or bl, al
xor cl, bl
mov al, byte [esi + 0x409]
or al, dh
xor al, 1
mov dh, byte [esi + 0x408]
or dh, 1
and al, dh
or cl, al
mov al, bh
xor al, 1
mov dh, ah
xor dh, 1
mov bl, byte [esi + 0x40b]
xor bl, 0
mov byte [esi + 0x404], al
and al, 0
and bh, bl
mov byte [esi + 0x403], al
mov al, dh
and al, 0
and ah, bl
mov byte [esi + 0x402], al
mov al, byte [esi + 0x403]
or al, bh
mov bh, byte [esi + 0x402]
or bh, ah
xor al, bh
mov ah, byte [esi + 0x404]
or ah, dh
xor ah, 1
or bl, 0
and ah, bl
or al, ah
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, byte [esi + 0x405]
and al, dl
mov cl, byte [esi + 0x405]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x40b]
xor dl, 1
and al, dl
or cl, al
mov al, ch
and al, 0
xor ch, 0
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x40b]
xor dl, 0
or cl, al
or dl, 0
xor cl, 1
and cl, dl
mov al, dh
and al, cl
xor dh, cl
or al, dh
test al, 1
jne 0x541e32
jmp 0x54a869
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xccad061b
mov byte [esi + 0x401], al
mov eax, edx
add eax, ebx
add eax, 0xba440d6
sub eax, 1
add eax, 0xf45bbf2a
add ecx, 0x3352f9e5
sub eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x401]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x401]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x401]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x541f09
jmp 0x54ae3a
mov al, 1
mov ecx, 0
mov edx, 0xffffffff
mov edi, dword [esi + 0x7f4]
call fcn.0054c250
call fcn.0054c260
mov edi, ebx
xor edi, 0xffffffff
and edi, 0xd943f53a
mov byte [esi + 0x400], al
mov eax, edx
xor eax, 0xd943f53a
and ebx, eax
call fcn.0054c270
mov eax, edx
xor eax, 0xffffffff
and eax, 0xd943f53a
call fcn.0054c280
mov eax, dword [esi + 0x3fc]
and eax, 0xffffffff
or edi, ebx
call fcn.0054c290
or ebx, eax
xor edi, ebx
mov eax, edx
mov eax, edx
xor eax, 2
and eax, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
and ebx, 2
or eax, ebx
mov ebx, edx
xor ebx, 0x26b22166
and ebx, 0x5a3a69ba
call fcn.0054c2a0
mov eax, edx
xor eax, 0x5a3a69ba
mov dword [esi + 0x3f0], eax
and eax, 0x26b22166
mov dword [esi + 0x3ec], eax
mov eax, edx
push ecx
mov ecx, 0x34388434
xor ecx, 0xcbc77bcb
xor eax, ecx
pop ecx
and eax, 0x5a3a69ba
mov dword [esi + 0x3e8], eax
mov eax, dword [esi + 0x3f0]
and eax, 0xffffffff
call fcn.0054c2b0
mov eax, dword [esi + 0x3ec]
or ebx, eax
mov eax, dword [esi + 0x3e8]
mov dword [esi + 0x3e0], ecx
call fcn.0054c2c0
or eax, ecx
xor ebx, eax
mov ecx, edx
mov eax, edi
call fcn.0054c2d0
and eax, ecx
xor edi, ecx
or eax, edi
mov edi, edx
xor edi, 0x26b22166
mov ecx, ebx
xor ecx, 0xeebf15f4
xor ecx, 0x1140ea0b
mov dword [esi + 0x3dc], eax
mov eax, edx
xor eax, 0x84ed0696
mov dword [esi + 0x3d8], eax
mov eax, 0x447b58
mov eax, edi
and eax, 0x84ed0696
call fcn.0054c2e0
mov eax, dword [esi + 0x3d8]
and eax, 0x26b22166
mov dword [esi + 0x3d0], eax
mov eax, ecx
and eax, 0x84ed0696
mov dword [esi + 0x3cc], eax
mov eax, dword [esi + 0x3d8]
and ebx, eax
mov eax, dword [esi + 0x3d4]
mov dword [esi + 0x3c8], ecx
mov ecx, dword [esi + 0x3d0]
or eax, ecx
mov ecx, dword [esi + 0x3cc]
or ecx, ebx
xor eax, ecx
mov ecx, dword [esi + 0x3c8]
or edi, ecx
xor edi, 0xffffffff
mov ebx, dword [esi + 0x3d8]
or ebx, 0x84ed0696
and edi, ebx
or eax, edi
mov edi, dword [esi + 0x3dc]
xor edi, 0xffffffff
and edi, 0xffffffff
xor edx, 0xffffffff
mov ebx, dword [esi + 0x3dc]
and ebx, edx
or edi, ebx
xor eax, 0xffffffff
mov edx, eax
mov edx, edi
xor edx, eax
and edx, edi
cmp edx, 0
setne al
mov edx, dword [0x80a094]
call fcn.0054c2f0
mov ebx, dword [esi + 0x3e0]
sub ebx, 0x1df59f4d
add ebx, 0xffffffff
sub ebx, 0xe20a60b3
call fcn.0054c300
sub ecx, ebx
mov ebx, edx
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, byte [esi + 0x400]
xor dl, 1
mov dh, ah
and dh, dl
mov bl, byte [esi + 0x400]
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 0
mov dh, byte [esi + 0x400]
xor dh, 0
mov bl, cl
and bl, dh
mov bh, byte [esi + 0x400]
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, byte [esi + 0x400]
xor dh, 0
and dh, 1
mov bl, byte [esi + 0x400]
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esi + 0x3c7], al
mov al, byte [esi + 0x400]
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x400]
xor bl, 0
mov bh, byte [esi + 0x400]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x400]
xor bl, 0
mov byte [esi + 0x3c6], al
mov al, byte [esi + 0x400]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dh
xor al, 1
mov bl, cl
xor bl, al
and bl, cl
mov al, byte [esi + 0x3c6]
and al, bh
mov cl, byte [esi + 0x3c6]
xor cl, bh
or al, cl
mov cl, ah
xor cl, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x3c5], al
mov al, byte [esi + 0x400]
xor al, 0
mov byte [esi + 0x3c4], al
mov al, cl
and al, 0
mov byte [esi + 0x3c3], al
mov al, byte [esi + 0x3c4]
and ah, al
mov al, bh
and al, 0
mov byte [esi + 0x3c2], al
mov al, byte [esi + 0x3c4]
and bl, al
mov al, byte [esi + 0x3c3]
or al, ah
mov ah, byte [esi + 0x3c2]
or ah, bl
xor al, ah
or cl, bh
xor cl, 1
mov ah, byte [esi + 0x3c4]
or ah, 0
and cl, ah
or al, cl
mov cl, byte [esi + 0x3c5]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x3c5]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x400]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x3c1], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x3c1]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x400]
xor cl, 1
and bh, cl
or al, bh
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x400]
xor dl, 0
or al, cl
or dl, 0
xor al, 1
and al, dl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x542323
jmp 0x54ae3a
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c310
sub ecx, 0xbe1e494b
sub ecx, 1
add ecx, 0xbe1e494b
mov ebx, 0x447b40
mov ebx, edx
sub ebx, 0x4f891958
add ebx, ecx
sub ebx, 0xb076e6a8
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push ecx
mov ecx, 0x48acf6d
xor ecx, 0x48acf67
cmp edi, ecx
pop ecx
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
or ch, dl
or al, 0
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x5423b9
jmp 0x54a869
mov al, 1
mov ecx, 0x64130804
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0
sub ecx, 1
sub ecx, 0x64130804
mov ebx, edx
add ebx, 0xa4e98bff
add ebx, ecx
sub ebx, 0xa4e98bff
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x3c0], al
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x3c0]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x3bf], al
mov al, byte [esi + 0x3c0]
xor al, 1
mov byte [esi + 0x3be], al
mov al, byte [esi + 0x3bf]
or cl, al
mov al, byte [esi + 0x3be]
or al, 1
xor cl, 1
and cl, al
mov al, bl
xor al, 1
mov byte [esi + 0x3bd], al
mov al, bh
xor al, 1
mov byte [esi + 0x3bc], al
mov al, byte [esi + 0x3c0]
xor al, 0
mov byte [esi + 0x3bb], al
mov al, byte [esi + 0x3bd]
and al, 0
mov byte [esi + 0x3ba], al
mov al, byte [esi + 0x3bb]
and bl, al
mov al, byte [esi + 0x3bc]
and al, 0
mov byte [esi + 0x3b9], al
mov al, byte [esi + 0x3bb]
and bh, al
mov al, byte [esi + 0x3ba]
or al, bl
mov bl, byte [esi + 0x3b9]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x3bd]
mov bh, byte [esi + 0x3bc]
or bl, bh
xor bl, 1
mov bh, byte [esi + 0x3bb]
or bh, 0
and bl, bh
or al, bl
mov bl, ah
and bl, cl
xor ah, cl
or bl, ah
mov cl, al
xor cl, 1
mov ah, bl
and ah, cl
xor bl, 1
and al, bl
or ah, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x3c0]
xor dl, 1
and al, dl
mov ch, byte [esi + 0x3c0]
xor ch, 1
and ch, 1
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, dh
and al, 0
xor dh, 0
or al, dh
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, ah
xor al, 1
mov cl, dl
xor cl, 1
mov ch, byte [esi + 0x3c0]
xor ch, 0
mov dh, al
and dh, 0
and ah, ch
mov bl, cl
and bl, 0
and dl, ch
or dh, ah
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x5425d8
jmp 0x54ae3f
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c320
mov ebx, ecx
sub ebx, 1
sub ebx, 0
sub ecx, ebx
mov ebx, edx
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or dl, ah
or dh, cl
xor dl, dh
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x542663
jmp 0x54ae3f
mov al, byte [esi + 0x3c7]
test al, 1
jne 0x542676
jmp 0x54267b
call fcn.004d3540
mov al, 1
mov ecx, 0
mov edx, 0xaa46d215
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
add edx, 0
sub edx, 1
sub edx, 0xaa46d215
mov byte [esi + 0x3b8], al
mov eax, ecx
sub eax, edi
mov dword [esi + 0x3b4], eax
mov eax, ecx
sub eax, edx
mov edx, dword [esi + 0x3b4]
add edx, eax
sub ecx, edx
imul edi, ecx
and edi, 1
push ecx
mov ecx, 0xaa5b4ffa
xor ecx, 0xaa5b4ffa
cmp edi, ecx
pop ecx
sete al
cmp ebx, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x3b8]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x3b8]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x3b8]
xor ch, 1
mov dh, al
and dh, 1
and cl, ch
mov bl, ah
and bl, 1
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x542766
jmp 0x54a86e
mov al, 1
mov ecx, 0
mov edx, 0x97a4df6
pushfd
sub edx, 0xb833f352
popfd
call fcn.0054c330
call fcn.0054c340
sub edx, 0
sub edx, 1
sub edx, 0x51465aa4
mov byte [esi + 0x3b3], al
mov eax, ecx
sub eax, edi
mov dword [esi + 0x3ac], eax
mov eax, ecx
sub eax, edx
mov edx, dword [esi + 0x3ac]
add edx, eax
sub ecx, edx
imul edi, ecx
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x3b3]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x3b3]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x3b3]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x3b3]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0x3b3]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x3b3]
xor dh, 1
mov byte [esi + 0x3ab], al
mov al, byte [esi + 0x3b3]
xor al, 0
mov byte [esi + 0x3aa], al
mov al, byte [esi + 0x3ab]
or al, dh
mov dh, byte [esi + 0x3aa]
or dh, 0
xor al, 1
and al, dh
mov dh, ch
xor dh, 1
mov byte [esi + 0x3a9], al
mov al, ah
xor al, dh
and al, ah
mov ah, bl
xor ah, 1
mov dh, bh
xor dh, 1
mov byte [esi + 0x3a8], al
mov al, byte [esi + 0x3b3]
xor al, 0
mov byte [esi + 0x3a7], al
mov al, ah
and al, 0
mov byte [esi + 0x3a6], al
mov al, byte [esi + 0x3a7]
and bl, al
mov al, dh
and al, 0
mov byte [esi + 0x3a5], al
mov al, byte [esi + 0x3a7]
and bh, al
mov al, byte [esi + 0x3a6]
or al, bl
mov bl, byte [esi + 0x3a5]
or bl, bh
xor al, bl
or ah, dh
xor ah, 1
mov dh, byte [esi + 0x3a7]
or dh, 0
and ah, dh
or al, ah
mov ah, byte [esi + 0x3a9]
xor ah, 1
mov dh, byte [esi + 0x3a8]
xor dh, 1
mov bl, byte [esi + 0x3b3]
xor bl, 1
mov bh, ah
and bh, 1
mov byte [esi + 0x3a4], al
mov al, byte [esi + 0x3a9]
and al, bl
mov byte [esi + 0x3a3], al
mov al, dh
and al, 1
mov byte [esi + 0x3a2], al
mov al, byte [esi + 0x3a8]
and al, bl
mov byte [esi + 0x3a1], al
mov al, byte [esi + 0x3a3]
or bh, al
mov al, byte [esi + 0x3a2]
mov byte [esi + 0x3a0], cl
mov cl, byte [esi + 0x3a1]
or al, cl
xor bh, al
or ah, dh
xor ah, 1
or bl, 1
and ah, bl
or bh, ah
mov al, byte [esi + 0x3a4]
xor al, 1
and al, 1
mov cl, byte [esi + 0x3b3]
xor cl, 1
mov ah, byte [esi + 0x3a4]
and ah, cl
mov dh, bh
xor dh, 1
and dh, 1
and bh, cl
or al, ah
or dh, bh
xor al, dh
mov cl, byte [esi + 0x3a0]
xor cl, 1
mov ah, dl
xor ah, 1
mov dh, byte [esi + 0x3b3]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, byte [esi + 0x3a0]
and bh, dh
mov byte [esi + 0x39f], al
mov al, ah
and al, 0
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esi + 0x3b3]
xor cl, 1
and bl, cl
or al, bl
mov cl, byte [esi + 0x3b3]
xor cl, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x3b3]
xor ah, 1
mov dh, cl
and dh, 1
mov bl, ah
and bl, 1
mov bh, dl
and bh, 1
and ch, ah
or dh, bl
or bh, ch
xor dh, bh
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or dh, cl
xor al, 1
xor dh, 1
mov cl, byte [esi + 0x3b3]
xor cl, 1
or al, dh
or cl, 1
xor al, 1
and al, cl
mov cl, byte [esi + 0x39f]
and cl, al
mov dl, byte [esi + 0x39f]
xor dl, al
or cl, dl
test cl, 1
jne 0x542a45
jmp 0x54a86e
jmp 0x542e9f
mov eax, 0xffffffff
call fcn.0054c350
mov edx, dword [ecx]
mov edx, dword [edx]
mov edi, edx
xor edi, 0xffffffff
and edi, 0xa6f48944
mov ebx, eax
xor ebx, 0xa6f48944
and edx, ebx
mov ecx, 3
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa6f48944
and ebx, 0xffffffff
or edi, edx
or ecx, ebx
xor edi, ecx
mov ecx, eax
xor ecx, 1
and ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 1
or ecx, edx
mov edx, eax
xor edx, 0x41951c66
and edx, 0xabaf048f
mov ebx, eax
xor ebx, 0xabaf048f
mov dword [esi + 0x398], eax
mov eax, 0x447b40
mov eax, ebx
and eax, 0x41951c66
mov dword [esi + 0x394], eax
call fcn.0054c360
xor eax, 0xffffffff
and eax, 0xabaf048f
and ebx, 0xffffffff
call fcn.0054c370
call fcn.0054c380
or edx, eax
call fcn.0054c390
or eax, ebx
xor edx, eax
mov eax, ecx
mov eax, edi
and eax, ecx
xor edi, ecx
or eax, edi
mov ecx, edx
and ecx, 0x41951c66
xor edx, 0x41951c66
or ecx, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xffffffff
mov edi, dword [esi + 0x398]
xor edi, 0xffffffff
and eax, edi
or edx, eax
xor edx, 0x2ef80241
xor edx, 0xd107fdbe
xor ecx, 0xc57b105d
xor ecx, 0x3a84efa2
mov eax, dword [esi + 0x398]
xor eax, 0x963a621
xor eax, 0x19c1ab6f
or edx, ecx
or eax, 0x10a20d4e
xor edx, 0xffffffff
and edx, eax
call fcn.0054c3a0
call fcn.0054c3b0
mov edi, ecx
xor edi, 0xffffffff
and edi, 0xffffffff
mov ebx, dword [esi + 0x398]
xor ebx, 0xffffffff
mov eax, ecx
and eax, ebx
or edi, eax
mov eax, 0x447c48
mov eax, edx
xor eax, 0xffffffff
and eax, 0x294ffb0a
mov ebx, dword [esi + 0x398]
xor ebx, 0x294ffb0a
mov dword [esi + 0x38c], eax
mov eax, edx
and eax, ebx
call fcn.0054c3c0
mov eax, dword [esi + 0x398]
xor eax, 0xffffffff
and eax, 0x294ffb0a
and ebx, 0xffffffff
mov dword [esi + 0x384], eax
mov eax, dword [esi + 0x38c]
mov dword [esi + 0x380], ecx
mov ecx, dword [esi + 0x388]
or eax, ecx
mov ecx, dword [esi + 0x384]
or ecx, ebx
xor eax, ecx
mov ecx, dword [esi + 0x398]
xor ecx, 0x97e2adbe
and ecx, 0xffffffff
mov ebx, dword [esi + 0x398]
xor ebx, 0xffffffff
and ebx, 0x97e2adbe
or ecx, ebx
mov ebx, edi
xor ebx, 0x50058cbd
xor ebx, 0xaffa7342
mov dword [esi + 0x37c], eax
call fcn.0054c3d0
xor eax, 0x97e2adbe
mov dword [esi + 0x378], eax
call fcn.0054c3e0
xor eax, 0xa3b19fa2
mov dword [esi + 0x374], eax
call fcn.0054c3f0
or ebx, eax
mov eax, dword [esi + 0x374]
or eax, 0xa3b19fa2
xor ebx, 0xffffffff
and ebx, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x370], eax
mov eax, dword [esi + 0x380]
mov dword [esi + 0x36c], ecx
mov ecx, dword [esi + 0x370]
xor eax, ecx
call fcn.0054c400
and eax, ecx
mov ecx, dword [esi + 0x398]
xor ecx, 0x97e2adbe
call fcn.0054c410
mov eax, dword [esi + 0x37c]
xor eax, ecx
call fcn.0054c420
and eax, ecx
mov ecx, dword [esi + 0x36c]
xor ecx, 0xffffffff
mov dword [esi + 0x364], eax
mov eax, edx
xor eax, ecx
and eax, edx
mov ecx, edx
mov ecx, ebx
xor ecx, 0x8c158925
xor ecx, 0x73ea76da
mov edx, dword [esi + 0x368]
xor edx, 0xffffffff
mov dword [esi + 0x360], eax
call fcn.0054c430
xor eax, 0xd5eed924
call fcn.0054c440
mov eax, 0x447c60
mov eax, ecx
and eax, 0xd5eed924
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0x35c]
and ebx, eax
mov eax, edx
and eax, 0xd5eed924
call fcn.0054c450
call fcn.0054c460
mov dword [esi + 0x350], ecx
mov ecx, dword [esi + 0x35c]
and eax, ecx
call fcn.0054c470
or ecx, ebx
mov ebx, dword [esi + 0x354]
or ebx, eax
xor ecx, ebx
mov eax, dword [esi + 0x350]
or eax, edx
xor eax, 0xffffffff
call fcn.0054c480
or edx, 0xd5eed924
and eax, edx
or ecx, eax
mov eax, dword [esi + 0x364]
mov edx, dword [esi + 0x360]
and eax, edx
mov ebx, dword [esi + 0x364]
xor ebx, edx
or eax, ebx
mov ebx, 0x447cd8
mov ebx, ecx
xor ebx, 0xffffffff
and ebx, 0x66e0537f
mov edx, dword [esi + 0x398]
xor edx, 0x66e0537f
and ecx, edx
mov dword [esi + 0x34c], eax
xor eax, 0xffffffff
and eax, 0x66e0537f
call fcn.0054c490
call fcn.0054c4a0
and eax, edx
or ebx, ecx
call fcn.0054c4b0
or ecx, eax
xor ebx, ecx
mov eax, edi
call fcn.0054c4c0
and eax, ecx
xor edi, ecx
or eax, edi
mov edx, 0x447cf0
mov edx, eax
xor edx, 0xffffffff
and edx, 0xffffffff
call fcn.0054c4d0
xor edi, 0xffffffff
and eax, edi
or edx, eax
call fcn.0054c4e0
and eax, 0x97e2adbe
mov edi, dword [esi + 0x36c]
xor edi, 0x8f4de79
xor edi, 0x9f1673c7
or eax, edi
xor eax, 0xffffffff
mov edi, edx
xor edi, eax
and edi, edx
mov eax, ebx
xor eax, 0xffffffff
mov edx, edi
xor edx, 0xebce7ff0
xor edx, 0x1431800f
call fcn.0054c4f0
xor ecx, 0x27f18d61
mov dword [esi + 0x344], eax
and eax, 0x27f18d61
and ebx, ecx
mov dword [esi + 0x340], eax
mov eax, edx
and eax, 0x27f18d61
and edi, ecx
mov dword [esi + 0x33c], eax
call fcn.0054c500
or eax, ebx
mov ebx, dword [esi + 0x33c]
or ebx, edi
xor eax, ebx
mov edi, dword [esi + 0x344]
or edi, edx
xor edi, 0xffffffff
or ecx, 0x27f18d61
and edi, ecx
or eax, edi
mov ecx, dword [esi + 0x7f8]
call fcn.0054c510
jmp 0x542ea4
mov al, 1
call fcn.0054c520
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xff16440d
add edi, 0xfe7950fe
sub edi, 0xff16440d
add edi, 0x808d265b
sub edi, 1
sub edi, 0x808d265b
sub edi, 0xdb00d266
add edi, 0x186af02
sub edi, 0x24ff2d9a
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
or bh, ch
mov cl, bl
xor cl, 1
and cl, 0
mov ch, al
xor ch, 0
mov dl, bl
and dl, ch
mov dh, al
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, al
xor dl, 1
and dl, 1
mov ch, al
xor ch, 1
mov dh, ch
and dh, 1
mov byte [esi + 0x33b], al
xor al, 1
and al, 1
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, byte [esi + 0x33b]
xor al, 1
mov ch, bh
xor ch, al
and ch, bh
mov al, dl
xor al, 1
mov dh, ah
xor dh, al
and dh, ah
mov al, cl
xor al, 1
mov ah, byte [esi + 0x33b]
xor ah, 1
mov byte [esi + 0x33a], al
mov al, byte [esi + 0x33b]
xor al, 0
mov byte [esi + 0x339], al
mov al, byte [esi + 0x33a]
or al, ah
mov ah, byte [esi + 0x339]
or ah, 0
xor al, 1
and al, ah
mov ah, dl
xor ah, 1
mov byte [esi + 0x338], al
mov al, bl
xor al, ah
and al, bl
mov ah, ch
and ah, dh
xor ch, dh
or ah, ch
mov ch, byte [esi + 0x338]
xor ch, 1
mov dh, al
xor dh, 1
mov bl, byte [esi + 0x33b]
xor bl, 0
mov byte [esi + 0x337], al
mov al, ch
and al, 0
mov byte [esi + 0x336], al
mov al, byte [esi + 0x338]
and al, bl
mov byte [esi + 0x335], al
mov al, dh
and al, 0
mov byte [esi + 0x334], al
mov al, byte [esi + 0x337]
and al, bl
mov byte [esi + 0x333], al
mov al, byte [esi + 0x336]
mov byte [esi + 0x332], cl
mov cl, byte [esi + 0x335]
or al, cl
mov cl, byte [esi + 0x334]
mov byte [esi + 0x331], al
mov al, byte [esi + 0x333]
or cl, al
mov al, byte [esi + 0x331]
xor al, cl
or ch, dh
xor ch, 1
or bl, 0
and ch, bl
or al, ch
mov cl, ah
xor cl, 1
mov ch, al
and ch, cl
xor al, 1
and ah, al
or ch, ah
mov al, bh
mov cl, byte [esi + 0x332]
and al, cl
xor bh, cl
or al, bh
mov ah, al
xor ah, 1
and ah, 1
mov dh, byte [esi + 0x33b]
xor dh, 1
and al, dh
or ah, al
mov al, byte [esi + 0x33b]
xor al, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0x33b]
xor bl, 0
mov bh, al
and bh, 0
mov cl, bl
and cl, 1
mov byte [esi + 0x330], al
mov al, dh
and al, 0
and dl, bl
or bh, cl
or al, dl
xor bh, al
mov al, byte [esi + 0x330]
or al, dh
xor al, 1
or bl, 0
and al, bl
or bh, al
xor ah, 1
xor bh, 1
mov al, byte [esi + 0x33b]
xor al, 0
or ah, bh
or al, 0
xor ah, 1
and ah, al
mov al, ch
and al, ah
xor ch, ah
or al, ch
test al, 1
jne 0x5430ef
jmp 0x54a873
mov al, 1
mov ecx, dword [esi + 0x7ec]
call fcn.0054c530
call fcn.0054c540
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov ecx, edi
sub ecx, 0xf0c07a5f
add ecx, 0xaa7f9bbf
add ecx, 0xf0c07a5f
sub ecx, 0x9ef0176e
sub ecx, 1
add ecx, 0x9ef0176e
sub ecx, 0x31b7f493
sub ecx, 0xaa7f9bbf
sub ecx, 0xce480b6d
imul edi, ecx
and edi, 1
cmp edi, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov bl, cl
xor bl, 1
mov bh, al
xor bh, 0
or ch, bl
or bh, 0
xor ch, 1
and ch, bh
mov bl, ah
xor bl, 1
and bl, 1
mov bh, al
xor bh, 1
and ah, bh
mov byte [esi + 0x32f], al
mov al, cl
xor al, 1
and al, 1
and cl, bh
or bl, ah
or al, cl
xor bl, al
mov al, ch
xor al, 1
mov cl, bl
xor cl, 1
mov ah, byte [esi + 0x32f]
xor ah, 1
mov bh, al
and bh, 1
and ch, ah
mov byte [esi + 0x32e], al
mov al, cl
and al, 1
and bl, ah
or bh, ch
or al, bl
xor bh, al
mov al, byte [esi + 0x32e]
or al, cl
xor al, 1
or ah, 1
and al, ah
or bh, al
test bh, 1
call fcn.0054c550
jne 0x5431eb
jmp 0x54a873
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
sub ecx, 0x7b145c47
mov ebx, edx
add ebx, ecx
sub ebx, 0x32516fad
sub ebx, 1
sub ebx, 0xcdae9053
add ebx, 0xc4764e6b
add ebx, 0x7b145c47
sub ebx, 0xc4764e6b
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
xor cl, 1
mov ah, ch
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and dl, al
mov bl, ah
and bl, 1
and ch, al
or dh, dl
or bl, ch
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x5432aa
jmp 0x54ae44
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
add ebx, 0x1011e5df
mov byte [esi + 0x327], al
mov eax, edx
sub eax, ebx
add eax, 0xfc3f071b
add eax, 0xffffffff
add eax, 0x3c0f8e5
sub ecx, 0xefee1a21
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x327]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x327]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x327]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x327]
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x327]
xor dh, 0
mov bl, dh
and bl, 1
mov bh, byte [esi + 0x327]
xor bh, 1
and bh, 0
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x327]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x327]
xor bh, 0
or al, dh
or bh, 0
xor al, 1
and al, bh
mov dh, dl
xor dh, 1
mov bh, byte [esi + 0x327]
xor bh, 1
mov byte [esi + 0x326], al
mov al, byte [esi + 0x327]
xor al, 1
or dh, bh
or al, 1
xor dh, 1
and dh, al
mov al, ch
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, bl
xor al, 1
mov ah, byte [esi + 0x326]
xor ah, 1
mov byte [esi + 0x325], al
mov al, byte [esi + 0x327]
xor al, 0
mov byte [esi + 0x324], al
mov al, byte [esi + 0x325]
and al, 0
mov byte [esi + 0x323], al
mov al, byte [esi + 0x324]
and bl, al
mov al, ah
and al, 0
mov byte [esi + 0x322], al
mov al, byte [esi + 0x326]
mov byte [esi + 0x321], cl
mov cl, byte [esi + 0x324]
and al, cl
mov cl, byte [esi + 0x323]
or cl, bl
mov bl, byte [esi + 0x322]
or bl, al
xor cl, bl
mov al, byte [esi + 0x325]
or al, ah
xor al, 1
mov ah, byte [esi + 0x324]
or ah, 0
and al, ah
or cl, al
mov al, dh
and al, bh
xor dh, bh
or al, dh
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, byte [esi + 0x321]
and al, dl
mov cl, byte [esi + 0x321]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x327]
xor dl, 1
and al, dl
mov ah, byte [esi + 0x327]
xor ah, 1
and ah, 1
and dl, 1
or cl, al
or ah, dl
xor cl, ah
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x327]
xor dl, 0
or cl, al
or dl, 0
xor cl, 1
and cl, dl
mov al, dh
and al, cl
xor dh, cl
or al, dh
test al, 1
jne 0x5434cf
jmp 0x54ae44
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x328]
mov dword [eax], ecx
mov ecx, dword [esi + 0x7e0]
call fcn.005366c0
mov dword [esi + 0x31c], eax
sub esp, 4
mov eax, esp
call fcn.0054c560
call fcn.0054c570
mov ecx, dword [esi + 0x858]
call fcn.00476f70
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c580
sub ecx, 0x95f367a6
mov ebx, edx
sub ebx, ecx
add ebx, 0xaa27dc57
sub ebx, 1
add ebx, 0x55d823a9
add ebx, 0x74c141bd
sub ebx, 0x95f367a6
add ebx, 0x8b3ebe43
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, al
xor bl, 1
mov bh, ch
xor bh, bl
and bh, ch
xor ah, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x31b], al
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dl
xor al, 1
mov bl, byte [esi + 0x31b]
xor bl, 1
mov byte [esi + 0x31a], al
mov al, byte [esi + 0x31b]
xor al, 1
mov byte [esi + 0x319], al
mov al, byte [esi + 0x31a]
or al, bl
mov bl, byte [esi + 0x319]
or bl, 1
xor al, 1
and al, bl
mov bl, dh
xor bl, 1
mov byte [esi + 0x318], al
mov al, cl
xor al, bl
and al, cl
mov cl, bh
and cl, ah
xor bh, ah
or cl, bh
mov ah, byte [esi + 0x318]
xor ah, 1
mov bl, al
xor bl, 1
mov bh, byte [esi + 0x31b]
xor bh, 0
mov byte [esi + 0x317], al
mov al, ah
and al, 0
mov byte [esi + 0x316], al
mov al, byte [esi + 0x318]
and al, bh
mov byte [esi + 0x315], al
mov al, bl
and al, 0
mov byte [esi + 0x314], al
mov al, byte [esi + 0x317]
and al, bh
mov byte [esi + 0x313], al
mov al, byte [esi + 0x316]
mov byte [esi + 0x312], cl
mov cl, byte [esi + 0x315]
or al, cl
mov cl, byte [esi + 0x314]
mov byte [esi + 0x311], al
mov al, byte [esi + 0x313]
or cl, al
mov al, byte [esi + 0x311]
xor al, cl
or ah, bl
xor ah, 1
or bh, 0
and ah, bh
or al, ah
mov cl, byte [esi + 0x312]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x312]
and cl, al
or ah, cl
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x31b]
xor dl, 1
and al, dl
mov ch, byte [esi + 0x31b]
xor ch, 1
and ch, 1
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x31b]
xor dl, 0
or cl, al
or dl, 0
xor cl, 1
and cl, dl
mov al, ah
xor al, 1
mov dl, cl
xor dl, 1
mov ch, byte [esi + 0x31b]
xor ch, 1
mov dh, al
and dh, 1
and ah, ch
mov bl, dl
and bl, 1
and cl, ch
or dh, ah
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x54375d
jmp 0x54ae49
call fcn.0054c590
call fcn.00506f10
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054c5a0
mov ebx, ecx
add ebx, 0x2620c23b
mov byte [esi + 0x310], al
mov eax, edx
add eax, ebx
mov ebx, esi
mov ebx, ecx
add ebx, 0xffffffff
add eax, ebx
mov ebx, ecx
sub ebx, eax
mov eax, ecx
add eax, 0x2620c23b
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push edx
mov edx, 0xb85675d4
xor edx, 0xb85675de
cmp edi, edx
pop edx
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x310]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x310]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x310]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x310]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x310]
xor dh, 1
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x310]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x310]
xor bl, 0
mov bh, byte [esi + 0x310]
xor bh, 0
or dh, bl
or bh, 0
xor dh, 1
and dh, bh
mov bl, ch
xor bl, 1
mov bh, al
xor bh, bl
and bh, al
mov al, byte [esi + 0x310]
xor al, 0
mov bl, dl
xor bl, al
and bl, dl
mov al, ch
xor al, 1
mov byte [esi + 0x30f], al
mov al, ah
mov byte [esi + 0x30e], cl
mov cl, byte [esi + 0x30f]
xor al, cl
and al, ah
mov cl, dh
and cl, bh
xor dh, bh
or cl, dh
mov ah, bl
and ah, al
xor bl, al
or ah, bl
mov al, cl
xor al, 1
and al, 1
mov dh, byte [esi + 0x310]
xor dh, 1
and cl, dh
mov bl, ah
xor bl, 1
and bl, 1
and ah, dh
or al, cl
or bl, ah
xor al, bl
mov cl, byte [esi + 0x30e]
and cl, dl
mov ah, byte [esi + 0x30e]
xor ah, dl
or cl, ah
mov dl, cl
xor dl, 1
and dl, 0
mov ah, byte [esi + 0x310]
xor ah, 0
and cl, ah
mov dh, byte [esi + 0x310]
xor dh, 1
and dh, 0
and ah, 1
or dl, cl
or dh, ah
xor dl, dh
mov cl, ch
and cl, 0
xor ch, 0
or cl, ch
xor cl, 1
mov ah, dl
xor ah, cl
and ah, dl
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
jne 0x543925
jmp 0x54ae49
jmp 0x54392a
mov eax, 0
mov ecx, dword [esi + 0x7f4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call fcn.0054c5b0
mov edx, dword [esi + 0x7f0]
call fcn.0054c5c0
add edi, 0x97261e21
sub edi, 0xcd08a7f1
sub edi, 0x97261e21
mov ebx, eax
sub ebx, 1
sub edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
add edi, 0x32f7580f
add ebx, edi
sub eax, ebx
mov dword [edx], eax
jmp 0x540921
mov al, 1
pushfd
mov ecx, 0xdc04df8b
sub ecx, 0xdc04df8b
popfd
call fcn.0054c5d0
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0xbfbdfe55
sub ebx, 0xbf53f3e
add ebx, 0xbfbdfe55
add ebx, 0x9519e71e
sub ebx, 1
sub ebx, 0x9519e71e
add ecx, 0xbf53f3e
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esi + 0x30d], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x30d]
xor bl, 1
mov bh, byte [esi + 0x30d]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x30d]
xor bl, 1
mov byte [esi + 0x30c], al
mov al, byte [esi + 0x30d]
xor al, 0
or ah, bl
or al, 0
xor ah, 1
and ah, al
mov al, dh
xor al, 1
mov bl, cl
xor bl, al
and bl, cl
mov al, byte [esi + 0x30c]
and al, bh
mov cl, byte [esi + 0x30c]
xor cl, bh
or al, cl
mov cl, ah
xor cl, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x30b], al
mov al, byte [esi + 0x30d]
xor al, 0
mov byte [esi + 0x30a], al
mov al, cl
and al, 0
mov byte [esi + 0x309], al
mov al, byte [esi + 0x30a]
and ah, al
mov al, bh
and al, 0
mov byte [esi + 0x308], al
mov al, byte [esi + 0x30a]
and bl, al
mov al, byte [esi + 0x309]
or al, ah
mov ah, byte [esi + 0x308]
or ah, bl
xor al, ah
or cl, bh
xor cl, 1
mov ah, byte [esi + 0x30a]
or ah, 0
and cl, ah
or al, cl
mov cl, byte [esi + 0x30b]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x30b]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x30d]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x307], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x307]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x30d]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [esi + 0x30d]
xor cl, 1
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x30d]
xor ch, 0
mov bl, cl
and bl, 0
mov bh, ch
and bh, 1
mov byte [esi + 0x306], al
mov al, dl
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 0
and cl, ch
or bl, cl
mov al, byte [esi + 0x306]
xor al, 1
xor bl, 1
mov cl, byte [esi + 0x30d]
xor cl, 1
or al, bl
or cl, 1
xor al, 1
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x543be5
jmp 0x54a878
mov al, 1
mov ecx, 0
mov edx, 0xcb539493
call fcn.0054c5e0
mov ebx, dword [0x80a090]
add edx, 0
sub edx, 1
sub edx, 0xcb539493
sub ecx, edx
mov edx, edi
sub edx, ecx
imul edi, edx
and edi, 1
push edx
mov edx, 0x9850ea9b
xor edx, 0x9850ea9b
cmp edi, edx
pop edx
sete ah
cmp ebx, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
mov dh, cl
and dh, ch
xor cl, 1
and ah, cl
or dh, ah
mov cl, dl
xor cl, 1
mov ah, dh
xor ah, 1
xor al, 1
mov ch, cl
and ch, 1
and dl, al
mov bl, ah
and bl, 1
and dh, al
or ch, dl
or bl, dh
xor ch, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or ch, cl
test ch, 1
jne 0x543c8c
jmp 0x54a878
call fcn.0054c5f0
call fcn.0050b210
call fcn.0054c600
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x7d8]
call fcn.0054c610
mov ecx, dword [esi + 0x890]
call fcn.00510660
call fcn.0054c620
mov ecx, dword [eax]
mov edx, dword [esi + 0x7dc]
mov dword [edx], ecx
mov eax, dword [esi + 0x7dc]
sub esp, 4
mov ecx, esp
mov edx, dword [esi + 0x7d4]
mov dword [ecx], edx
mov ecx, dword [esi + 0x890]
mov dword [esi + 0x2fc], eax
call fcn.004df290
mov eax, dword [esi + 0x7d4]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.0054c630
call fcn.00429190
mov byte [esi + 0x2fb], al
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0x1f0c1a0e
sub edi, 0x5bf1928e
add edi, 0x1f0c1a0e
sub edi, 0xec203308
sub edi, 1
add edi, 0xec203308
add edi, 0x7cb02d99
sub edi, 0xa40e6d72
sub edi, 0x7cb02d99
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 0
mov cl, al
xor cl, 0
mov ch, ah
and ch, cl
mov dl, al
xor dl, 1
and dl, 0
and cl, 1
or bh, ch
or dl, cl
xor bh, dl
mov cl, bl
xor cl, 1
and cl, 1
mov dl, al
xor dl, 1
mov ch, bl
and ch, dl
or cl, ch
mov dl, al
xor dl, 0
and dl, 1
mov ch, al
xor ch, 1
mov dh, ch
and dh, 0
mov byte [esi + 0x2fa], al
xor al, 1
and al, 1
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, bh
xor al, 1
mov ch, byte [esi + 0x2fa]
xor ch, 0
mov dh, byte [esi + 0x2fa]
xor dh, 0
or al, ch
or dh, 0
xor al, 1
and al, dh
xor ah, 1
mov ch, dl
xor ch, 1
mov dh, byte [esi + 0x2fa]
xor dh, 1
or ah, ch
or dh, 1
xor ah, 1
and ah, dh
mov ch, byte [esi + 0x2fa]
xor ch, 0
mov dh, cl
xor dh, ch
and dh, cl
mov ch, dl
xor ch, 1
mov byte [esi + 0x2f9], al
mov al, bl
xor al, ch
and al, bl
mov ch, byte [esi + 0x2f9]
and ch, ah
mov bl, byte [esi + 0x2f9]
xor bl, ah
or ch, bl
mov ah, dh
xor ah, 1
mov bl, al
xor bl, 1
mov byte [esi + 0x2f8], al
mov al, byte [esi + 0x2fa]
xor al, 0
mov byte [esi + 0x2f7], al
mov al, ah
and al, 0
mov byte [esi + 0x2f6], al
mov al, byte [esi + 0x2f7]
and dh, al
mov al, bl
and al, 0
mov byte [esi + 0x2f5], al
mov al, byte [esi + 0x2f8]
mov byte [esi + 0x2f4], cl
mov cl, byte [esi + 0x2f7]
and al, cl
mov cl, byte [esi + 0x2f6]
or cl, dh
mov dh, byte [esi + 0x2f5]
or dh, al
xor cl, dh
or ah, bl
xor ah, 1
mov al, byte [esi + 0x2f7]
or al, 0
and ah, al
or cl, ah
mov al, ch
xor al, 1
and al, 1
mov ah, byte [esi + 0x2fa]
xor ah, 1
and ch, ah
mov dh, cl
xor dh, 1
and dh, 1
and cl, ah
or al, ch
or dh, cl
xor al, dh
mov cl, bh
xor cl, 1
mov ah, byte [esi + 0x2f4]
xor ah, 1
mov ch, byte [esi + 0x2fa]
xor ch, 0
mov dh, cl
and dh, 0
and bh, ch
mov bl, ah
and bl, 0
mov byte [esi + 0x2f3], al
mov al, byte [esi + 0x2f4]
and al, ch
or dh, bh
or bl, al
xor dh, bl
or cl, ah
xor cl, 1
or ch, 0
and cl, ch
or dh, cl
mov al, dh
xor al, 1
and al, 1
mov cl, byte [esi + 0x2fa]
xor cl, 1
and dh, cl
or al, dh
mov cl, byte [esi + 0x2fa]
xor cl, 0
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x2fa]
xor ch, 0
mov dh, cl
and dh, 0
mov bl, ch
and bl, 0
mov bh, ah
and bh, 0
and dl, ch
or dh, bl
or bh, dl
xor dh, bh
or cl, ah
xor cl, 1
or ch, 0
and cl, ch
or dh, cl
xor dh, 1
mov cl, al
xor cl, dh
and cl, al
mov al, byte [esi + 0x2f3]
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x2fa]
xor ah, 1
mov ch, al
and ch, 1
mov dh, byte [esi + 0x2f3]
and dh, ah
mov bl, dl
and bl, 1
and cl, ah
or ch, dh
or bl, cl
xor ch, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or ch, al
test ch, 1
jne 0x543fa1
jmp 0x54ae58
mov al, 1
mov ecx, 0
call fcn.0054c640
mov edi, dword [0x80a090]
sub ecx, 0x71f1888b
add ecx, 0xffffffff
add ecx, 0x71f1888b
mov ebx, edx
sub ebx, 0x6e56506e
add ebx, ecx
sub ebx, 0x91a9af92
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x2f2], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x2f2]
xor bl, 1
mov bh, byte [esi + 0x2f2]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x2f2]
xor bl, 1
mov byte [esi + 0x2f1], al
mov al, byte [esi + 0x2f2]
xor al, 0
or ah, bl
or al, 0
xor ah, 1
and ah, al
xor cl, 1
mov al, dh
xor al, 1
mov bl, byte [esi + 0x2f2]
xor bl, 0
or cl, al
or bl, 0
xor cl, 1
and cl, bl
mov al, byte [esi + 0x2f1]
xor al, 1
mov bl, bh
xor bl, 1
mov byte [esi + 0x2f0], al
mov al, byte [esi + 0x2f2]
xor al, 1
mov byte [esi + 0x2ef], al
mov al, byte [esi + 0x2f0]
and al, 1
mov byte [esi + 0x2ee], al
mov al, byte [esi + 0x2f1]
mov byte [esi + 0x2ed], cl
mov cl, byte [esi + 0x2ef]
and al, cl
mov cl, bl
and cl, 1
mov byte [esi + 0x2ec], al
mov al, byte [esi + 0x2ef]
and bh, al
mov al, byte [esi + 0x2ee]
mov byte [esi + 0x2eb], cl
mov cl, byte [esi + 0x2ec]
or al, cl
mov cl, byte [esi + 0x2eb]
or cl, bh
xor al, cl
mov cl, byte [esi + 0x2f0]
or cl, bl
xor cl, 1
mov bl, byte [esi + 0x2ef]
or bl, 1
and cl, bl
or al, cl
mov cl, ah
xor cl, 1
mov bl, byte [esi + 0x2ed]
xor bl, 1
mov bh, byte [esi + 0x2f2]
xor bh, 1
mov byte [esi + 0x2ea], al
mov al, cl
and al, 1
and ah, bh
mov byte [esi + 0x2e9], al
mov al, bl
and al, 1
mov byte [esi + 0x2e8], al
mov al, byte [esi + 0x2ed]
and al, bh
mov byte [esi + 0x2e7], al
mov al, byte [esi + 0x2e9]
or al, ah
mov ah, byte [esi + 0x2e8]
mov byte [esi + 0x2e6], al
mov al, byte [esi + 0x2e7]
or ah, al
mov al, byte [esi + 0x2e6]
xor al, ah
or cl, bl
xor cl, 1
or bh, 1
and cl, bh
or al, cl
mov cl, byte [esi + 0x2ea]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x2f2]
xor ah, 1
mov bl, byte [esi + 0x2ea]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x2f2]
xor ah, 1
and al, ah
or dl, al
mov al, byte [esi + 0x2f2]
xor al, 1
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x2f2]
xor ch, 1
mov bl, al
and bl, 1
mov bh, ch
and bh, 1
mov byte [esi + 0x2e5], al
mov al, ah
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
mov al, byte [esi + 0x2e5]
or al, ah
xor al, 1
or ch, 1
and al, ch
or bl, al
xor bl, 1
mov al, dl
xor al, bl
and al, dl
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x54425c
jmp 0x54ae58
mov al, byte [esi + 0x2fb]
test al, 1
jne 0x54426f
jmp 0x545e16
call fcn.0054c650
call fcn.0054e240
mov dword [esi + 0x2e0], eax
mov eax, 0xffffffff
mov ecx, dword [esi + 0x2e0]
mov edx, dword [ecx]
mov edx, dword [edx]
mov edi, eax
xor edi, 0x20
and edi, 0xffffffff
xor eax, 0xffffffff
and eax, 0x20
or edi, eax
mov eax, edx
xor eax, 0xffffffff
mov ebx, edi
and ebx, eax
xor edi, 0xffffffff
mov eax, edx
and eax, edi
or ebx, eax
xor edx, 0xffffffff
mov eax, ebx
xor eax, edx
and eax, ebx
cmp eax, 0
je 0x544320
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
mov dword [esi + 0x2dc], eax
mov eax, dword [esi + 0x2dc]
mov ecx, dword [eax + 0x20]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
call fcn.00448ee0
add esp, 4
mov dword [esi + 0x2d8], eax
mov eax, dword [esi + 0x2d8]
push ecx
mov ecx, 0x8e3c4fb3
xor ecx, 0x8e3c4fb3
cmp eax, ecx
pop ecx
jne 0x544498
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x2d7], al
mov eax, ecx
sub eax, 0x33a5b35a
add ebx, eax
mov eax, ecx
sub eax, ebx
add ecx, 0xffffffff
add eax, ecx
sub eax, 0xdf343ff5
sub eax, 0x33a5b35a
add eax, 0xdf343ff5
imul edx, eax
and edx, 1
cmp edx, 0
sete al
push edx
mov edx, 0xae8544dc
xor edx, 0xae8544d6
cmp edi, edx
pop edx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x2d7]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x2d7]
xor ch, 0
and al, ch
mov dh, ah
xor dh, 1
and dh, 0
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x2d7]
xor ch, 1
mov dh, al
and dh, 1
and cl, ch
mov bl, ah
and bl, 1
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x544406
jmp 0x54ae5d
mov al, 1
mov ecx, 0xa995148d
mov edx, dword [0x80a094]
call fcn.0054c660
sub ecx, 0
add ecx, 0xffffffff
sub ecx, 0xa995148d
mov ebx, 0x447c48
mov ebx, edx
add ebx, 0x60341719
add ebx, ecx
sub ebx, 0x60341719
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
or ch, dl
or al, 1
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x544493
jmp 0x54ae5d
jmp 0x545df0
mov al, 1
mov ecx, dword [0x80a094]
call fcn.0054c670
mov edi, ecx
sub edi, 0x19dfbc94
add edi, 0xa8a76f08
sub edi, 0xe620436c
add edi, 0x3fdebbba
sub edi, 1
sub edi, 0x3fdebbba
add edi, 0x2f9c6663
sub edi, 0xa8a76f08
sub edi, 0x2f9c6663
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
mov ch, al
xor ch, 0
or bh, cl
or ch, 0
xor bh, 1
and bh, ch
mov cl, ah
xor cl, 1
and cl, 0
xor al, 0
and ah, al
mov ch, bl
xor ch, 1
and ch, 0
and bl, al
or cl, ah
or ch, bl
xor cl, ch
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x544542
jmp 0x54a87d
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0xc2f6e245
sub ebx, 0x7ffd349c
add ebx, 0x3d091dbb
mov byte [esi + 0x2d6], al
mov eax, ecx
add eax, 0xffffffff
add ebx, eax
add ecx, 0x8002cb64
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x2d6]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x2d6]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x2d6]
xor ch, 0
and ch, 0
mov dh, byte [esi + 0x2d6]
xor dh, 0
mov bl, dh
and bl, 0
mov bh, byte [esi + 0x2d6]
xor bh, 1
and bh, 0
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x2d6]
xor bl, 0
mov bh, byte [esi + 0x2d6]
xor bh, 1
or dh, bl
or bh, 1
xor dh, 1
and dh, bh
xor al, 1
mov bl, ch
xor bl, 1
mov bh, byte [esi + 0x2d6]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, byte [esi + 0x2d6]
xor bl, 0
mov bh, dl
xor bh, bl
and bh, dl
xor ah, 1
mov bl, ch
xor bl, 1
mov byte [esi + 0x2d5], al
mov al, byte [esi + 0x2d6]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dh
xor al, 1
mov bl, byte [esi + 0x2d5]
xor bl, 1
mov byte [esi + 0x2d4], al
mov al, byte [esi + 0x2d6]
xor al, 1
mov byte [esi + 0x2d3], al
mov al, byte [esi + 0x2d4]
and al, 1
mov byte [esi + 0x2d2], al
mov al, byte [esi + 0x2d3]
and dh, al
mov al, bl
and al, 1
mov byte [esi + 0x2d1], al
mov al, byte [esi + 0x2d5]
mov byte [esi + 0x2d0], cl
mov cl, byte [esi + 0x2d3]
and al, cl
mov cl, byte [esi + 0x2d2]
or cl, dh
mov dh, byte [esi + 0x2d1]
or dh, al
xor cl, dh
mov al, byte [esi + 0x2d4]
or al, bl
xor al, 1
mov dh, byte [esi + 0x2d3]
or dh, 1
and al, dh
or cl, al
mov al, bh
xor al, 1
mov dh, ah
xor dh, 1
mov bl, byte [esi + 0x2d6]
xor bl, 1
mov byte [esi + 0x2cf], al
and al, 1
and bh, bl
mov byte [esi + 0x2ce], al
mov al, dh
and al, 1
and ah, bl
mov byte [esi + 0x2cd], al
mov al, byte [esi + 0x2ce]
or al, bh
mov bh, byte [esi + 0x2cd]
or bh, ah
xor al, bh
mov ah, byte [esi + 0x2cf]
or ah, dh
xor ah, 1
or bl, 1
and ah, bl
or al, ah
mov ah, cl
xor ah, 1
and ah, 0
mov dh, byte [esi + 0x2d6]
xor dh, 0
and cl, dh
mov bl, al
xor bl, 1
and bl, 0
and al, dh
or ah, cl
or bl, al
xor ah, bl
mov al, byte [esi + 0x2d0]
and al, dl
mov cl, byte [esi + 0x2d0]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x2d6]
xor dl, 0
and al, dl
mov dh, byte [esi + 0x2d6]
xor dh, 1
and dh, 0
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, byte [esi + 0x2d6]
xor al, 0
mov dl, ch
xor dl, 1
mov dh, byte [esi + 0x2d6]
xor dh, 1
mov bl, al
and bl, 1
mov bh, dh
and bh, 0
mov byte [esi + 0x2cc], al
mov al, dl
and al, 1
and ch, dh
or bl, bh
or al, ch
xor bl, al
mov al, byte [esi + 0x2cc]
or al, dl
xor al, 1
or dh, 1
and al, dh
or bl, al
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x5447f0
jmp 0x54a87d
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
call fcn.0054c680
mov eax, 0xffffffff
mov ecx, dword [esi + 0x2c8]
mov edx, dword [ecx]
call fcn.0054c690
mov edi, eax
xor edi, 0x80000000
and edi, 0x9055e9cd
mov ebx, eax
mov ebx, eax
xor ebx, 0x9055e9cd
mov ecx, ebx
and ecx, 0x80000000
mov dword [esi + 0x2c4], eax
push edx
mov edx, 0x687e1b44
xor edx, 0x9781e4bb
xor eax, edx
pop edx
and eax, 0x9055e9cd
and ebx, 0xffffffff
or edi, ecx
or eax, ebx
xor edi, eax
mov eax, edx
push edx
mov edx, 0x2152928c
xor edx, 0xdead6d73
xor eax, edx
pop edx
mov ecx, edi
and ecx, eax
xor edi, 0xffffffff
mov eax, edx
mov eax, edx
and eax, edi
or ecx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, dword [esi + 0x2c4]
xor eax, 0x226b5ae9
or ecx, edx
or eax, 0x226b5ae9
xor ecx, 0xffffffff
and ecx, eax
push ebx
mov ebx, 0x2338b4db
xor ebx, 0x2338b4db
cmp ecx, ebx
pop ebx
je 0x5448bb
jmp 0x545df0
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
call fcn.0054c6a0
mov eax, 1
mov ecx, dword [esi + 0x2c0]
call fcn.0054c6b0
mov edx, dword [edx + 0x24]
sub esp, 0x10
mov edi, dword [esi + 0x7d0]
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.0054c6c0
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esi + 0x2bc], eax
call fcn.0045b210
add esp, 0x10
sub esp, 4
mov eax, esp
call fcn.0054c6d0
mov dword [eax], ecx
call fcn.0054c6e0
call fcn.004ff990
call fcn.0054c6f0
mov dword [esi + 0x2b8], eax
call fcn.00506f10
call fcn.0054c700
call fcn.0052df00
sub esp, 4
mov dword [esp], eax
call fcn.0044bb5d
add esp, 4
call fcn.0054c710
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
mov dword [esi + 0x2b0], eax
mov eax, dword [esi + 0x2b0]
mov ecx, dword [esi + 0x2b4]
mov dword [eax + 0x1c], ecx
cmp dword [0x800608], 0
je 0x544adf
mov eax, dword [0x800328]
call eax
mov dword [esi + 0x2ac], eax
mov al, 1
mov ecx, 0
call fcn.0054c720
call fcn.0054c730
sub ecx, 1
add ecx, 0
mov ebx, edx
sub ebx, 0xfc508c47
add ebx, ecx
add ebx, 0xfc508c47
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
mov dh, cl
and dh, ch
xor cl, 1
and ah, cl
or dh, ah
mov cl, dl
xor cl, 1
mov ah, dh
xor ah, 1
xor al, 0
mov ch, cl
and ch, 0
and dl, al
mov bl, ah
and bl, 0
and dh, al
or ch, dl
or bl, dh
xor ch, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or ch, cl
test ch, 1
jne 0x544a29
jmp 0x54a882
mov al, 1
mov ecx, 0
call fcn.0054c740
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x6c44e51b
add ebx, 0xdfe29e2f
add ebx, 0x93bb1ae5
sub ebx, 0xb77a85f0
sub ebx, 1
sub ebx, 0x48857a10
sub ecx, 0xdfe29e2f
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or dl, ah
or dh, cl
xor dl, dh
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x544ace
jmp 0x54a882
mov eax, dword [esi + 0x2ac]
mov dword [esi + 0x2a8], eax
jmp 0x544aef
mov eax, 0
mov dword [esi + 0x2a8], eax
jmp 0x544aef
call fcn.0054c750
mov cl, 1
call fcn.0054c760
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0xcb315f10
add ebx, 0x5d68f7e7
sub ebx, 0x34cea0f0
add ebx, 0x4b4fdaee
add ebx, 0xffffffff
sub ebx, 0x4b4fdaee
sub ebx, 0x31f2eec
sub ebx, 0x5d68f7e7
sub ebx, 0xfce0d114
imul edx, ebx
and edx, 1
cmp edx, 0
sete ch
cmp edi, 0xa
setl dl
mov dh, ch
xor dh, 1
and dh, 0
mov bl, cl
xor bl, 0
mov bh, ch
and bh, bl
mov dword [esi + 0x2a4], eax
mov al, cl
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, dl
xor al, 1
and al, 1
mov bl, cl
xor bl, 1
mov bh, dl
and bh, bl
or al, bh
mov bl, cl
xor bl, 0
and bl, 1
mov bh, cl
xor bh, 1
and bh, 0
or bl, bh
mov bh, cl
xor bh, 0
mov ah, dh
xor ah, bh
and ah, dh
mov bh, bl
xor bh, 1
mov byte [esi + 0x2a3], al
mov al, ch
xor al, bh
and al, ch
mov ch, cl
xor ch, 0
mov bh, byte [esi + 0x2a3]
xor bh, ch
mov ch, byte [esi + 0x2a3]
and bh, ch
mov ch, bl
xor ch, 1
mov byte [esi + 0x2a2], al
mov al, dl
xor al, ch
and al, dl
mov dl, ah
xor dl, 1
mov ch, byte [esi + 0x2a2]
xor ch, 1
mov byte [esi + 0x2a1], al
mov al, cl
xor al, 1
mov byte [esi + 0x2a0], al
mov al, dl
and al, 1
mov byte [esi + 0x29f], al
mov al, byte [esi + 0x2a0]
and ah, al
mov al, ch
and al, 1
mov byte [esi + 0x29e], al
mov al, byte [esi + 0x2a2]
mov byte [esi + 0x29d], cl
mov cl, byte [esi + 0x2a0]
and al, cl
mov cl, byte [esi + 0x29f]
or cl, ah
mov ah, byte [esi + 0x29e]
or ah, al
xor cl, ah
or dl, ch
xor dl, 1
mov al, byte [esi + 0x2a0]
or al, 1
and dl, al
or cl, dl
mov al, bh
mov dl, byte [esi + 0x2a1]
and al, dl
xor bh, dl
or al, bh
mov ah, cl
xor ah, 1
and ah, 0
mov ch, byte [esi + 0x29d]
xor ch, 0
and cl, ch
mov bh, al
xor bh, 1
and bh, 0
and al, ch
or ah, cl
or bh, al
xor ah, bh
mov al, dh
mov cl, byte [esi + 0x2a3]
and al, cl
xor dh, cl
or al, dh
mov ch, al
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x29d]
xor dh, 0
and al, dh
mov bh, byte [esi + 0x29d]
xor bh, 1
and bh, 0
and dh, 1
or ch, al
or bh, dh
xor ch, bh
mov al, bl
and al, 0
xor bl, 0
or al, bl
xor al, 1
mov dh, ch
xor dh, al
and dh, ch
mov al, ah
and al, dh
xor ah, dh
or al, ah
test al, 1
jne 0x544cdd
jmp 0x54a887
mov al, 1
call fcn.0054c770
mov edx, dword [esi + 0x2a4]
call fcn.0054c780
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov ecx, 0x100000
mov ecx, edi
add ecx, 0xe7eff13e
sub ecx, 0x24cd0c80
sub ecx, 0xe7eff13e
add ecx, 0xf46e8f9c
sub ecx, 1
add ecx, 0xb917064
sub ecx, 0xb04ebc8f
sub ecx, 0xdb32f380
sub ecx, 0x4fb14371
imul edi, ecx
and edi, 1
cmp edi, 0
sete ah
push ecx
mov ecx, 0xb698cd61
xor ecx, 0xb698cd6b
cmp ebx, ecx
pop ecx
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 1
mov byte [esi + 0x29c], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x29c]
xor al, 1
mov bl, ch
xor bl, al
and bl, ch
xor ah, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x29c]
xor bh, 1
or ah, al
or bh, 1
xor ah, 1
and ah, bh
mov al, dl
xor al, 1
mov bh, byte [esi + 0x29c]
xor bh, 1
mov byte [esi + 0x29b], al
mov al, byte [esi + 0x29c]
xor al, 1
mov byte [esi + 0x29a], al
mov al, byte [esi + 0x29b]
or al, bh
mov bh, byte [esi + 0x29a]
or bh, 1
xor al, 1
and al, bh
mov bh, dh
xor bh, 1
mov byte [esi + 0x299], al
mov al, cl
xor al, bh
and al, cl
mov cl, bl
and cl, ah
xor bl, ah
or cl, bl
mov ah, byte [esi + 0x299]
xor ah, 1
mov bl, al
xor bl, 1
mov bh, byte [esi + 0x29c]
xor bh, 1
mov byte [esi + 0x298], al
mov al, ah
and al, 1
mov byte [esi + 0x297], al
mov al, byte [esi + 0x299]
and al, bh
mov byte [esi + 0x296], al
mov al, bl
and al, 1
mov byte [esi + 0x295], al
mov al, byte [esi + 0x298]
and al, bh
mov byte [esi + 0x294], al
mov al, byte [esi + 0x297]
mov byte [esi + 0x293], cl
mov cl, byte [esi + 0x296]
or al, cl
mov cl, byte [esi + 0x295]
mov byte [esi + 0x292], al
mov al, byte [esi + 0x294]
or cl, al
mov al, byte [esi + 0x292]
xor al, cl
or ah, bl
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov cl, byte [esi + 0x293]
xor cl, 1
and cl, 0
mov ah, byte [esi + 0x29c]
xor ah, 0
mov bl, byte [esi + 0x293]
and bl, ah
mov bh, al
xor bh, 1
and bh, 0
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x29c]
xor ah, 1
and al, ah
or dl, al
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor dl, 1
xor al, 1
mov ah, byte [esi + 0x29c]
xor ah, 0
or dl, al
or ah, 0
xor dl, 1
and dl, ah
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x544f36
jmp 0x54a887
mov ecx, dword [esi + 0x7dc]
call fcn.00510720
call fcn.0054c790
sub esp, 8
mov eax, dword [esi + 0x898]
mov dword [esp], eax
call fcn.0054c7a0
mov dword [esp + 4], ecx
call fcn.0054e3c0
add esp, 8
mov dword [esi + 0x288], eax
mov al, 1
mov ecx, 0
call fcn.0054c7b0
call fcn.0054c7c0
mov ebx, ecx
mov ebx, ecx
sub ebx, 1
add ebx, 0
mov byte [esi + 0x287], al
mov eax, ecx
sub eax, edx
call fcn.0054c7d0
mov eax, ecx
sub eax, ebx
call fcn.0054c7e0
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x287]
xor dl, 1
and al, dl
mov dh, ah
xor dh, 1
and dh, 1
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
and al, cl
xor ch, cl
or al, ch
test al, 1
jne 0x545004
jmp 0x54ae62
mov al, 1
mov ecx, 0
cmp dword [0x7ffa24], 0
setne dl
mov edi, dword [0x80a094]
call fcn.0054c7f0
add ecx, 0xd3754dd3
sub ecx, 1
sub ecx, 0xd3754dd3
mov byte [esi + 0x27f], al
mov eax, edi
sub eax, 0xc6a38842
add eax, ecx
add eax, 0xc6a38842
imul edi, eax
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
xor ah, 1
mov cl, al
xor cl, 1
mov ch, byte [esi + 0x27f]
xor ch, 0
or ah, cl
or ch, 0
xor ah, 1
and ah, ch
mov cl, dh
xor cl, 1
mov ch, al
and ch, cl
xor al, 1
and dh, al
or ch, dh
mov al, ah
xor al, 1
mov cl, ch
xor cl, 1
mov dh, byte [esi + 0x27f]
xor dh, 1
mov bl, al
and bl, 1
and ah, dh
mov bh, cl
and bh, 1
and ch, dh
or bl, ah
or bh, ch
xor bl, bh
or al, cl
xor al, 1
or dh, 1
and al, dh
or bl, al
test bl, 1
mov byte [esi + 0x27e], dl
jne 0x5450d7
jmp 0x54ae62
mov al, byte [esi + 0x27e]
test al, 1
jne 0x5450ea
jmp 0x545139
mov eax, dword [0x7fff8c]
mov ecx, dword [esi + 0x7dc]
mov dword [esi + 0x278], eax
call fcn.0054e240
call fcn.0054c800
mov eax, dword [esi + 0x274]
call fcn.0054c810
sub esp, 4
mov edx, 0xfff
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esi + 0x278]
call ecx
call fcn.0054c820
call fcn.0054c830
mov dword [esi + 0x26c], eax
jmp 0x54514b
mov eax, 0x57cf68
mov eax, dword [eax]
mov dword [esi + 0x26c], eax
jmp 0x54514b
mov eax, dword [esi + 0x26c]
mov cl, 1
mov edx, 0x57d0c0
mov edx, dword [edx]
mov edi, dword [0x80a094]
mov ebx, dword [0x80a090]
mov dword [esi + 0x268], eax
mov eax, edi
sub eax, 0x6ab4de49
add eax, 0x5dcd34f1
add eax, 0x6ab4de49
add edx, 0xffffffff
add eax, edx
sub eax, 0x794b0539
sub eax, 0x5dcd34f1
add eax, 0x794b0539
imul edi, eax
and edi, 1
cmp edi, 0
sete ch
cmp ebx, 0xa
setl al
mov ah, ch
xor ah, 1
and ah, 1
mov dl, cl
xor dl, 1
mov dh, ch
and dh, dl
mov bl, cl
xor bl, 1
and bl, 1
and dl, 1
or ah, dh
or bl, dl
xor ah, bl
mov dl, al
xor dl, 1
and dl, 0
mov dh, cl
xor dh, 0
mov bl, al
and bl, dh
mov bh, cl
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, cl
xor dh, 1
and dh, 1
mov bl, cl
xor bl, 1
and bl, 1
or dh, bl
mov bl, ah
xor bl, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x267], al
mov al, cl
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ch
xor bh, al
and bh, ch
mov al, dl
xor al, 1
mov ch, cl
xor ch, 1
mov byte [esi + 0x266], al
mov al, cl
xor al, 0
mov byte [esi + 0x265], al
mov al, byte [esi + 0x266]
or al, ch
mov ch, byte [esi + 0x265]
or ch, 0
xor al, 1
and al, ch
mov ch, dh
xor ch, 1
mov byte [esi + 0x264], al
mov al, byte [esi + 0x267]
xor al, ch
mov ch, byte [esi + 0x267]
and al, ch
mov ch, bl
xor ch, 1
mov byte [esi + 0x263], al
mov al, bh
xor al, 1
mov byte [esi + 0x262], al
mov al, cl
xor al, 0
mov byte [esi + 0x261], al
mov al, ch
and al, 0
mov byte [esi + 0x260], al
mov al, byte [esi + 0x261]
and bl, al
mov al, byte [esi + 0x262]
and al, 0
mov byte [esi + 0x25f], al
mov al, byte [esi + 0x261]
and bh, al
mov al, byte [esi + 0x260]
or al, bl
mov bl, byte [esi + 0x25f]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x262]
or ch, bl
xor ch, 1
mov bh, byte [esi + 0x261]
or bh, 0
and ch, bh
or al, ch
mov ch, byte [esi + 0x264]
xor ch, 1
mov bh, byte [esi + 0x263]
xor bh, 1
mov bl, cl
xor bl, 1
mov byte [esi + 0x25e], al
mov al, ch
and al, 1
mov byte [esi + 0x25d], al
mov al, byte [esi + 0x264]
and al, bl
mov byte [esi + 0x25c], al
mov al, bh
and al, 1
mov byte [esi + 0x25b], al
mov al, byte [esi + 0x263]
and al, bl
mov byte [esi + 0x25a], al
mov al, byte [esi + 0x25d]
mov byte [esi + 0x259], cl
mov cl, byte [esi + 0x25c]
or al, cl
mov cl, byte [esi + 0x25b]
mov byte [esi + 0x258], al
mov al, byte [esi + 0x25a]
or cl, al
mov al, byte [esi + 0x258]
xor al, cl
or ch, bh
xor ch, 1
or bl, 1
and ch, bl
or al, ch
mov cl, byte [esi + 0x25e]
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x259]
xor ch, 1
mov bl, byte [esi + 0x25e]
and bl, ch
mov bh, al
xor bh, 1
and bh, 1
and al, ch
or cl, bl
or bh, al
xor cl, bh
mov al, ah
and al, dl
xor ah, dl
or al, ah
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x259]
xor ah, 1
and al, ah
or dl, al
mov al, dh
and al, 1
xor dh, 1
or al, dh
xor dl, 1
xor al, 1
mov ah, byte [esi + 0x259]
xor ah, 0
or dl, al
or ah, 0
xor dl, 1
and dl, ah
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x259]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x545419
jmp 0x54ae67
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x7c8]
mov edi, dword [esi + 0x268]
mov dword [edx], edi
call fcn.0054c840
mov edx, dword [0x80a094]
call fcn.0054c850
mov byte [esi + 0x257], al
mov eax, edx
add eax, 0xecb0495a
sub eax, 0x9c3151d3
sub eax, 0xecb0495a
sub eax, 0xd605ae59
sub eax, 1
add eax, 0xd605ae59
mov dword [esi + 0x250], eax
mov eax, ecx
mov dword [esi + 0x24c], ecx
mov ecx, dword [esi + 0x250]
sub eax, ecx
call fcn.0054c860
sub ecx, 0x9c3151d3
add eax, ecx
mov ecx, dword [esi + 0x24c]
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ebx
mov ebx, 0x3ecbf099
xor ebx, 0x3ecbf093
cmp edi, ebx
pop ebx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x257]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x257]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x257]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov byte [esi + 0x24b], al
mov al, ah
and al, 0
and dl, ch
or dh, cl
or al, dl
xor dh, al
mov al, byte [esi + 0x24b]
or al, ah
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
call fcn.0054c870
jne 0x545544
jmp 0x54ae67
sub esp, 8
call fcn.0054c880
mov dword [esp], eax
mov ecx, dword [esi + 0x244]
mov dword [esp + 4], ecx
call fcn.00429ac0
add esp, 8
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
mov ebx, ecx
add ebx, 0x5c07a94c
mov byte [esi + 0x243], al
mov eax, 0x447cd8
mov eax, edx
sub eax, ebx
sub ecx, 1
add eax, ecx
add eax, 0xa4bd6509
sub eax, 0xa3f856b4
sub eax, 0xa4bd6509
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x243]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x243]
xor ch, 0
and al, ch
mov dh, ah
xor dh, 1
and dh, 0
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x243]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x545640
jmp 0x54ae7a
mov al, 1
mov ecx, 0
call fcn.0054c890
mov edi, dword [0x80a090]
add ecx, 0x56ccb625
sub ecx, 1
add ecx, 0xa93349db
mov ebx, edx
add ebx, 0xcde15730
add ebx, ecx
add ebx, 0x321ea8d0
imul edx, ebx
and edx, 1
push ecx
mov ecx, 0xaa438133
xor ecx, 0xaa438133
cmp edx, ecx
pop ecx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x242], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x242]
xor bl, 1
mov bh, byte [esi + 0x242]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esi + 0x242]
xor bh, 0
or ah, bl
or bh, 0
xor ah, 1
and ah, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0x242]
xor bh, 1
mov byte [esi + 0x241], al
mov al, byte [esi + 0x242]
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
xor cl, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x242]
xor bh, 0
or cl, al
or bh, 0
xor cl, 1
and cl, bh
mov al, byte [esi + 0x241]
and al, ah
mov bh, byte [esi + 0x241]
xor bh, ah
or al, bh
mov ah, bl
and ah, cl
xor bl, cl
or ah, bl
mov cl, al
xor cl, 1
and cl, 0
mov bl, byte [esi + 0x242]
xor bl, 0
and al, bl
mov bh, ah
xor bh, 1
and bh, 0
and ah, bl
or cl, al
or bh, ah
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x242]
xor bl, 1
mov bh, al
and bh, 1
and ch, bl
mov byte [esi + 0x240], al
mov al, ah
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x240]
or al, ah
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esi + 0x242]
xor dl, 1
and bh, dl
or al, bh
mov dl, dh
and dl, 1
xor dh, 1
or dl, dh
xor al, 1
xor dl, 1
mov ah, byte [esi + 0x242]
xor ah, 1
or al, dl
or ah, 1
xor al, 1
and al, ah
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x54582e
jmp 0x54ae7a
sub esp, 4
mov eax, esp
mov dword [eax], 0x7fa3e0
call fcn.0054c8a0
call fcn.005366c0
mov dword [esi + 0x23c], eax
mov al, 1
call fcn.0054c8b0
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0xb0cc0cf2
add edi, 0x3c91f6ce
add edi, 0xb0cc0cf2
sub edi, 0x30ab51be
add edi, 0xffffffff
add edi, 0x30ab51be
sub edi, 0xab0865bf
sub edi, 0x3c91f6ce
sub edi, 0x54f79a41
imul ecx, edi
and ecx, 1
push ebx
mov ebx, 0x9a13eb63
xor ebx, 0x9a13eb63
cmp ecx, ebx
pop ebx
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
mov ch, al
xor ch, 0
or bh, cl
or ch, 0
xor bh, 1
and bh, ch
mov cl, ah
xor cl, 1
and cl, 1
xor al, 1
and ah, al
mov ch, bl
xor ch, 1
and ch, 1
and bl, al
or cl, ah
or ch, bl
xor cl, ch
mov al, bh
and al, cl
xor bh, cl
or al, bh
test al, 1
jne 0x5458fc
jmp 0x54ab84
mov al, 1
mov ecx, 0
call fcn.0054c8c0
mov edi, dword [0x80a090]
sub ecx, 0xfa3817af
mov ebx, edx
add ebx, ecx
sub ebx, 0xb4bc2f9f
sub ebx, 1
sub ebx, 0x4b43d061
add ebx, 0x1bc3fb93
add ebx, 0xfa3817af
sub ebx, 0x1bc3fb93
imul edx, ebx
and edx, 1
push ecx
mov ecx, 0xc6511b86
xor ecx, 0xc6511b86
cmp edx, ecx
pop ecx
sete ah
push ecx
mov ecx, 0x8b25e208
xor ecx, 0x8b25e202
cmp edi, ecx
pop ecx
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
xor al, 1
and ah, al
mov dh, cl
xor dh, 1
and dh, 1
and cl, al
or dl, ah
or dh, cl
xor dl, dh
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x5459b3
jmp 0x54ae7f
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x4fe911b9
sub ebx, 1
sub ebx, 0xb016ee47
sub ecx, ebx
mov ebx, edx
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x23b], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
xor ah, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x23b]
xor bh, 0
or ah, al
or bh, 0
xor ah, 1
and ah, bh
mov al, dl
xor al, 1
mov bh, byte [esi + 0x23b]
xor bh, 0
mov byte [esi + 0x23a], al
mov al, byte [esi + 0x23b]
xor al, 1
mov byte [esi + 0x239], al
mov al, byte [esi + 0x23a]
or al, bh
mov bh, byte [esi + 0x239]
or bh, 1
xor al, 1
and al, bh
xor cl, 1
mov bh, dh
xor bh, 1
mov byte [esi + 0x238], al
mov al, byte [esi + 0x23b]
xor al, 1
or cl, bh
or al, 1
xor cl, 1
and cl, al
mov al, bl
xor al, 1
mov bh, ah
xor bh, 1
mov byte [esi + 0x237], al
mov al, byte [esi + 0x23b]
xor al, 0
mov byte [esi + 0x236], al
mov al, byte [esi + 0x237]
and al, 0
mov byte [esi + 0x235], al
mov al, byte [esi + 0x236]
and bl, al
mov al, bh
and al, 0
mov byte [esi + 0x234], al
mov al, byte [esi + 0x236]
and ah, al
mov al, byte [esi + 0x235]
or al, bl
mov bl, byte [esi + 0x234]
or bl, ah
xor al, bl
mov ah, byte [esi + 0x237]
or ah, bh
xor ah, 1
mov bl, byte [esi + 0x236]
or bl, 0
and ah, bl
or al, ah
mov ah, byte [esi + 0x238]
xor ah, 1
mov bl, cl
xor bl, 1
mov bh, byte [esi + 0x23b]
xor bh, 0
mov byte [esi + 0x233], al
mov al, ah
and al, 0
mov byte [esi + 0x232], al
mov al, byte [esi + 0x238]
and al, bh
mov byte [esi + 0x231], al
mov al, bl
and al, 0
and cl, bh
mov byte [esi + 0x230], al
mov al, byte [esi + 0x232]
mov byte [esi + 0x22f], cl
mov cl, byte [esi + 0x231]
or al, cl
mov cl, byte [esi + 0x230]
mov byte [esi + 0x22e], al
mov al, byte [esi + 0x22f]
or cl, al
mov al, byte [esi + 0x22e]
xor al, cl
or ah, bl
xor ah, 1
or bh, 0
and ah, bh
or al, ah
mov cl, byte [esi + 0x233]
xor cl, 1
and cl, 1
mov ah, byte [esi + 0x23b]
xor ah, 1
mov bl, byte [esi + 0x233]
and bl, ah
mov bh, al
xor bh, 1
and bh, 1
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov dl, al
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x23b]
xor ah, 1
and al, ah
or dl, al
mov al, byte [esi + 0x23b]
xor al, 0
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x23b]
xor ch, 1
mov bl, al
and bl, 1
mov bh, ch
and bh, 0
mov byte [esi + 0x22d], al
mov al, ah
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
mov al, byte [esi + 0x22d]
or al, ah
xor al, 1
or ch, 1
and al, ch
or bl, al
xor bl, 1
mov al, dl
xor al, bl
and al, dl
mov dl, cl
xor dl, 1
mov ah, al
xor ah, 1
mov ch, byte [esi + 0x23b]
xor ch, 1
mov dh, dl
and dh, 1
and cl, ch
mov bl, ah
and bl, 1
and al, ch
or dh, cl
or bl, al
xor dh, bl
or dl, ah
xor dl, 1
or ch, 1
and dl, ch
or dh, dl
test dh, 1
jne 0x545c80
jmp 0x54ae7f
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 1
add ebx, 0
mov byte [esi + 0x22c], al
mov eax, 0x447b58
mov eax, ecx
sub eax, edx
mov dword [esi + 0x228], eax
mov eax, esi
mov eax, ecx
sub eax, ebx
call fcn.0054c8d0
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x22c]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x22c]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x22c]
xor ch, 1
mov dh, al
and dh, 1
and cl, ch
mov bl, ah
and bl, 1
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x545d5f
jmp 0x54ab84
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
mov dword [esi + 0x224], eax
call fcn.0054c8e0
mov ecx, dword [eax + 4]
sub esp, 8
mov edx, dword [esi + 0x7bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004df3e0
add esp, 8
sub esp, 4
mov eax, esp
call fcn.0054c8f0
mov dword [eax], ecx
call fcn.0054c900
call fcn.00485e70
mov dword [esi + 0x220], eax
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x7c4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x220]
call fcn.0054c910
call fcn.0054c920
call fcn.0040f190
mov ecx, dword [esi + 0x7bc]
call fcn.00506f10
mov ecx, dword [esi + 0x7c0]
call fcn.00506f10
mov ecx, dword [esi + 0x7c4]
call fcn.00506f10
sub esp, 8
mov eax, esp
call fcn.0054c930
call fcn.0054c940
mov dword [eax + 4], 0
mov ecx, dword [esi + 0x7dc]
call fcn.00517260
jmp 0x543cc5
mov al, 1
mov ecx, 0
call fcn.0054c950
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x466c858
mov byte [esi + 0x21f], al
mov eax, edx
sub eax, ebx
add eax, 0x9684a0d
sub eax, 1
sub eax, 0x9684a0d
sub ecx, 0x466c858
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x21f]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0x21f]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x21f]
xor ch, 1
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x21f]
xor bl, 1
and bl, 1
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x21f]
xor ch, 1
and ch, 0
mov dh, byte [esi + 0x21f]
xor dh, 0
mov bl, dh
and bl, 1
mov bh, byte [esi + 0x21f]
xor bh, 1
and bh, 0
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x21f]
xor bl, 1
mov bh, byte [esi + 0x21f]
xor bh, 1
or dh, bl
or bh, 1
xor dh, 1
and dh, bh
mov bl, ch
xor bl, 1
mov bh, al
xor bh, bl
and bh, al
mov al, dl
xor al, 1
mov bl, byte [esi + 0x21f]
xor bl, 1
mov byte [esi + 0x21e], al
mov al, byte [esi + 0x21f]
xor al, 0
mov byte [esi + 0x21d], al
mov al, byte [esi + 0x21e]
or al, bl
mov bl, byte [esi + 0x21d]
or bl, 0
xor al, 1
and al, bl
xor ah, 1
mov bl, ch
xor bl, 1
mov byte [esi + 0x21c], al
mov al, byte [esi + 0x21f]
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dh
and al, bh
xor dh, bh
or al, dh
mov dh, byte [esi + 0x21c]
xor dh, 1
mov bl, ah
xor bl, 1
mov bh, byte [esi + 0x21f]
xor bh, 1
mov byte [esi + 0x21b], al
mov al, dh
and al, 1
mov byte [esi + 0x21a], al
mov al, byte [esi + 0x21c]
and al, bh
mov byte [esi + 0x219], al
mov al, bl
and al, 1
and ah, bh
mov byte [esi + 0x218], al
mov al, byte [esi + 0x21a]
mov byte [esi + 0x217], cl
mov cl, byte [esi + 0x219]
or al, cl
mov cl, byte [esi + 0x218]
or cl, ah
xor al, cl
or dh, bl
xor dh, 1
or bh, 1
and dh, bh
or al, dh
mov cl, byte [esi + 0x21b]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x21b]
and cl, al
or ah, cl
mov al, byte [esi + 0x217]
and al, dl
mov cl, byte [esi + 0x217]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x21f]
xor dl, 0
and al, dl
mov dh, byte [esi + 0x21f]
xor dh, 1
and dh, 0
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor cl, 1
xor al, 1
mov dl, byte [esi + 0x21f]
xor dl, 0
or cl, al
or dl, 0
xor cl, 1
and cl, dl
mov al, ah
xor al, 1
mov dl, cl
xor dl, 1
mov ch, byte [esi + 0x21f]
xor ch, 0
mov dh, al
and dh, 0
and ah, ch
mov bl, dl
and bl, 0
and cl, ch
or dh, ah
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x546096
jmp 0x54ae84
mov al, 1
mov ecx, 0
call fcn.0054c960
cmp dword [edx], 0
setne ah
call fcn.0054c970
mov ebx, dword [0x80a090]
mov edx, edi
sub edx, 0x44ff849f
sub edx, 0x50ad60f3
sub edx, 0xbb007b61
sub edx, 0x33da7beb
sub edx, 1
add edx, 0x33da7beb
add ecx, 0x50ad60f3
add edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete cl
push edx
mov edx, 0x66c8b9d9
xor edx, 0x66c8b9d3
cmp ebx, edx
pop edx
setl ch
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, ch
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, ch
and bh, bl
or dh, bh
mov bl, al
xor bl, 0
and bl, 1
mov bh, al
xor bh, 1
and bh, 0
or bl, bh
mov bh, al
xor bh, 0
mov byte [esi + 0x216], al
mov al, dl
xor al, bh
and al, dl
xor cl, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x215], al
mov al, byte [esi + 0x216]
xor al, 1
or cl, bh
or al, 1
xor cl, 1
and cl, al
mov al, byte [esi + 0x216]
xor al, 0
mov bh, dh
xor bh, al
and bh, dh
xor ch, 1
mov al, bl
xor al, 1
mov byte [esi + 0x214], al
mov al, byte [esi + 0x216]
xor al, 1
mov byte [esi + 0x213], al
mov al, byte [esi + 0x214]
or ch, al
mov al, byte [esi + 0x213]
or al, 1
xor ch, 1
and ch, al
mov al, byte [esi + 0x215]
xor al, 1
mov byte [esi + 0x212], al
mov al, cl
xor al, 1
mov byte [esi + 0x211], al
mov al, byte [esi + 0x216]
xor al, 1
mov byte [esi + 0x210], al
mov al, byte [esi + 0x212]
and al, 1
mov byte [esi + 0x20f], al
mov al, byte [esi + 0x215]
mov byte [esi + 0x20e], cl
mov cl, byte [esi + 0x210]
and al, cl
mov cl, byte [esi + 0x211]
and cl, 1
mov byte [esi + 0x20d], al
mov al, byte [esi + 0x20e]
mov byte [esi + 0x20c], cl
mov cl, byte [esi + 0x210]
and al, cl
mov cl, byte [esi + 0x20f]
mov byte [esi + 0x20b], al
mov al, byte [esi + 0x20d]
or cl, al
mov al, byte [esi + 0x20c]
mov byte [esi + 0x20a], cl
mov cl, byte [esi + 0x20b]
or al, cl
mov cl, byte [esi + 0x20a]
xor cl, al
mov al, byte [esi + 0x212]
mov byte [esi + 0x209], cl
mov cl, byte [esi + 0x211]
or al, cl
xor al, 1
mov cl, byte [esi + 0x210]
or cl, 1
and al, cl
mov cl, byte [esi + 0x209]
or cl, al
mov al, bh
xor al, 1
mov byte [esi + 0x208], al
mov al, ch
xor al, 1
mov byte [esi + 0x207], al
mov al, byte [esi + 0x216]
xor al, 1
mov byte [esi + 0x206], al
mov al, byte [esi + 0x208]
and al, 1
mov byte [esi + 0x205], al
mov al, byte [esi + 0x206]
and bh, al
mov al, byte [esi + 0x207]
and al, 1
mov byte [esi + 0x204], al
mov al, byte [esi + 0x206]
and ch, al
mov al, byte [esi + 0x205]
or al, bh
mov bh, byte [esi + 0x204]
or bh, ch
xor al, bh
mov ch, byte [esi + 0x208]
mov bh, byte [esi + 0x207]
or ch, bh
xor ch, 1
mov bh, byte [esi + 0x206]
or bh, 1
and ch, bh
or al, ch
mov ch, cl
xor ch, 1
mov bh, al
and bh, ch
xor al, 1
and cl, al
or bh, cl
mov al, dl
and al, dh
xor dl, dh
or al, dl
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x216]
xor dl, 1
and al, dl
mov ch, byte [esi + 0x216]
xor ch, 1
and ch, 1
and dl, 1
or cl, al
or ch, dl
xor cl, ch
mov al, byte [esi + 0x216]
xor al, 0
mov dl, bl
xor dl, 1
mov ch, byte [esi + 0x216]
xor ch, 0
mov dh, al
and dh, 0
mov byte [esi + 0x203], al
mov al, ch
and al, 0
mov byte [esi + 0x202], al
mov al, dl
and al, 0
and bl, ch
mov byte [esi + 0x201], al
mov al, byte [esi + 0x202]
or dh, al
mov al, byte [esi + 0x201]
or al, bl
xor dh, al
mov al, byte [esi + 0x203]
or al, dl
xor al, 1
or ch, 0
and al, ch
or dh, al
xor dh, 1
mov al, cl
xor al, dh
and al, cl
mov cl, bh
xor cl, 1
mov dl, al
xor dl, 1
mov ch, byte [esi + 0x216]
xor ch, 1
mov dh, cl
and dh, 1
and bh, ch
mov bl, dl
and bl, 1
and al, ch
or dh, bh
or bl, al
xor dh, bl
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or dh, cl
test dh, 1
mov byte [esi + 0x200], ah
jne 0x5463d9
jmp 0x54ae84
mov al, byte [esi + 0x200]
test al, 1
jne 0x5463ec
jmp 0x549074
sub esp, 4
mov eax, esp
call fcn.0054c980
mov dword [eax], ecx
call fcn.0054c990
call fcn.00510660
mov eax, dword [esi + 0x7b4]
call fcn.0054c9a0
call fcn.0054c9b0
mov dword [edx], ecx
mov al, 1
pushfd
mov ecx, 0x1abd1181
add ecx, 0xe542ee7f
popfd
call fcn.0054c9c0
mov edi, dword [0x80a090]
mov ebx, ecx
add ebx, 0x9d6b4ada
add ebx, 0xffffffff
sub ebx, 0x9d6b4ada
mov byte [esi + 0x1ff], al
mov eax, ecx
sub eax, edx
call fcn.0054c9d0
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x1f8]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x1ff]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
xor al, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0x1ff]
xor ah, 1
mov dh, al
and dh, 1
and cl, ah
mov bl, dl
and bl, 1
and ch, ah
or dh, cl
or bl, ch
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x5464e6
jmp 0x54ab89
mov eax, dword [esi + 0x7dc]
sub esp, 4
mov edx, 0x447bf4
mov ecx, esp
mov edx, dword [esi + 0x7b0]
mov dword [ecx], edx
mov ecx, dword [esi + 0x890]
mov dword [esi + 0x1f4], eax
call fcn.004df290
mov bl, 1
call fcn.0054c9e0
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xe7e91501
sub edi, 0x948fb9db
sub edi, 0xe7e91501
sub edi, 0x56c489de
sub edi, 1
add edi, 0x56c489de
sub edi, 0x949f1bf
add edi, 0x948fb9db
sub edi, 0xf6b60e41
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bh
cmp edx, 0xa
setl cl
mov ch, bh
xor ch, 1
and ch, 1
mov dl, bl
xor dl, 1
mov dh, bh
and dh, dl
call fcn.0054c9f0
mov al, bl
xor al, 1
and al, 1
and dl, 1
or ch, dh
or al, dl
xor ch, al
mov al, cl
xor al, 1
and al, 1
mov dl, bl
xor dl, 1
mov dh, cl
and dh, dl
mov ah, bl
xor ah, 1
and ah, 1
and dl, 1
or al, dh
or ah, dl
xor al, ah
mov dl, bl
xor dl, 0
and dl, 1
mov ah, bl
xor ah, 1
and ah, 0
or dl, ah
mov ah, bl
xor ah, 0
mov dh, ch
xor dh, ah
and dh, ch
mov ah, dl
xor ah, 1
mov byte [esi + 0x1ef], al
mov al, bh
xor al, ah
and al, bh
mov ah, byte [esi + 0x1ef]
xor ah, 1
mov bh, bl
xor bh, 0
mov byte [esi + 0x1ee], al
mov al, bl
xor al, 0
or ah, bh
or al, 0
xor ah, 1
and ah, al
xor cl, 1
mov al, dl
xor al, 1
mov bh, bl
xor bh, 0
or cl, al
or bh, 0
xor cl, 1
and cl, bh
mov al, dh
xor al, 1
mov bh, byte [esi + 0x1ee]
xor bh, 1
mov byte [esi + 0x1ed], al
mov al, bl
xor al, 1
mov byte [esi + 0x1ec], al
mov al, byte [esi + 0x1ed]
and al, 1
mov byte [esi + 0x1eb], al
mov al, byte [esi + 0x1ec]
and dh, al
mov al, bh
and al, 1
mov byte [esi + 0x1ea], al
mov al, byte [esi + 0x1ee]
mov byte [esi + 0x1e9], cl
mov cl, byte [esi + 0x1ec]
and al, cl
mov cl, byte [esi + 0x1eb]
or cl, dh
mov dh, byte [esi + 0x1ea]
or dh, al
xor cl, dh
mov al, byte [esi + 0x1ed]
or al, bh
xor al, 1
mov dh, byte [esi + 0x1ec]
or dh, 1
and al, dh
or cl, al
mov al, ah
xor al, 1
mov dh, byte [esi + 0x1e9]
xor dh, 1
mov bh, bl
xor bh, 1
mov byte [esi + 0x1e8], al
and al, 1
and ah, bh
mov byte [esi + 0x1e7], al
mov al, dh
and al, 1
mov byte [esi + 0x1e6], al
mov al, byte [esi + 0x1e9]
and al, bh
mov byte [esi + 0x1e5], al
mov al, byte [esi + 0x1e7]
or al, ah
mov ah, byte [esi + 0x1e6]
mov byte [esi + 0x1e4], al
mov al, byte [esi + 0x1e5]
or ah, al
mov al, byte [esi + 0x1e4]
xor al, ah
mov ah, byte [esi + 0x1e8]
or ah, dh
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, ch
mov cl, byte [esi + 0x1ef]
and al, cl
xor ch, cl
or al, ch
mov ah, al
xor ah, 1
and ah, 1
mov ch, bl
xor ch, 1
and al, ch
or ah, al
mov al, bl
xor al, 0
mov ch, dl
xor ch, 1
xor bl, 1
mov bh, al
and bh, 1
mov cl, bl
and cl, 0
mov byte [esi + 0x1e3], al
mov al, ch
and al, 1
and dl, bl
or bh, cl
or al, dl
xor bh, al
mov al, byte [esi + 0x1e3]
or al, ch
xor al, 1
or bl, 1
and al, bl
or bh, al
xor bh, 1
mov al, ah
xor al, bh
and al, ah
mov cl, dh
and cl, al
xor dh, al
or cl, dh
test cl, 1
jne 0x54678f
jmp 0x54ab89
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x1f0]
call fcn.0054ca00
call fcn.0054ca10
call fcn.00429190
mov byte [esi + 0x1e2], al
mov al, 1
mov ecx, 0
call fcn.0054ca20
call fcn.0054ca30
add ecx, 0xffffffff
add ecx, 0
mov ebx, edx
sub ebx, 0x345b070a
add ebx, ecx
sub ebx, 0xcba4f8f6
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
mov dh, cl
and dh, ch
xor cl, 1
and ah, cl
or dh, ah
mov cl, dl
xor cl, 1
mov ah, dh
xor ah, 1
xor al, 0
mov ch, cl
and ch, 0
and dl, al
mov bl, ah
and bl, 0
and dh, al
or ch, dl
or bl, dh
xor ch, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or ch, cl
test ch, 1
jne 0x54684b
jmp 0x54abae
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054ca40
mov ebx, 0xffff
mov ebx, ecx
sub ebx, 0xedc553ba
mov byte [esi + 0x1e1], al
mov eax, edx
add eax, ebx
add ecx, 0xffffffff
add eax, ecx
sub eax, 0xdaa4bf21
sub eax, 0x123aac46
add eax, 0xdaa4bf21
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x1e1]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x1e1]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, dl
and bl, 1
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x546914
jmp 0x54abae
mov al, byte [esi + 0x1e2]
test al, 1
jne 0x546927
jmp 0x54753e
call fcn.0054ca50
call fcn.0054e240
mov dword [esi + 0x1dc], eax
call fcn.0054ca60
cmp dword [eax + 8], 0
je 0x54719c
mov al, 1
mov ecx, 0x57cf54
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0xffffffff
add ecx, 0
mov ebx, 0x1ff
mov ebx, edx
sub ebx, 0x849d1ef1
add ebx, ecx
add ebx, 0x849d1ef1
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
or ch, dl
or al, 0
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x5469d3
jmp 0x54abb3
mov al, 1
mov ecx, 0
call fcn.0054ca70
call fcn.0054ca80
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x1db], al
mov eax, 0x447c84
mov eax, ecx
sub eax, 0xa085ecec
add ebx, eax
sub ecx, ebx
sub ecx, 0xb85b2000
add ecx, 0xffffffff
sub ecx, 0x47a4e000
add ecx, 0x3aeeda9f
sub ecx, 0xa085ecec
add ecx, 0xc5112561
imul edx, ecx
and edx, 1
push ecx
mov ecx, 0xc3669056
xor ecx, 0xc3669056
cmp edx, ecx
pop ecx
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x1db]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x1db]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
xor al, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x1db]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x546ac5
jmp 0x54abb3
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
call fcn.0054ca90
mov eax, 0xffffffff
mov ecx, dword [esi + 0x1d4]
mov edx, dword [ecx]
mov edx, dword [edx]
mov edi, edx
xor edi, 0xffffffff
and edi, 0xc8ab121
mov ebx, eax
xor ebx, 0xc8ab121
and edx, ebx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc8ab121
and ebx, 0xffffffff
or edi, edx
or ecx, ebx
xor edi, ecx
mov ecx, eax
mov ecx, eax
xor ecx, 0x80
and ecx, 0x47391d3
mov edx, eax
xor edx, 0x47391d3
mov ebx, edx
and ebx, 0x80
mov dword [esi + 0x1d0], eax
xor eax, 0xffffffff
and eax, 0x47391d3
and edx, 0xffffffff
or ecx, ebx
or eax, edx
xor ecx, eax
call fcn.0054caa0
xor eax, 0x97a49da8
and eax, 0x72a925c5
call fcn.0054cab0
xor edx, 0x72a925c5
mov ebx, edx
and ebx, 0x97a49da8
mov dword [esi + 0x1cc], eax
call fcn.0054cac0
push edx
mov edx, 0x20b4761c
xor edx, 0xdf4b89e3
xor eax, edx
pop edx
and eax, 0x72a925c5
and edx, 0xffffffff
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0x1cc]
or eax, ebx
mov ebx, dword [esi + 0x1c8]
or ebx, edx
xor eax, ebx
mov edx, esi
mov edx, edi
xor edx, 0xffffffff
mov ebx, ecx
xor ebx, 0xdef5e019
xor ebx, 0x210a1fe6
mov dword [esi + 0x1c4], eax
mov eax, dword [esi + 0x1d0]
xor eax, 0xbf120c5d
mov dword [esi + 0x1c0], eax
mov eax, edx
and eax, 0xbf120c5d
mov dword [esi + 0x1bc], eax
call fcn.0054cad0
and edi, eax
mov eax, ebx
and eax, 0xbf120c5d
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x1c0]
and ecx, eax
mov eax, dword [esi + 0x1bc]
or eax, edi
mov edi, dword [esi + 0x1b8]
or edi, ecx
xor eax, edi
or edx, ebx
xor edx, 0xffffffff
mov ecx, dword [esi + 0x1c0]
or ecx, 0xbf120c5d
and edx, ecx
or eax, edx
mov ecx, dword [esi + 0x1d0]
xor ecx, 0x97a49da8
mov edx, dword [esi + 0x1c4]
xor edx, 0xcf7560c1
xor edx, 0x308a9f3e
mov edi, dword [esi + 0x1d0]
xor edi, 0x560f117e
mov ebx, ecx
and ebx, 0x560f117e
call fcn.0054cae0
mov eax, edi
and eax, 0x97a49da8
call fcn.0054caf0
mov eax, edx
and eax, 0x560f117e
mov dword [esi + 0x1ac], eax
mov eax, dword [esi + 0x1c4]
and eax, edi
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x1b0]
or ebx, eax
call fcn.0054cb00
mov dword [esi + 0x1a4], ecx
call fcn.0054cb10
or eax, ecx
xor ebx, eax
mov eax, dword [esi + 0x1a4]
or eax, edx
xor eax, 0xffffffff
or edi, 0x560f117e
and eax, edi
or ebx, eax
mov eax, dword [esi + 0x1b4]
xor eax, 0xffffffff
and eax, 0xfa93dd47
mov ecx, dword [esi + 0x1d0]
xor ecx, 0xfa93dd47
mov edx, dword [esi + 0x1b4]
and edx, ecx
mov edi, dword [esi + 0x1d0]
xor edi, 0xffffffff
and edi, 0xfa93dd47
and ecx, 0xffffffff
or eax, edx
or edi, ecx
xor eax, edi
xor ebx, 0xffffffff
mov ecx, ebx
mov ecx, eax
xor ecx, ebx
and ecx, eax
cmp ecx, 0
je 0x54719c
cmp dword [0x7ffc38], 0
je 0x546d78
mov eax, dword [0x7ff540]
mov ecx, dword [esi + 0x7dc]
mov dword [esi + 0x1a0], eax
call fcn.0054e240
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x19c]
call fcn.0054cb20
sub esp, 8
mov edx, esp
call fcn.0054cb30
call fcn.0054cb40
mov ecx, dword [esi + 0x1a0]
call ecx
call fcn.0054cb50
jmp 0x546d7d
jmp 0x546d7d
cmp dword [0x8006d0], 0
je 0x547197
mov eax, dword [0x8006d0]
mov ecx, dword [esi + 0x7dc]
mov dword [esi + 0x194], eax
call fcn.0054e240
call fcn.0054cb60
call fcn.0054cb70
mov ecx, dword [eax + 8]
sub esp, 4
mov edx, esp
call fcn.0054cb80
mov ecx, dword [esi + 0x194]
call ecx
call fcn.0054cb90
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054cba0
mov ebx, 0x100000
mov ebx, edx
add ebx, 0xb19eaf5d
sub ebx, 0xe4162b9
sub ebx, 0xb19eaf5d
add ebx, 0xa77ec6e9
sub ebx, 1
sub ebx, 0xa77ec6e9
add ecx, 0xf1be9d47
sub ebx, ecx
imul edx, ebx
and edx, 1
push ecx
mov ecx, 0xf6a45053
xor ecx, 0xf6a45053
cmp edx, ecx
pop ecx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 1
mov byte [esi + 0x18b], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x18b]
xor bl, 1
mov bh, byte [esi + 0x18b]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
xor ah, 1
mov bl, dh
xor bl, 1
mov bh, byte [esi + 0x18b]
xor bh, 0
or ah, bl
or bh, 0
xor ah, 1
and ah, bh
mov bl, byte [esi + 0x18b]
xor bl, 1
mov bh, dl
xor bh, bl
and bh, dl
mov bl, dh
xor bl, 1
mov byte [esi + 0x18a], al
mov al, cl
xor al, bl
and al, cl
mov cl, byte [esi + 0x18a]
xor cl, 1
mov bl, ah
xor bl, 1
mov byte [esi + 0x189], al
mov al, byte [esi + 0x18b]
xor al, 0
mov byte [esi + 0x188], al
mov al, cl
and al, 0
mov byte [esi + 0x187], al
mov al, byte [esi + 0x18a]
mov byte [esi + 0x186], cl
mov cl, byte [esi + 0x188]
and al, cl
mov cl, bl
and cl, 0
mov byte [esi + 0x185], al
mov al, byte [esi + 0x188]
and ah, al
mov al, byte [esi + 0x187]
mov byte [esi + 0x184], cl
mov cl, byte [esi + 0x185]
or al, cl
mov cl, byte [esi + 0x184]
or cl, ah
xor al, cl
mov cl, byte [esi + 0x186]
or cl, bl
xor cl, 1
mov ah, byte [esi + 0x188]
or ah, 0
and cl, ah
or al, cl
mov cl, bh
xor cl, 1
mov ah, byte [esi + 0x189]
xor ah, 1
mov bl, byte [esi + 0x18b]
xor bl, 0
mov byte [esi + 0x183], al
mov al, cl
and al, 0
and bh, bl
mov byte [esi + 0x182], al
mov al, ah
and al, 0
mov byte [esi + 0x181], al
mov al, byte [esi + 0x189]
and al, bl
mov byte [esi + 0x180], al
mov al, byte [esi + 0x182]
or al, bh
mov bh, byte [esi + 0x181]
mov byte [esi + 0x17f], al
mov al, byte [esi + 0x180]
or bh, al
mov al, byte [esi + 0x17f]
xor al, bh
or cl, ah
xor cl, 1
or bl, 0
and cl, bl
or al, cl
mov cl, byte [esi + 0x183]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x183]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x18b]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x17e], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x17e]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x18b]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [esi + 0x18b]
xor cl, 1
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x18b]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 1
mov byte [esi + 0x17d], al
mov al, dl
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
xor bl, 1
mov al, byte [esi + 0x17d]
xor al, bl
mov cl, byte [esi + 0x17d]
and al, cl
mov dl, ah
xor dl, 1
mov ch, al
xor ch, 1
mov dh, byte [esi + 0x18b]
xor dh, 1
mov bl, dl
and bl, 1
and ah, dh
mov bh, ch
and bh, 1
and al, dh
or bl, ah
or bh, al
xor bl, bh
or dl, ch
xor dl, 1
or dh, 1
and dl, dh
or bl, dl
test bl, 1
jne 0x5470e8
jmp 0x54ae89
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 0x7f
mov ebx, ecx
add ebx, 0xffffffff
sub ebx, 0
mov byte [esi + 0x17c], al
mov eax, ecx
sub eax, edx
mov dword [esi + 0x178], eax
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x178]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ebx
mov ebx, 0xc21f8d0
xor ebx, 0xc21f8da
cmp edi, ebx
pop ebx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x17c]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x547192
jmp 0x54ae89
jmp 0x54719c
jmp 0x54719c
jmp 0x5471a1
mov al, 1
mov ecx, 0
call fcn.0054cbb0
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x68a0d62a
add ebx, 0xdad59b87
add ebx, 0x975f29d6
add ecx, 0xffffffff
add ebx, ecx
add ebx, 0xe581505d
sub ebx, 0xdad59b87
sub ebx, 0xe581505d
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x177], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x177]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
xor ah, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x177]
xor bh, 1
or ah, al
or bh, 1
xor ah, 1
and ah, bh
mov al, dl
xor al, 1
mov bh, byte [esi + 0x177]
xor bh, 0
mov byte [esi + 0x176], al
mov al, byte [esi + 0x177]
xor al, 0
mov byte [esi + 0x175], al
mov al, byte [esi + 0x176]
or al, bh
mov bh, byte [esi + 0x175]
or bh, 0
xor al, 1
and al, bh
mov bh, dh
xor bh, 1
mov byte [esi + 0x174], al
mov al, cl
xor al, bh
and al, cl
mov cl, bl
and cl, ah
xor bl, ah
or cl, bl
mov ah, byte [esi + 0x174]
xor ah, 1
mov bl, al
xor bl, 1
mov bh, byte [esi + 0x177]
xor bh, 0
mov byte [esi + 0x173], al
mov al, ah
and al, 0
mov byte [esi + 0x172], al
mov al, byte [esi + 0x174]
and al, bh
mov byte [esi + 0x171], al
mov al, bl
and al, 0
mov byte [esi + 0x170], al
mov al, byte [esi + 0x173]
and al, bh
mov byte [esi + 0x16f], al
mov al, byte [esi + 0x172]
mov byte [esi + 0x16e], cl
mov cl, byte [esi + 0x171]
or al, cl
mov cl, byte [esi + 0x170]
mov byte [esi + 0x16d], al
mov al, byte [esi + 0x16f]
or cl, al
mov al, byte [esi + 0x16d]
xor al, cl
or ah, bl
xor ah, 1
or bh, 0
and ah, bh
or al, ah
mov cl, byte [esi + 0x16e]
xor cl, 1
and cl, 0
mov ah, byte [esi + 0x177]
xor ah, 0
mov bl, byte [esi + 0x16e]
and bl, ah
mov bh, al
xor bh, 1
and bh, 0
and al, ah
or cl, bl
or bh, al
xor cl, bh
mov al, ch
xor al, 1
mov ah, dl
xor ah, 1
mov bl, byte [esi + 0x177]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x16c], al
mov al, ah
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x16c]
or al, ah
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov dl, byte [esi + 0x177]
xor dl, 1
and bh, dl
or al, bh
mov dl, byte [esi + 0x177]
xor dl, 0
mov ah, dh
xor ah, 1
mov ch, byte [esi + 0x177]
xor ch, 0
mov bl, dl
and bl, 0
mov bh, ch
and bh, 0
mov byte [esi + 0x16b], al
mov al, ah
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or dl, ah
xor dl, 1
or ch, 0
and dl, ch
or bl, dl
mov al, byte [esi + 0x16b]
xor al, 1
xor bl, 1
mov dl, byte [esi + 0x177]
xor dl, 0
or al, bl
or dl, 0
xor al, 1
and al, dl
mov dl, cl
and dl, al
xor cl, al
or dl, cl
test dl, 1
jne 0x547453
jmp 0x54ae8e
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x6886719b
sub ebx, 0xcfd5d6b
add ebx, 0x6886719b
mov byte [esi + 0x16a], al
mov eax, ecx
add eax, 0xffffffff
add ebx, eax
sub ecx, 0xf302a295
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x16a]
xor dl, 1
and al, dl
mov dh, ah
xor dh, 1
and dh, 1
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x16a]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, dl
and bl, 1
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x54751a
jmp 0x54ae8e
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x7ac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [esi + 0x7dc]
call fcn.00517260
jmp 0x546414
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054cbc0
mov ebx, ecx
add ebx, 0x545e5163
sub ebx, 1
add ebx, 0xaba1ae9d
mov byte [esi + 0x169], al
mov eax, 0x20
mov eax, ecx
sub eax, edx
call fcn.0054cbd0
mov eax, ecx
sub eax, ebx
call fcn.0054cbe0
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x169]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x169]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x169]
xor ch, 1
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x169]
xor bl, 1
and bl, 1
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x169]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x169]
xor dh, 1
and dh, 0
or ch, dh
mov dh, byte [esi + 0x169]
xor dh, 0
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, byte [esi + 0x169]
xor al, 0
mov dh, dl
xor dh, al
and dh, dl
mov al, ch
xor al, 1
mov byte [esi + 0x163], al
mov al, ah
mov byte [esi + 0x162], cl
mov cl, byte [esi + 0x163]
xor al, cl
and al, ah
mov cl, bl
xor cl, 1
mov ah, bh
xor ah, 1
mov byte [esi + 0x161], al
mov al, byte [esi + 0x169]
xor al, 0
mov byte [esi + 0x160], al
mov al, cl
and al, 0
mov byte [esi + 0x15f], al
mov al, byte [esi + 0x160]
and bl, al
mov al, ah
and al, 0
mov byte [esi + 0x15e], al
mov al, byte [esi + 0x160]
and bh, al
mov al, byte [esi + 0x15f]
or al, bl
mov bl, byte [esi + 0x15e]
or bl, bh
xor al, bl
or cl, ah
xor cl, 1
mov ah, byte [esi + 0x160]
or ah, 0
and cl, ah
or al, cl
mov cl, dh
xor cl, 1
mov ah, byte [esi + 0x161]
xor ah, 1
mov bl, byte [esi + 0x169]
xor bl, 0
mov bh, cl
and bh, 0
and dh, bl
mov byte [esi + 0x15d], al
mov al, ah
and al, 0
mov byte [esi + 0x15c], al
mov al, byte [esi + 0x161]
and al, bl
or bh, dh
mov dh, byte [esi + 0x15c]
or dh, al
xor bh, dh
or cl, ah
xor cl, 1
or bl, 0
and cl, bl
or bh, cl
mov al, byte [esi + 0x15d]
xor al, 1
and al, 1
mov cl, byte [esi + 0x169]
xor cl, 1
mov ah, byte [esi + 0x15d]
and ah, cl
mov dh, bh
xor dh, 1
and dh, 1
and bh, cl
or al, ah
or dh, bh
xor al, dh
mov cl, byte [esi + 0x162]
and cl, dl
mov ah, byte [esi + 0x162]
xor ah, dl
or cl, ah
mov dl, cl
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x169]
xor ah, 1
and cl, ah
mov dh, byte [esi + 0x169]
xor dh, 1
and dh, 1
and ah, 1
or dl, cl
or dh, ah
xor dl, dh
mov cl, byte [esi + 0x169]
xor cl, 0
mov ah, ch
xor ah, 1
mov dh, byte [esi + 0x169]
xor dh, 1
mov bl, cl
and bl, 1
mov bh, dh
and bh, 0
mov byte [esi + 0x15b], al
mov al, ah
and al, 1
and ch, dh
or bl, bh
or al, ch
xor bl, al
or cl, ah
xor cl, 1
or dh, 1
and cl, dh
or bl, cl
xor dl, 1
xor bl, 1
mov al, byte [esi + 0x169]
xor al, 1
or dl, bl
or al, 1
xor dl, 1
and dl, al
mov al, byte [esi + 0x15b]
and al, dl
mov cl, byte [esi + 0x15b]
xor cl, dl
or al, cl
test al, 1
jne 0x5477e0
jmp 0x54ace7
sub esp, 4
mov ecx, 0x447b58
mov eax, esp
mov ecx, dword [esi + 0x7a8]
mov dword [eax], ecx
call fcn.0054cbf0
call fcn.00510660
mov dl, 1
pushfd
mov eax, 0x69338f87
sub eax, 0x69338f87
popfd
mov ecx, dword [esi + 0x7a8]
call fcn.0054cc00
mov ebx, dword [esi + 0x7dc]
call fcn.0054cc10
mov edi, dword [0x80a094]
mov ecx, dword [0x80a090]
mov ebx, eax
sub ebx, 0x4095d5b0
sub ebx, 1
add ebx, 0x4095d5b0
sub eax, ebx
mov ebx, edi
sub ebx, eax
imul edi, ebx
and edi, 1
cmp edi, 0
sete dh
push edx
mov edx, 0xf8d99f6c
xor edx, 0xf8d99f66
cmp ecx, edx
pop edx
setl al
mov ah, dh
xor ah, 1
and ah, 1
mov cl, dl
xor cl, 1
mov ch, dh
and ch, cl
or ah, ch
mov cl, al
xor cl, 1
and cl, 0
mov ch, dl
xor ch, 0
mov bl, al
and bl, ch
mov bh, dl
xor bh, 1
and bh, 0
and ch, 1
or cl, bl
or bh, ch
xor cl, bh
mov ch, dl
xor ch, 0
and ch, 1
mov bl, dl
xor bl, 1
and bl, 0
or ch, bl
mov bl, ah
xor bl, 1
mov bh, dl
xor bh, 0
mov byte [esi + 0x15a], al
mov al, dl
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, ch
xor al, 1
mov bh, dh
xor bh, al
and bh, dh
mov al, dl
xor al, 0
mov dh, cl
xor dh, al
and dh, cl
mov al, ch
xor al, 1
mov byte [esi + 0x159], al
mov al, byte [esi + 0x15a]
mov byte [esi + 0x158], cl
mov cl, byte [esi + 0x159]
xor al, cl
mov cl, byte [esi + 0x15a]
and al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov bl, dh
and bl, al
xor dh, al
or bl, dh
mov al, cl
xor al, 1
and al, 1
mov dh, dl
xor dh, 1
and cl, dh
mov bh, bl
xor bh, 1
and bh, 1
and bl, dh
or al, cl
or bh, bl
xor al, bh
mov cl, ah
xor cl, 1
mov dh, byte [esi + 0x158]
xor dh, 1
mov bl, dl
xor bl, 1
mov bh, cl
and bh, 1
and ah, bl
mov byte [esi + 0x157], al
mov al, dh
and al, 1
mov byte [esi + 0x156], al
mov al, byte [esi + 0x158]
and al, bl
or bh, ah
mov ah, byte [esi + 0x156]
or ah, al
xor bh, ah
or cl, dh
xor cl, 1
or bl, 1
and cl, bl
or bh, cl
mov al, bh
xor al, 1
and al, 1
mov cl, dl
xor cl, 1
and bh, cl
or al, bh
mov cl, dl
xor cl, 0
mov ah, ch
xor ah, 1
mov dh, dl
xor dh, 1
mov bl, cl
and bl, 1
mov bh, dh
and bh, 0
mov byte [esi + 0x155], al
mov al, ah
and al, 1
and ch, dh
or bl, bh
or al, ch
xor bl, al
or cl, ah
xor cl, 1
or dh, 1
and cl, dh
or bl, cl
mov al, byte [esi + 0x155]
xor al, 1
xor bl, 1
mov cl, dl
xor cl, 0
or al, bl
or cl, 0
xor al, 1
and al, cl
mov cl, byte [esi + 0x157]
xor cl, 1
mov ah, al
xor ah, 1
xor dl, 0
mov ch, cl
and ch, 0
mov dh, byte [esi + 0x157]
and dh, dl
mov bl, ah
and bl, 0
and al, dl
or ch, dh
or bl, al
xor ch, bl
or cl, ah
xor cl, 1
or dl, 0
and cl, dl
or ch, cl
test ch, 1
jne 0x547a24
jmp 0x54ace7
jmp 0x547a29
mov al, 1
mov ecx, 0
call fcn.0054cc20
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 1
add ebx, 0
mov byte [esi + 0x154], al
mov eax, ecx
mov eax, ecx
sub eax, edx
mov dword [esi + 0x150], eax
mov eax, ecx
sub eax, ebx
mov ebx, dword [esi + 0x150]
add ebx, eax
sub ecx, ebx
imul edx, ecx
and edx, 1
push eax
mov eax, 0x67a00a0f
xor eax, 0x67a00a0f
cmp edx, eax
pop eax
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x154]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x547acf
jmp 0x54ae93
call fcn.0054cc30
sub esp, 4
mov ecx, esp
call fcn.0054cc40
mov dword [ecx], edx
call fcn.0054cc50
call fcn.0054cc60
call fcn.004df290
mov bl, 1
mov eax, 0
pushfd
mov ecx, 0xde69486d
sub ecx, 0x44e3be7b
popfd
mov edx, dword [esi + 0x7a4]
mov edi, dword [0x80a094]
call fcn.0054cc70
call fcn.0054cc80
sub ecx, 0
sub ecx, 1
sub ecx, 0x998589f2
mov dword [esi + 0x144], eax
call fcn.0054cc90
sub eax, edi
call fcn.0054cca0
call fcn.0054ccb0
sub eax, ecx
call fcn.0054ccc0
add ecx, eax
call fcn.0054ccd0
sub eax, ecx
imul edi, eax
and edi, 1
cmp edi, 0
sete bh
mov eax, dword [esi + 0x144]
cmp eax, 0xa
setl al
mov ah, bh
xor ah, 1
and ah, 1
mov cl, bl
xor cl, 1
mov ch, bh
and ch, cl
mov byte [esi + 0x13f], al
mov al, bl
xor al, 1
and al, 1
and cl, 1
or ah, ch
or al, cl
xor ah, al
mov al, byte [esi + 0x13f]
xor al, 1
and al, 1
mov cl, bl
xor cl, 1
mov ch, byte [esi + 0x13f]
and ch, cl
mov byte [esi + 0x13e], al
mov al, bl
xor al, 1
and al, 1
and cl, 1
mov byte [esi + 0x13d], al
mov al, byte [esi + 0x13e]
or al, ch
mov ch, byte [esi + 0x13d]
or ch, cl
xor al, ch
mov cl, bl
xor cl, 0
and cl, 1
mov ch, bl
xor ch, 1
and ch, 0
or cl, ch
mov ch, bl
xor ch, 0
mov byte [esi + 0x13c], al
mov al, ah
xor al, ch
and al, ah
mov ch, cl
xor ch, 1
mov byte [esi + 0x13b], al
mov al, bh
xor al, ch
and al, bh
mov ch, bl
xor ch, 0
mov bh, byte [esi + 0x13c]
xor bh, ch
mov ch, byte [esi + 0x13c]
and bh, ch
mov ch, byte [esi + 0x13f]
xor ch, 1
mov byte [esi + 0x13a], al
mov al, cl
xor al, 1
mov byte [esi + 0x139], al
mov al, bl
xor al, 1
mov byte [esi + 0x138], al
mov al, byte [esi + 0x139]
or ch, al
mov al, byte [esi + 0x138]
or al, 1
xor ch, 1
and ch, al
mov al, byte [esi + 0x13b]
mov byte [esi + 0x137], cl
mov cl, byte [esi + 0x13a]
and al, cl
mov cl, byte [esi + 0x13b]
mov byte [esi + 0x136], al
mov al, byte [esi + 0x13a]
xor cl, al
mov al, byte [esi + 0x136]
or al, cl
mov cl, bh
and cl, ch
xor bh, ch
or cl, bh
mov ch, al
xor ch, 1
mov bh, cl
and bh, ch
xor cl, 1
and al, cl
or bh, al
mov al, ah
mov cl, byte [esi + 0x13c]
and al, cl
xor ah, cl
or al, ah
mov ah, al
xor ah, 1
and ah, 0
mov ch, bl
xor ch, 0
and al, ch
xor bl, 1
and bl, 0
and ch, 1
or ah, al
or bl, ch
xor ah, bl
mov al, byte [esi + 0x137]
and al, 0
mov ch, byte [esi + 0x137]
xor ch, 0
or al, ch
xor al, 1
mov ch, ah
xor ch, al
and ch, ah
mov al, bh
and al, ch
xor bh, ch
or al, bh
test al, 1
mov dword [esi + 0x130], edx
jne 0x547d01
jmp 0x54ae93
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x130]
call fcn.0054cce0
mov ecx, dword [esi + 0x14c]
call fcn.00429190
mov byte [esi + 0x12f], al
mov al, byte [esi + 0x12f]
test al, 1
jne 0x547d35
jmp 0x54906f
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
call fcn.0054ccf0
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 0x7fff
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x127], al
mov eax, ecx
add eax, 0x2cf2fe9
add ebx, eax
mov eax, 0x447d08
mov eax, ecx
sub eax, ebx
add ecx, 0xffffffff
add eax, ecx
sub eax, 0xbaf6898e
sub eax, 0xfd30d017
add eax, 0xbaf6898e
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x127]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x127]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x127]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x127]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x127]
xor dh, 1
and dh, 1
or ch, dh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0x127]
xor bl, 1
mov bh, byte [esi + 0x127]
xor bh, 1
or dh, bl
or bh, 1
xor dh, 1
and dh, bh
xor al, 1
mov bl, ch
xor bl, 1
mov bh, byte [esi + 0x127]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, byte [esi + 0x127]
xor bl, 1
mov bh, dl
xor bh, bl
and bh, dl
mov bl, ch
xor bl, 1
mov byte [esi + 0x126], al
mov al, ah
xor al, bl
and al, ah
mov ah, dh
mov bl, byte [esi + 0x126]
and ah, bl
xor dh, bl
or ah, dh
mov dh, bh
and dh, al
xor bh, al
or dh, bh
mov al, ah
xor al, 1
and al, 1
mov bh, byte [esi + 0x127]
xor bh, 1
and ah, bh
mov bl, dh
xor bl, 1
and bl, 1
and dh, bh
or al, ah
or bl, dh
xor al, bl
mov ah, cl
and ah, dl
xor cl, dl
or ah, cl
mov cl, ah
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x127]
xor dl, 1
and ah, dl
or cl, ah
mov dl, byte [esi + 0x127]
xor dl, 1
mov ah, ch
xor ah, 1
mov dh, byte [esi + 0x127]
xor dh, 0
mov bl, dl
and bl, 0
mov bh, dh
and bh, 1
mov byte [esi + 0x125], al
mov al, ah
and al, 0
and ch, dh
or bl, bh
or al, ch
xor bl, al
or dl, ah
xor dl, 1
or dh, 0
and dl, dh
or bl, dl
xor bl, 1
mov al, cl
xor al, bl
and al, cl
mov cl, byte [esi + 0x125]
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0x127]
xor ah, 1
mov ch, cl
and ch, 1
mov dh, byte [esi + 0x125]
and dh, ah
mov bl, dl
and bl, 1
and al, ah
or ch, dh
or bl, al
xor ch, bl
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
test ch, 1
jne 0x547f4a
jmp 0x54ad1d
mov al, 1
mov ecx, 0xffffffff
call fcn.0054cd00
mov edi, dword [edx]
mov edi, dword [edi]
mov ebx, edi
xor ebx, 0xffffffff
and ebx, 0x5e2d74c1
mov edx, ecx
xor edx, 0x5e2d74c1
and edi, edx
mov byte [esi + 0x124], al
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5e2d74c1
and edx, 0xffffffff
or ebx, edi
or eax, edx
xor ebx, eax
mov eax, ecx
xor eax, 1
and eax, 0x15b02c80
mov edx, ecx
xor edx, 0x15b02c80
mov edi, edx
and edi, 1
call fcn.0054cd10
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x15b02c80
and edx, 0xffffffff
call fcn.0054cd20
mov eax, dword [esi + 0x120]
or eax, edi
mov edi, dword [esi + 0x11c]
or edi, edx
xor eax, edi
mov edx, ecx
xor edx, 0x5c42183b
and edx, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
and edi, 0x5c42183b
or edx, edi
mov edi, ebx
xor edi, 0xeb8faf41
xor edi, 0x147050be
call fcn.0054cd30
xor eax, 0xffffffff
mov dword [esi + 0x114], eax
mov eax, ecx
push ebx
mov ebx, 0x37dab0e6
xor ebx, 0x45cdeeb7
xor eax, ebx
pop ebx
mov dword [esi + 0x110], eax
mov eax, edi
and eax, 0x72175e51
mov dword [esi + 0x10c], eax
call fcn.0054cd40
and ebx, eax
mov eax, dword [esi + 0x114]
and eax, 0x72175e51
mov dword [esi + 0x108], eax
call fcn.0054cd50
mov dword [esi + 0x104], ecx
mov ecx, dword [esi + 0x110]
and eax, ecx
call fcn.0054cd60
or ecx, ebx
mov ebx, dword [esi + 0x108]
or ebx, eax
xor ecx, ebx
mov eax, dword [esi + 0x114]
or edi, eax
xor edi, 0xffffffff
mov ebx, dword [esi + 0x110]
or ebx, 0x72175e51
and edi, ebx
or ecx, edi
mov edi, edx
and edi, 0x5c42183b
xor edx, 0x5c42183b
or edi, edx
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xffffffff
call fcn.0054cd70
xor ebx, 0xffffffff
and ecx, ebx
or edx, ecx
xor edx, 0x3573d905
xor edx, 0xca8c26fa
xor edi, 0xffffffff
mov ecx, dword [esi + 0x104]
xor ecx, 0x70e18d69
or edx, edi
or ecx, 0x70e18d69
push eax
mov eax, 0xce125544
xor eax, 0x31edaabb
xor edx, eax
pop eax
and edx, ecx
push ecx
mov ecx, 0x17f8a1ff
xor ecx, 0x17f8a1ff
cmp edx, ecx
pop ecx
setne al
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
sub edi, 0x71ce1e29
sub edi, 0x7f38e819
sub edi, 0x8e31e1d7
add edi, 0x9a7ecb2b
add edi, 0xffffffff
add edi, 0x658134d5
add edi, 0x4d894cf5
add edi, 0x7f38e819
sub edi, 0x4d894cf5
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x124]
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
and cl, ch
xor dl, ch
or cl, dl
test cl, 1
mov byte [esi + 0x103], al
jne 0x5481b3
jmp 0x54ad1d
mov al, byte [esi + 0x103]
test al, 1
jne 0x5481c6
jmp 0x549046
mov ecx, dword [esi + 0x7dc]
call fcn.0054e240
call fcn.0054cd80
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0xfb], al
mov eax, ecx
sub eax, 0xe7e30e62
add ebx, eax
sub ecx, ebx
sub ecx, 0x90b477c7
sub ecx, 1
add ecx, 0x90b477c7
add ecx, 0xc0723854
sub ecx, 0xe7e30e62
sub ecx, 0xc0723854
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ecx
mov ecx, 0xa4e9ba05
xor ecx, 0xa4e9ba0f
cmp edi, ecx
pop ecx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0xfb]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
xor al, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0xfb]
xor ah, 0
mov dh, al
and dh, 0
and cl, ah
mov bl, dl
and bl, 0
and ch, ah
or dh, cl
or bl, ch
xor dh, bl
or al, dl
xor al, 1
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x5482b2
jmp 0x54ad22
mov al, 1
mov ecx, 0
call fcn.0054cd90
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0xdac53514
sub ebx, 0xb9cf7d3
sub ebx, 0xdac53514
mov byte [esi + 0xfa], al
mov eax, ecx
add eax, 0xffffffff
add ebx, eax
mov eax, ecx
sub eax, ebx
mov ebx, 0x447cf0
mov ebx, ecx
sub ebx, 0xb9cf7d3
add eax, ebx
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0xfa]
xor ch, 1
mov dl, al
and dl, ch
mov dh, byte [esi + 0xfa]
xor dh, 1
and dh, 1
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0xfa]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0xfa]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0xfa]
xor dh, 1
and dh, 1
or ch, dh
mov dh, byte [esi + 0xfa]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0xfa]
xor dh, 1
mov byte [esi + 0xf9], al
mov al, byte [esi + 0xfa]
xor al, 1
mov byte [esi + 0xf8], al
mov al, byte [esi + 0xf9]
or al, dh
mov dh, byte [esi + 0xf8]
or dh, 1
xor al, 1
and al, dh
mov dh, ch
xor dh, 1
mov byte [esi + 0xf7], al
mov al, ah
xor al, dh
and al, ah
mov ah, bl
xor ah, 1
mov dh, bh
xor dh, 1
mov byte [esi + 0xf6], al
mov al, byte [esi + 0xfa]
xor al, 0
mov byte [esi + 0xf5], al
mov al, ah
and al, 0
mov byte [esi + 0xf4], al
mov al, byte [esi + 0xf5]
and bl, al
mov al, dh
and al, 0
mov byte [esi + 0xf3], al
mov al, byte [esi + 0xf5]
and bh, al
mov al, byte [esi + 0xf4]
or al, bl
mov bl, byte [esi + 0xf3]
or bl, bh
xor al, bl
or ah, dh
xor ah, 1
mov dh, byte [esi + 0xf5]
or dh, 0
and ah, dh
or al, ah
mov ah, byte [esi + 0xf7]
xor ah, 1
mov dh, byte [esi + 0xf6]
xor dh, 1
mov bl, byte [esi + 0xfa]
xor bl, 1
mov bh, ah
and bh, 1
mov byte [esi + 0xf2], al
mov al, byte [esi + 0xf7]
and al, bl
mov byte [esi + 0xf1], al
mov al, dh
and al, 1
mov byte [esi + 0xf0], al
mov al, byte [esi + 0xf6]
and al, bl
mov byte [esi + 0xef], al
mov al, byte [esi + 0xf1]
or bh, al
mov al, byte [esi + 0xf0]
mov byte [esi + 0xee], cl
mov cl, byte [esi + 0xef]
or al, cl
xor bh, al
or ah, dh
xor ah, 1
or bl, 1
and ah, bl
or bh, ah
mov al, byte [esi + 0xf2]
xor al, 1
and al, 0
mov cl, byte [esi + 0xfa]
xor cl, 0
mov ah, byte [esi + 0xf2]
and ah, cl
mov dh, bh
xor dh, 1
and dh, 0
and bh, cl
or al, ah
or dh, bh
xor al, dh
mov cl, byte [esi + 0xee]
xor cl, 1
mov ah, dl
xor ah, 1
mov dh, byte [esi + 0xfa]
xor dh, 0
mov bl, cl
and bl, 0
mov bh, byte [esi + 0xee]
and bh, dh
mov byte [esi + 0xed], al
mov al, ah
and al, 0
and dl, dh
or bl, bh
or al, dl
xor bl, al
or cl, ah
xor cl, 1
or dh, 0
and cl, dh
or bl, cl
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esi + 0xfa]
xor cl, 1
and bl, cl
or al, bl
mov cl, byte [esi + 0xfa]
xor cl, 1
mov dl, ch
xor dl, 1
mov ah, byte [esi + 0xfa]
xor ah, 0
mov dh, cl
and dh, 0
mov bl, ah
and bl, 1
mov bh, dl
and bh, 0
and ch, ah
or dh, bl
or bh, ch
xor dh, bh
or cl, dl
xor cl, 1
or ah, 0
and cl, ah
or dh, cl
xor al, 1
xor dh, 1
mov cl, byte [esi + 0xfa]
xor cl, 1
or al, dh
or cl, 1
xor al, 1
and al, cl
mov cl, byte [esi + 0xed]
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0xfa]
xor ah, 1
mov ch, cl
and ch, 1
mov dh, byte [esi + 0xed]
and dh, ah
mov bl, dl
and bl, 1
and al, ah
or ch, dh
or bl, al
xor ch, bl
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
test ch, 1
jne 0x5485cc
jmp 0x54aeaf
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0xfc]
mov edi, dword [edx + 0x20]
call fcn.0054cda0
call fcn.0054cdb0
sub ecx, 0xe9f16801
sub ecx, 1
add ecx, 0xe9f16801
mov byte [esi + 0xec], al
mov eax, ebx
sub eax, 0xdb4c8347
add eax, ecx
add eax, 0xdb4c8347
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0xec]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0xec]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0xec]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0xec]
xor ch, 0
and ch, 0
mov dh, byte [esi + 0xec]
xor dh, 0
mov bl, dh
and bl, 0
mov bh, byte [esi + 0xec]
xor bh, 1
and bh, 0
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0xec]
xor bl, 0
mov bh, byte [esi + 0xec]
xor bh, 1
or dh, bl
or bh, 1
xor dh, 1
and dh, bh
mov bl, ch
xor bl, 1
mov bh, al
xor bh, bl
and bh, al
mov al, byte [esi + 0xec]
xor al, 0
mov bl, dl
xor bl, al
and bl, dl
mov al, ch
xor al, 1
mov byte [esi + 0xeb], al
mov al, ah
mov byte [esi + 0xea], cl
mov cl, byte [esi + 0xeb]
xor al, cl
and al, ah
mov cl, dh
and cl, bh
xor dh, bh
or cl, dh
mov ah, bl
xor ah, 1
mov dh, al
xor dh, 1
mov bh, byte [esi + 0xec]
xor bh, 0
mov byte [esi + 0xe9], al
mov al, ah
and al, 0
and bl, bh
mov byte [esi + 0xe8], al
mov al, dh
and al, 0
mov byte [esi + 0xe7], al
mov al, byte [esi + 0xe9]
and al, bh
mov byte [esi + 0xe6], al
mov al, byte [esi + 0xe8]
or al, bl
mov bl, byte [esi + 0xe7]
mov byte [esi + 0xe5], al
mov al, byte [esi + 0xe6]
or bl, al
mov al, byte [esi + 0xe5]
xor al, bl
or ah, dh
xor ah, 1
or bh, 0
and ah, bh
or al, ah
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, byte [esi + 0xea]
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0xec]
xor ah, 1
mov bl, al
and bl, 1
mov bh, byte [esi + 0xea]
and bh, ah
mov byte [esi + 0xe4], al
mov al, cl
and al, 1
and dl, ah
or bl, bh
or al, dl
xor bl, al
mov al, byte [esi + 0xe4]
or al, cl
xor al, 1
or ah, 1
and al, ah
or bl, al
mov al, bl
xor al, 1
and al, 0
mov cl, byte [esi + 0xec]
xor cl, 0
and bl, cl
mov dl, byte [esi + 0xec]
xor dl, 1
and dl, 0
and cl, 1
or al, bl
or dl, cl
xor al, dl
mov cl, ch
and cl, 0
xor ch, 0
or cl, ch
xor al, 1
xor cl, 1
mov dl, byte [esi + 0xec]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, dh
and cl, al
xor dh, al
or cl, dh
test cl, 1
call fcn.0054cdc0
jne 0x548819
jmp 0x54aeaf
mov al, 1
call fcn.0054cdd0
call fcn.0054cde0
mov edi, ecx
sub edi, 0xc9a1f598
sub edi, 0x50371ba8
add edi, 0xc9a1f598
add edi, 0x1a7f6e97
sub edi, 1
add edi, 0xe5809169
sub edi, 0xad050c7e
add edi, 0x50371ba8
sub edi, 0x52faf382
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, bl
xor bh, 1
mov cl, ah
xor cl, bh
and cl, ah
mov bh, ah
xor bh, 1
and bh, 0
mov ch, al
xor ch, 0
and ah, ch
mov dl, bl
xor dl, 1
and dl, 0
and bl, ch
or bh, ah
or dl, bl
xor bh, dl
mov dl, cl
xor dl, 1
mov ah, bh
xor ah, 1
xor al, 0
mov ch, dl
and ch, 0
and cl, al
mov bl, ah
and bl, 0
and bh, al
or ch, cl
or bl, bh
xor ch, bl
or dl, ah
xor dl, 1
or al, 0
and dl, al
or ch, dl
test ch, 1
jne 0x5488db
jmp 0x54ad22
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0xe0]
mov dword [eax], ecx
call fcn.00448ee0
add esp, 4
mov dword [esi + 0xdc], eax
call fcn.0054cdf0
cmp eax, 0
jbe 0x549046
call fcn.0054ce00
call fcn.0054e240
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
call fcn.0054ce10
sub esp, 4
mov dword [esp], ecx
call fcn.00557cb0
add esp, 4
mov byte [esi + 0xd7], al
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
add ebx, 0xf30c913
mov byte [esi + 0xd6], al
mov eax, edx
sub eax, ebx
mov ebx, ecx
sub ebx, 1
add eax, ebx
sub ecx, 0xf0cf36ed
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
push ebx
mov ebx, 0xf977b451
xor ebx, 0xf977b45b
cmp edi, ebx
pop ebx
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0xd6]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0xd6]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0xd6]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0xd6]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0xd6]
xor dh, 1
mov bl, dh
and bl, 1
mov bh, byte [esi + 0xd6]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, cl
xor dh, 1
mov bl, byte [esi + 0xd6]
xor bl, 1
mov bh, byte [esi + 0xd6]
xor bh, 0
or dh, bl
or bh, 0
xor dh, 1
and dh, bh
xor al, 1
mov bl, ch
xor bl, 1
mov bh, byte [esi + 0xd6]
xor bh, 1
or al, bl
or bh, 1
xor al, 1
and al, bh
mov bl, dl
xor bl, 1
mov bh, byte [esi + 0xd6]
xor bh, 1
mov byte [esi + 0xd5], al
mov al, byte [esi + 0xd6]
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
xor ah, 1
mov al, ch
xor al, 1
mov bh, byte [esi + 0xd6]
xor bh, 1
or ah, al
or bh, 1
xor ah, 1
and ah, bh
mov al, dh
xor al, 1
mov bh, byte [esi + 0xd5]
xor bh, 1
mov byte [esi + 0xd4], al
mov al, byte [esi + 0xd6]
xor al, 0
mov byte [esi + 0xd3], al
mov al, byte [esi + 0xd4]
and al, 0
mov byte [esi + 0xd2], al
mov al, byte [esi + 0xd3]
and dh, al
mov al, bh
and al, 0
mov byte [esi + 0xd1], al
mov al, byte [esi + 0xd5]
mov byte [esi + 0xd0], cl
mov cl, byte [esi + 0xd3]
and al, cl
mov cl, byte [esi + 0xd2]
or cl, dh
mov dh, byte [esi + 0xd1]
or dh, al
xor cl, dh
mov al, byte [esi + 0xd4]
or al, bh
xor al, 1
mov dh, byte [esi + 0xd3]
or dh, 0
and al, dh
or cl, al
mov al, bl
xor al, 1
mov dh, ah
xor dh, 1
mov bh, byte [esi + 0xd6]
xor bh, 1
mov byte [esi + 0xcf], al
and al, 1
and bl, bh
mov byte [esi + 0xce], al
mov al, dh
and al, 1
and ah, bh
mov byte [esi + 0xcd], al
mov al, byte [esi + 0xce]
or al, bl
mov bl, byte [esi + 0xcd]
or bl, ah
xor al, bl
mov ah, byte [esi + 0xcf]
or ah, dh
xor ah, 1
or bh, 1
and ah, bh
or al, ah
mov ah, cl
xor ah, 1
and ah, 0
mov dh, byte [esi + 0xd6]
xor dh, 0
and cl, dh
mov bl, al
xor bl, 1
and bl, 0
and al, dh
or ah, cl
or bl, al
xor ah, bl
mov al, byte [esi + 0xd0]
and al, dl
mov cl, byte [esi + 0xd0]
xor cl, dl
or al, cl
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0xd6]
xor dl, 0
and al, dl
mov dh, byte [esi + 0xd6]
xor dh, 1
and dh, 0
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, ch
and al, 1
xor ch, 1
or al, ch
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, ah
xor al, 1
mov cl, dl
xor cl, 1
mov ch, byte [esi + 0xd6]
xor ch, 0
mov dh, al
and dh, 0
and ah, ch
mov bl, cl
and bl, 0
and dl, ch
or dh, ah
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x548bf6
jmp 0x54ad27
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x704af5ed
add ebx, 0x2a7719df
sub ebx, 0x704af5ed
add ebx, 0xb0e5967
sub ebx, 1
add ebx, 0xf4f1a699
add ecx, 0x2a7719df
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push ecx
mov ecx, 0xee7c406c
xor ecx, 0xee7c4066
cmp edi, ecx
pop ecx
setl cl
mov ch, cl
xor ch, 1
mov dl, ah
xor dl, ch
and dl, ah
mov ch, ah
xor ch, 1
and ch, 0
mov dh, al
xor dh, 0
and ah, dh
mov bl, cl
xor bl, 1
and bl, 0
and cl, dh
or ch, ah
or bl, cl
xor ch, bl
mov cl, dl
xor cl, 1
mov ah, ch
xor ah, 1
xor al, 0
mov dh, cl
and dh, 0
and dl, al
mov bl, ah
and bl, 0
and ch, al
or dh, dl
or bl, ch
xor dh, bl
or cl, ah
xor cl, 1
or al, 0
and cl, al
or dh, cl
test dh, 1
jne 0x548cbe
jmp 0x54aeb4
mov al, 1
mov ecx, dword [0x80a094]
mov edx, dword [0x80a090]
mov edi, ecx
add edi, 0xbfaef121
add edi, 0xc592ac8b
sub edi, 0xbfaef121
sub edi, 0x440cc0fa
add edi, 0xffffffff
sub edi, 0xbbf33f06
add edi, 0x96eed3a4
add edi, 0x3a6d5375
add edi, 0x69112c5c
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
and bh, 1
mov cl, al
xor cl, 1
mov ch, ah
and ch, cl
mov dl, al
xor dl, 1
and dl, 1
and cl, 1
or bh, ch
or dl, cl
xor bh, dl
mov cl, bl
xor cl, 1
and cl, 1
mov dl, al
xor dl, 1
mov ch, bl
and ch, dl
mov dh, al
xor dh, 1
and dh, 1
and dl, 1
or cl, ch
or dh, dl
xor cl, dh
mov dl, al
xor dl, 1
and dl, 0
mov ch, al
xor ch, 0
mov dh, ch
and dh, 1
mov byte [esi + 0xcc], al
xor al, 1
and al, 0
and ch, 1
or dl, dh
or al, ch
xor dl, al
mov al, byte [esi + 0xcc]
xor al, 1
mov ch, bh
xor ch, al
and ch, bh
xor ah, 1
mov al, dl
xor al, 1
mov dh, byte [esi + 0xcc]
xor dh, 1
or ah, al
or dh, 1
xor ah, 1
and ah, dh
mov al, byte [esi + 0xcc]
xor al, 1
mov dh, cl
xor dh, al
and dh, cl
mov al, dl
xor al, 1
mov byte [esi + 0xcb], al
mov al, bl
mov byte [esi + 0xca], cl
mov cl, byte [esi + 0xcb]
xor al, cl
and al, bl
mov cl, ch
xor cl, 1
mov bl, ah
xor bl, 1
mov byte [esi + 0xc9], al
mov al, byte [esi + 0xcc]
xor al, 1
mov byte [esi + 0xc8], al
mov al, cl
and al, 1
mov byte [esi + 0xc7], al
mov al, byte [esi + 0xc8]
and ch, al
mov al, bl
and al, 1
mov byte [esi + 0xc6], al
mov al, byte [esi + 0xc8]
and ah, al
mov al, byte [esi + 0xc7]
or al, ch
mov ch, byte [esi + 0xc6]
or ch, ah
xor al, ch
or cl, bl
xor cl, 1
mov ah, byte [esi + 0xc8]
or ah, 1
and cl, ah
or al, cl
mov cl, dh
xor cl, 1
mov ah, byte [esi + 0xc9]
xor ah, 1
mov ch, byte [esi + 0xcc]
xor ch, 1
mov bl, cl
and bl, 1
and dh, ch
mov byte [esi + 0xc5], al
mov al, ah
and al, 1
mov byte [esi + 0xc4], al
mov al, byte [esi + 0xc9]
and al, ch
or bl, dh
mov dh, byte [esi + 0xc4]
or dh, al
xor bl, dh
or cl, ah
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
mov al, byte [esi + 0xc5]
xor al, 1
and al, 1
mov cl, byte [esi + 0xcc]
xor cl, 1
mov ah, byte [esi + 0xc5]
and ah, cl
mov ch, bl
xor ch, 1
and ch, 1
and bl, cl
or al, ah
or ch, bl
xor al, ch
mov cl, bh
mov ah, byte [esi + 0xca]
and cl, ah
xor bh, ah
or cl, bh
mov ch, cl
xor ch, 1
and ch, 1
mov dh, byte [esi + 0xcc]
xor dh, 1
and cl, dh
mov bl, byte [esi + 0xcc]
xor bl, 1
and bl, 1
and dh, 1
or ch, cl
or bl, dh
xor ch, bl
mov cl, byte [esi + 0xcc]
xor cl, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0xcc]
xor bl, 1
mov bh, cl
and bh, 1
mov ah, bl
and ah, 1
mov byte [esi + 0xc3], al
mov al, dh
and al, 1
and dl, bl
or bh, ah
or al, dl
xor bh, al
or cl, dh
xor cl, 1
or bl, 1
and cl, bl
or bh, cl
xor bh, 1
mov al, ch
xor al, bh
and al, ch
mov cl, byte [esi + 0xc3]
xor cl, 1
mov dl, al
xor dl, 1
mov ah, byte [esi + 0xcc]
xor ah, 1
mov ch, cl
and ch, 1
mov dh, byte [esi + 0xc3]
and dh, ah
mov bl, dl
and bl, 1
and al, ah
or ch, dh
or bl, al
xor ch, bl
or cl, dl
xor cl, 1
or ah, 1
and cl, ah
or ch, cl
test ch, 1
jne 0x548f82
jmp 0x54aeb4
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054ce20
mov ebx, edx
mov ebx, edx
sub ebx, 0x20ddd771
add ebx, 0x1f88fc21
sub ebx, 0xdf22288f
add ebx, 0x5d03b11
sub ebx, 1
sub ebx, 0x5d03b11
add ecx, 0xe07703df
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 1
or ch, dl
or dh, 1
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
mov dh, cl
and dh, dl
xor cl, 1
and ah, cl
or dh, ah
mov cl, ch
xor cl, 1
mov dl, dh
xor dl, 1
xor al, 0
mov ah, cl
and ah, 0
and ch, al
mov bl, dl
and bl, 0
and dh, al
or ah, ch
or bl, dh
xor ah, bl
or cl, dl
xor cl, 1
or al, 0
and cl, al
or ah, cl
test ah, 1
jne 0x549041
jmp 0x54ad27
jmp 0x549046
jmp 0x54904b
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x7a0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [esi + 0x7dc]
call fcn.00517260
jmp 0x547a29
jmp 0x549074
jmp 0x549768
mov eax, dword [0x7fa1e8]
mov ecx, dword [esi + 0x8b0]
mov dword [ecx], eax
call fcn.0054ce30
sub esp, 4
mov eax, esp
mov edx, dword [esi + 0x79c]
call fcn.0054ce40
mov ecx, dword [esi + 0x890]
call fcn.00510660
mov eax, dword [esi + 0x79c]
sub esp, 4
mov ecx, esp
mov edx, dword [esi + 0x798]
call fcn.0054ce50
mov ecx, dword [esi + 0x890]
mov dword [esi + 0xbc], eax
call fcn.004df290
mov eax, dword [esi + 0x798]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esi + 0xbc]
call fcn.00429190
mov byte [esi + 0xbb], al
mov al, byte [esi + 0xbb]
test al, 1
jne 0x5490fe
jmp 0x549763
mov ecx, dword [esi + 0x79c]
call fcn.0054e240
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xb4]
cmp dword [eax + 8], 0
je 0x54953f
mov al, 1
mov ecx, 0
call fcn.0054ce60
mov edi, dword [0x80a090]
mov ebx, ecx
add ebx, 0xdd63e43a
mov byte [esi + 0xb3], al
mov eax, edx
add eax, ebx
sub ecx, 1
add eax, ecx
add eax, 0x2d20d7b9
add eax, 0x229c1bc6
add eax, 0xd2df2847
imul edx, eax
and edx, 1
push ebx
mov ebx, 0xc5398fb
xor ebx, 0xc5398fb
cmp edx, ebx
pop ebx
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0xb3]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
and al, cl
xor ch, cl
or al, ch
test al, 1
jne 0x5491c5
jmp 0x54aeb9
mov eax, 0
cmp dword [0x8001e8], 0
setne cl
call fcn.0054ce70
call fcn.0054ce80
mov ebx, edx
mov ebx, eax
sub ebx, 1
add ebx, 0
mov dword [esi + 0xac], eax
sub eax, edx
call fcn.0054ce90
mov eax, dword [esi + 0xac]
sub eax, ebx
mov ebx, dword [esi + 0xa8]
add ebx, eax
mov eax, dword [esi + 0xac]
sub eax, ebx
imul edx, eax
and edx, 1
cmp edx, 0
sete ch
cmp edi, 0xa
setl al
mov ah, al
xor ah, 1
mov dl, ch
xor dl, ah
and dl, ch
mov ah, ch
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and ch, al
or dh, ch
mov al, dl
and al, dh
xor dl, dh
or al, dl
test al, 1
mov byte [esi + 0xa7], cl
jne 0x549266
jmp 0x54aeb9
mov al, byte [esi + 0xa7]
test al, 1
jne 0x549279
jmp 0x5492bc
mov eax, dword [0x8001e8]
call fcn.0054cea0
mov dword [esi + 0xa0], eax
call fcn.0054e240
call fcn.0054ceb0
call fcn.0054cec0
call fcn.0054ced0
sub esp, 8
mov edx, esp
mov dword [edx], ecx
call fcn.0054cee0
mov ecx, dword [esi + 0xa0]
call ecx
mov dword [esi + 0x98], eax
jmp 0x54953f
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0xa1edb2c6
mov ebx, eax
mov ebx, edx
sub ebx, ecx
add ebx, 0x92075d8d
sub ebx, 1
add ebx, 0x6df8a273
add ebx, 0x4f666589
sub ebx, 0x5e124d3a
add ebx, 0xb0999a77
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
or ch, dl
or al, 1
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x549353
jmp 0x54ad2c
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054cef0
sub ecx, 0xdc8d0b6a
mov ebx, edx
add ebx, ecx
sub ebx, 0x89205abc
add ebx, 0xffffffff
sub ebx, 0x76dfa544
sub ebx, 0x259a88ec
add ebx, 0xdc8d0b6a
sub ebx, 0xda657714
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
push edx
mov edx, 0xfddb1f71
xor edx, 0xfddb1f7b
cmp edi, edx
pop edx
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 0
mov dh, al
xor dh, 0
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
mov bh, bl
and bh, 0
mov byte [esi + 0x97], al
xor al, 1
and al, 1
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, ch
xor al, 1
mov bl, byte [esi + 0x97]
xor bl, 0
mov bh, byte [esi + 0x97]
xor bh, 0
or al, bl
or bh, 0
xor al, 1
and al, bh
mov bl, dh
xor bl, 1
mov bh, ah
xor bh, bl
and bh, ah
mov ah, byte [esi + 0x97]
xor ah, 0
mov bl, dl
xor bl, ah
and bl, dl
mov ah, dh
xor ah, 1
mov byte [esi + 0x96], al
mov al, cl
xor al, ah
and al, cl
mov cl, byte [esi + 0x96]
and cl, bh
mov ah, byte [esi + 0x96]
xor ah, bh
or cl, ah
mov ah, bl
xor ah, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x95], al
mov al, byte [esi + 0x97]
xor al, 0
mov byte [esi + 0x94], al
mov al, ah
and al, 0
mov byte [esi + 0x93], al
mov al, byte [esi + 0x94]
and bl, al
mov al, bh
and al, 0
mov byte [esi + 0x92], al
mov al, byte [esi + 0x95]
mov byte [esi + 0x91], cl
mov cl, byte [esi + 0x94]
and al, cl
mov cl, byte [esi + 0x93]
or cl, bl
mov bl, byte [esi + 0x92]
or bl, al
xor cl, bl
or ah, bh
xor ah, 1
mov al, byte [esi + 0x94]
or al, 0
and ah, al
or cl, ah
mov al, byte [esi + 0x91]
xor al, 1
mov ah, cl
and ah, al
xor cl, 1
mov al, byte [esi + 0x91]
and al, cl
or ah, al
mov al, ch
and al, dl
xor ch, dl
or al, ch
mov cl, al
xor cl, 1
and cl, 1
mov dl, byte [esi + 0x97]
xor dl, 1
and al, dl
or cl, al
mov al, dh
and al, 0
xor dh, 0
or al, dh
xor al, 1
mov dl, cl
xor dl, al
and dl, cl
mov al, ah
and al, dl
xor ah, dl
or al, ah
test al, 1
jne 0x54953a
jmp 0x54ad2c
jmp 0x54953f
mov ecx, dword [esi + 0x79c]
call fcn.0054e240
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x8c]
mov ecx, dword [eax + 0x20]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
call fcn.00448ee0
add esp, 4
mov dword [esi + 0x88], eax
call fcn.0054cf00
cmp eax, 0
jbe 0x54973a
mov ecx, dword [esi + 0x79c]
call fcn.0054e240
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x84]
call fcn.0054cf10
sub esp, 4
mov dword [esp], ecx
call fcn.00557cb0
add esp, 4
mov byte [esi + 0x83], al
mov al, 1
mov ecx, 0x57cf88
mov ecx, dword [ecx]
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 0x447b40
mov ebx, ecx
sub ebx, edx
mov byte [esi + 0x82], al
mov eax, 0x447bc4
mov eax, ecx
sub eax, 0xf9323aa
add ebx, eax
sub ecx, ebx
add ecx, 0xb051e32b
sub ecx, 1
sub ecx, 0xb051e32b
sub ecx, 0xc6411d85
add ecx, 0xf06cdc56
add ecx, 0xc6411d85
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push edx
mov edx, 0x83dac328
xor edx, 0x83dac322
cmp edi, edx
pop edx
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x82]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
mov ch, ah
and ch, dl
xor ah, 1
and al, ah
or ch, al
mov al, cl
and al, ch
xor cl, ch
or al, cl
test al, 1
jne 0x54966c
jmp 0x54ad31
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x449ad6f4
mov byte [esi + 0x81], al
mov eax, 0x40
mov eax, edx
sub eax, ebx
add eax, 0xa5f5f45c
sub eax, 1
sub eax, 0xa5f5f45c
sub ecx, 0x449ad6f4
add eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0x81]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
xor al, 1
mov dl, cl
xor dl, 1
mov ah, byte [esi + 0x81]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, dl
and bl, 1
and cl, ah
or dh, ch
or bl, cl
xor dh, bl
or al, dl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
jne 0x549735
jmp 0x54ad31
jmp 0x54973a
jmp 0x54973f
sub esp, 8
mov eax, esp
call fcn.0054cf20
call fcn.0054cf30
call fcn.0054cf40
mov ecx, dword [esi + 0x79c]
call fcn.00517260
jmp 0x5490a6
jmp 0x549768
call fcn.0045aba0
call fcn.00460dc0
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0x6aa767e6
add ebx, 0x7c45f965
add ebx, 0x6aa767e6
sub ebx, 0xae5889f6
sub ebx, 1
add ebx, 0xae5889f6
sub ecx, 0x83ba069b
sub ebx, ecx
imul edx, ebx
and edx, 1
push eax
mov eax, 0x39dd0322
xor eax, 0x39dd0322
cmp edx, eax
pop eax
sete ah
push ebx
mov ebx, 0x59c1c885
xor ebx, 0x59c1c88f
cmp edi, ebx
pop ebx
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x80], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x80]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x7f], al
mov al, byte [esi + 0x80]
xor al, 0
mov byte [esi + 0x7e], al
mov al, byte [esi + 0x7f]
or cl, al
mov al, byte [esi + 0x7e]
or al, 0
xor cl, 1
and cl, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov bl, ah
and bl, cl
xor ah, cl
or bl, ah
mov cl, al
xor cl, 1
mov ah, bl
and ah, cl
xor bl, 1
and al, bl
or ah, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x80]
xor bl, 1
mov bh, al
and bh, 1
and ch, bl
mov byte [esi + 0x7d], al
mov al, cl
and al, 1
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x7d]
or al, cl
xor al, 1
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x80]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [esi + 0x80]
xor cl, 0
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x80]
xor ch, 1
mov bl, cl
and bl, 1
mov bh, ch
and bh, 0
mov byte [esi + 0x7c], al
mov al, dl
and al, 1
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or bl, cl
mov al, byte [esi + 0x7c]
xor al, 1
xor bl, 1
mov cl, byte [esi + 0x80]
xor cl, 1
or al, bl
or cl, 1
xor al, 1
and al, cl
mov cl, ah
xor cl, 1
mov dl, al
xor dl, 1
mov ch, byte [esi + 0x80]
xor ch, 1
mov dh, cl
and dh, 1
and ah, ch
mov bl, dl
and bl, 1
and al, ch
or dh, ah
or bl, al
xor dh, bl
or cl, dl
xor cl, 1
or ch, 1
and cl, ch
or dh, cl
test dh, 1
jne 0x54996f
jmp 0x54aebe
mov al, 1
mov ecx, 0x57d128
mov ecx, dword [ecx]
mov edx, dword [esi + 0x8b0]
call fcn.0054cf50
mov ebx, dword [esi + 0x8b8]
mov dword [ebx], edi
mov edi, dword [esi + 0x894]
call fcn.0054cf60
mov edx, dword [0x80a094]
call fcn.0054cf70
mov ebx, edx
sub ebx, 0xa40b691b
add ebx, 0x863eeaf4
sub ebx, 0x5bf496e5
add ebx, 0x1c619d7a
add ebx, 0xffffffff
add ebx, 0xe39e6286
add ecx, 0x863eeaf4
sub ebx, ecx
imul edx, ebx
and edx, 1
push ecx
mov ecx, 0xd7ba1ddf
xor ecx, 0xd7ba1ddf
cmp edx, ecx
pop ecx
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x7b], al
xor al, 0
or bl, bh
or al, 0
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x7b]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
mov al, dh
xor al, 1
mov byte [esi + 0x7a], al
mov al, cl
mov byte [esi + 0x79], cl
mov cl, byte [esi + 0x7a]
xor al, cl
mov cl, byte [esi + 0x79]
and al, cl
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
mov bl, ah
and bl, al
xor ah, al
or bl, ah
mov al, cl
xor al, 1
and al, 0
mov ah, byte [esi + 0x7b]
xor ah, 0
and cl, ah
mov bh, bl
xor bh, 1
and bh, 0
and bl, ah
or al, cl
or bh, bl
xor al, bh
mov cl, ch
and cl, dl
xor ch, dl
or cl, ch
mov dl, cl
xor dl, 1
and dl, 1
mov ah, byte [esi + 0x7b]
xor ah, 1
and cl, ah
mov ch, byte [esi + 0x7b]
xor ch, 1
and ch, 1
and ah, 1
or dl, cl
or ch, ah
xor dl, ch
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor dl, 1
xor cl, 1
mov ah, byte [esi + 0x7b]
xor ah, 0
or dl, cl
or ah, 0
xor dl, 1
and dl, ah
mov cl, al
xor cl, 1
mov ah, dl
xor ah, 1
mov ch, byte [esi + 0x7b]
xor ch, 1
mov dh, cl
and dh, 1
and al, ch
mov bl, ah
and bl, 1
and dl, ch
or dh, al
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or ch, 1
and cl, ch
or dh, cl
test dh, 1
jne 0x549b24
jmp 0x54aebe
jmp 0x549b29
call fcn.0054cf80
call fcn.0050c0c0
mov ecx, dword [esi + 0x890]
call fcn.004291f0
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0x72da1f8c
mov byte [esi + 0x78], al
mov eax, edx
add eax, ebx
mov ebx, ecx
sub ebx, 1
add eax, ebx
sub ecx, 0x72da1f8c
sub eax, ecx
imul edx, eax
and edx, 1
push ebx
mov ebx, 0x8a919d82
xor ebx, 0x8a919d82
cmp edx, ebx
pop ebx
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x78]
xor dl, 1
or cl, ch
or dl, 1
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x78]
xor ch, 0
and al, ch
mov dh, ah
xor dh, 1
and dh, 0
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x549be5
jmp 0x54aee0
mov ecx, dword [esi + 0x898]
call fcn.004dd610
call fcn.0054cf90
call fcn.00506f10
mov ecx, dword [esi + 0x8a8]
call fcn.00506f10
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x8b8]
mov edi, dword [edx]
mov ebx, dword [0x80a094]
call fcn.0054cfa0
mov byte [esi + 0x77], al
mov eax, 0x447cf0
mov eax, ebx
sub eax, 0xbab8a712
add eax, 0x7c97e8d7
add eax, 0xbab8a712
mov dword [esi + 0x70], eax
mov eax, ecx
sub eax, 1
call fcn.0054cfb0
mov eax, dword [esi + 0x70]
mov dword [esi + 0x68], ecx
mov ecx, dword [esi + 0x6c]
add eax, ecx
mov ecx, dword [esi + 0x68]
add ecx, 0x7c97e8d7
sub eax, ecx
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
mov dl, ah
and dl, cl
xor ah, 1
and al, ah
or dl, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x77]
xor ah, 1
mov dh, al
and dh, 1
and ch, ah
mov bl, cl
and bl, 1
and dl, ah
or dh, ch
or bl, dl
xor dh, bl
or al, cl
xor al, 1
or ah, 1
and al, ah
or dh, al
test dh, 1
mov dword [esi + 0x64], edi
jne 0x549cd3
jmp 0x54aee0
call fcn.0054cfc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 4
call fcn.0054cfd0
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x60]
call fcn.0054cfe0
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, dword [esi + 0x60]
call fcn.0054cff0
mov eax, 0x40000
mov eax, ecx
call fcn.004487b0
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x54], eax
mov eax, ecx
call fcn.004487b0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x8cc]
mov dword [ecx], edx
mov edi, dword [esi + 0x54]
mov dword [edi], 0
mov ecx, eax
call fcn.004d2100
call fcn.0054d000
jmp 0x537c8b
jmp 0x5385ab
jmp 0x5392a6
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
sub ebx, 0xb498b623
sub ebx, 0xf6e21278
sub ebx, 0x4b6749dd
add ebx, 0xb6712f7f
sub ebx, 1
add ebx, 0x498ed081
mov byte [esi + 0x4f], al
mov eax, ecx
sub eax, ebx
mov ebx, ecx
sub ebx, 0xf6e21278
add eax, ebx
sub ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete al
push ecx
mov ecx, 0x25e48268
xor ecx, 0x25e48262
cmp edi, ecx
pop ecx
setl ah
mov cl, al
xor cl, 1
and cl, 0
mov ch, byte [esi + 0x4f]
xor ch, 0
mov dl, al
and dl, ch
mov dh, byte [esi + 0x4f]
xor dh, 1
and dh, 0
and ch, 1
or cl, dl
or dh, ch
xor cl, dh
mov dl, ah
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x4f]
xor ch, 1
mov dh, ah
and dh, ch
or dl, dh
mov ch, byte [esi + 0x4f]
xor ch, 1
and ch, 1
mov dh, byte [esi + 0x4f]
xor dh, 1
mov bl, dh
and bl, 1
mov bh, byte [esi + 0x4f]
xor bh, 1
and bh, 1
and dh, 1
or ch, bl
or bh, dh
xor ch, bh
mov dh, byte [esi + 0x4f]
xor dh, 1
mov bl, cl
xor bl, dh
and bl, cl
xor al, 1
mov dh, ch
xor dh, 1
mov bh, byte [esi + 0x4f]
xor bh, 1
or al, dh
or bh, 1
xor al, 1
and al, bh
mov dh, byte [esi + 0x4f]
xor dh, 1
mov bh, dl
xor bh, dh
and bh, dl
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x4e], al
mov al, byte [esi + 0x4f]
xor al, 1
or ah, dh
or al, 1
xor ah, 1
and ah, al
mov al, bl
xor al, 1
mov dh, byte [esi + 0x4e]
xor dh, 1
mov byte [esi + 0x4d], al
mov al, byte [esi + 0x4f]
xor al, 0
mov byte [esi + 0x4c], al
mov al, byte [esi + 0x4d]
and al, 0
mov byte [esi + 0x4b], al
mov al, byte [esi + 0x4c]
and bl, al
mov al, dh
and al, 0
mov byte [esi + 0x4a], al
mov al, byte [esi + 0x4e]
mov byte [esi + 0x49], cl
mov cl, byte [esi + 0x4c]
and al, cl
mov cl, byte [esi + 0x4b]
or cl, bl
mov bl, byte [esi + 0x4a]
or bl, al
xor cl, bl
mov al, byte [esi + 0x4d]
or al, dh
xor al, 1
mov dh, byte [esi + 0x4c]
or dh, 0
and al, dh
or cl, al
mov al, bh
and al, ah
xor bh, ah
or al, bh
mov ah, cl
xor ah, 1
mov dh, al
and dh, ah
xor al, 1
and cl, al
or dh, cl
mov al, byte [esi + 0x49]
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x4f]
xor ah, 0
mov bl, al
and bl, 0
mov bh, byte [esi + 0x49]
and bh, ah
mov byte [esi + 0x48], al
mov al, cl
and al, 0
and dl, ah
or bl, bh
or al, dl
xor bl, al
mov al, byte [esi + 0x48]
or al, cl
xor al, 1
or ah, 0
and al, ah
or bl, al
mov al, bl
xor al, 1
and al, 1
mov cl, byte [esi + 0x4f]
xor cl, 1
and bl, cl
or al, bl
mov cl, ch
and cl, 1
xor ch, 1
or cl, ch
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
mov al, dh
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x4f]
xor ah, 1
mov ch, al
and ch, 1
and dh, ah
mov bl, cl
and bl, 1
and dl, ah
or ch, dh
or bl, dl
xor ch, bl
or al, cl
xor al, 1
or ah, 1
and al, ah
or ch, al
test ch, 1
jne 0x549f70
jmp 0x54af05
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
add ecx, 0xffffffff
sub ecx, 0
mov ebx, 0x447cd8
mov ebx, edx
add ebx, 0xdd4cc789
add ebx, ecx
sub ebx, 0xdd4cc789
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, ch
xor bl, 1
mov bh, al
xor bh, 0
mov byte [esi + 0x47], al
xor al, 1
or bl, bh
or al, 1
xor bl, 1
and bl, al
mov al, dh
xor al, 1
mov bh, ah
xor bh, al
and bh, ah
mov al, byte [esi + 0x47]
xor al, 0
mov ah, dl
xor ah, al
and ah, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x46], al
mov al, byte [esi + 0x47]
xor al, 0
mov byte [esi + 0x45], al
mov al, byte [esi + 0x46]
or cl, al
mov al, byte [esi + 0x45]
or al, 0
xor cl, 1
and cl, al
mov al, bl
xor al, 1
mov byte [esi + 0x44], al
mov al, bh
xor al, 1
mov byte [esi + 0x43], al
mov al, byte [esi + 0x47]
xor al, 0
mov byte [esi + 0x42], al
mov al, byte [esi + 0x44]
and al, 0
mov byte [esi + 0x41], al
mov al, byte [esi + 0x42]
and bl, al
mov al, byte [esi + 0x43]
and al, 0
mov byte [esi + 0x40], al
mov al, byte [esi + 0x42]
and bh, al
mov al, byte [esi + 0x41]
or al, bl
mov bl, byte [esi + 0x40]
or bl, bh
xor al, bl
mov bl, byte [esi + 0x44]
mov bh, byte [esi + 0x43]
or bl, bh
xor bl, 1
mov bh, byte [esi + 0x42]
or bh, 0
and bl, bh
or al, bl
mov bl, ah
xor bl, 1
mov bh, cl
xor bh, 1
mov byte [esi + 0x3f], al
mov al, byte [esi + 0x47]
xor al, 1
mov byte [esi + 0x3e], al
mov al, bl
and al, 1
mov byte [esi + 0x3d], al
mov al, byte [esi + 0x3e]
and ah, al
mov al, bh
and al, 1
mov byte [esi + 0x3c], al
mov al, byte [esi + 0x3e]
and cl, al
mov al, byte [esi + 0x3d]
or al, ah
mov ah, byte [esi + 0x3c]
or ah, cl
xor al, ah
or bl, bh
xor bl, 1
mov cl, byte [esi + 0x3e]
or cl, 1
and bl, cl
or al, bl
mov cl, byte [esi + 0x3f]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x3f]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x47]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x3b], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x3b]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x47]
xor cl, 1
and bh, cl
or al, bh
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
mov al, ah
and al, dl
xor ah, dl
or al, ah
test al, 1
jne 0x54a17a
jmp 0x54af05
jmp 0x539f6b
jmp 0x53a68a
jmp 0x53a98e
call fcn.0054d010
call fcn.00506f10
jmp 0x53b01e
call fcn.0054d020
mov ecx, dword [esi + 0x678]
mov dword [eax], ecx
mov edx, dword [esi + 0x674]
mov dword [eax + 4], edx
jmp 0x53b479
jmp 0x53bde2
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 0x447cd8
mov ebx, edx
add ebx, 0xa4725c45
sub ebx, 0xa23f0c0f
sub ebx, 0xa4725c45
add ebx, 0x6843987a
add ebx, 0xffffffff
sub ebx, 0x6843987a
sub ecx, 0xa23f0c0f
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 0
mov dl, al
xor dl, 0
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 0
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 0
mov bl, al
xor bl, 0
mov bh, bl
and bh, 0
mov byte [esi + 0x3a], al
xor al, 1
and al, 0
and bl, 1
or dh, bh
or al, bl
xor dh, al
mov al, byte [esi + 0x3a]
xor al, 0
mov bl, ch
xor bl, al
and bl, ch
xor ah, 1
mov al, dh
xor al, 1
mov bh, byte [esi + 0x3a]
xor bh, 0
or ah, al
or bh, 0
xor ah, 1
and ah, bh
mov al, byte [esi + 0x3a]
xor al, 0
mov bh, dl
xor bh, al
and bh, dl
xor cl, 1
mov al, dh
xor al, 1
mov byte [esi + 0x39], al
mov al, byte [esi + 0x3a]
xor al, 1
mov byte [esi + 0x38], al
mov al, byte [esi + 0x39]
or cl, al
mov al, byte [esi + 0x38]
or al, 1
xor cl, 1
and cl, al
mov al, bl
and al, ah
xor bl, ah
or al, bl
mov ah, bh
and ah, cl
xor bh, cl
or ah, bh
mov cl, al
xor cl, 1
mov bl, ah
and bl, cl
xor ah, 1
and al, ah
or bl, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov ah, byte [esi + 0x3a]
xor ah, 0
mov bh, al
and bh, 0
and ch, ah
mov byte [esi + 0x37], al
mov al, cl
and al, 0
and dl, ah
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x37]
or al, cl
xor al, 1
or ah, 0
and al, ah
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x3a]
xor cl, 1
and bh, cl
or al, bh
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x3a]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, bl
and cl, al
xor bl, al
or cl, bl
test cl, 1
jne 0x54a355
jmp 0x54af0a
mov al, 1
mov ecx, 0
call fcn.0054d030
mov edi, dword [0x80a090]
mov ebx, ecx
sub ebx, 0xe498dc35
mov byte [esi + 0x36], al
mov eax, edx
add eax, ebx
sub ecx, 1
add eax, ecx
add eax, 0xaed960a3
sub eax, 0x1b6723cb
sub eax, 0xaed960a3
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
xor cl, 1
and cl, 1
mov ch, byte [esi + 0x36]
xor ch, 1
mov dl, al
and dl, ch
or cl, dl
mov dl, ah
xor dl, 1
and dl, 0
mov ch, byte [esi + 0x36]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x36]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, byte [esi + 0x36]
xor ch, 0
and ch, 1
mov dh, byte [esi + 0x36]
xor dh, 1
and dh, 0
or ch, dh
mov dh, byte [esi + 0x36]
xor dh, 0
mov bl, cl
xor bl, dh
and bl, cl
mov dh, ch
xor dh, 1
mov bh, al
xor bh, dh
and bh, al
mov al, dl
xor al, 1
mov dh, byte [esi + 0x36]
xor dh, 0
mov byte [esi + 0x35], al
mov al, byte [esi + 0x36]
xor al, 0
mov byte [esi + 0x34], al
mov al, byte [esi + 0x35]
or al, dh
mov dh, byte [esi + 0x34]
or dh, 0
xor al, 1
and al, dh
xor ah, 1
mov dh, ch
xor dh, 1
mov byte [esi + 0x33], al
mov al, byte [esi + 0x36]
xor al, 1
or ah, dh
or al, 1
xor ah, 1
and ah, al
mov al, bl
and al, bh
xor bl, bh
or al, bl
mov dh, byte [esi + 0x33]
and dh, ah
mov bl, byte [esi + 0x33]
xor bl, ah
or dh, bl
mov ah, al
xor ah, 1
and ah, 0
mov bl, byte [esi + 0x36]
xor bl, 0
and al, bl
mov bh, dh
xor bh, 1
and bh, 0
and dh, bl
or ah, al
or bh, dh
xor ah, bh
mov al, cl
xor al, 1
mov dh, dl
xor dh, 1
mov bl, byte [esi + 0x36]
xor bl, 0
mov bh, al
and bh, 0
and cl, bl
mov byte [esi + 0x32], al
mov al, dh
and al, 0
and dl, bl
or bh, cl
or al, dl
xor bh, al
mov al, byte [esi + 0x32]
or al, dh
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x36]
xor cl, 1
and bh, cl
or al, bh
mov cl, ch
and cl, 0
xor ch, 0
or cl, ch
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x36]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, ah
xor cl, 1
mov dl, al
xor dl, 1
mov ch, byte [esi + 0x36]
xor ch, 0
mov dh, cl
and dh, 0
and ah, ch
mov bl, dl
and bl, 0
and al, ch
or dh, ah
or bl, al
xor dh, bl
or cl, dl
xor cl, 1
or ch, 0
and cl, ch
or dh, cl
test dh, 1
jne 0x54a51c
jmp 0x54af0a
jmp 0x53c12a
jmp 0x53c891
jmp 0x53eb0d
jmp 0x53f094
jmp 0x53f5ae
jmp 0x53fe2e
jmp 0x5400e5
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054d040
sub ecx, 0x1b25a725
mov ebx, edx
sub ebx, ecx
sub ebx, 0x921d347a
sub ebx, 1
add ebx, 0x921d347a
sub ebx, 0x81487702
add ebx, 0xe4da58db
add ebx, 0x81487702
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
or ch, dh
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
or dl, bl
mov dh, al
xor dh, 0
and dh, 1
mov bl, al
xor bl, 1
and bl, 0
or dh, bl
mov bl, al
xor bl, 0
mov bh, ch
xor bh, bl
and bh, ch
xor ah, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x31], al
xor al, 0
or ah, bl
or al, 0
xor ah, 1
and ah, al
mov al, byte [esi + 0x31]
xor al, 0
mov bl, dl
xor bl, al
and bl, dl
mov al, dh
xor al, 1
mov byte [esi + 0x30], al
mov al, cl
mov byte [esi + 0x2f], cl
mov cl, byte [esi + 0x30]
xor al, cl
mov cl, byte [esi + 0x2f]
and al, cl
mov cl, bh
and cl, ah
xor bh, ah
or cl, bh
mov ah, bl
xor ah, 1
mov bh, al
xor bh, 1
mov byte [esi + 0x2e], al
mov al, byte [esi + 0x31]
xor al, 1
mov byte [esi + 0x2d], al
mov al, ah
and al, 1
mov byte [esi + 0x2c], al
mov al, byte [esi + 0x2d]
and bl, al
mov al, bh
and al, 1
mov byte [esi + 0x2b], al
mov al, byte [esi + 0x2e]
mov byte [esi + 0x2a], cl
mov cl, byte [esi + 0x2d]
and al, cl
mov cl, byte [esi + 0x2c]
or cl, bl
mov bl, byte [esi + 0x2b]
or bl, al
xor cl, bl
or ah, bh
xor ah, 1
mov al, byte [esi + 0x2d]
or al, 1
and ah, al
or cl, ah
mov al, byte [esi + 0x2a]
xor al, 1
mov ah, cl
and ah, al
xor cl, 1
mov al, byte [esi + 0x2a]
and al, cl
or ah, al
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x31]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x29], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x29]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x31]
xor cl, 1
and bh, cl
or al, bh
mov cl, dh
and cl, 0
xor dh, 0
or cl, dh
xor al, 1
xor cl, 1
mov dl, byte [esi + 0x31]
xor dl, 1
or al, cl
or dl, 1
xor al, 1
and al, dl
mov cl, ah
and cl, al
xor ah, al
or cl, ah
test cl, 1
jne 0x54a6f3
jmp 0x54af0f
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x7fc]
mov edi, dword [esi + 0x49c]
mov dword [edx], edi
call fcn.0054d050
mov edx, dword [0x80a090]
mov edi, ebx
add edi, 0xed2d6d3
sub edi, 0xdcb3fb8c
add edi, 0xf12d292d
add edi, 0x8ab76af7
add edi, 0xffffffff
sub edi, 0x8ab76af7
sub ecx, 0xdcb3fb8c
sub edi, ecx
imul ebx, edi
and ebx, 1
cmp ebx, 0
sete ah
cmp edx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
mov dh, al
xor dh, 0
or ch, dl
or dh, 0
xor ch, 1
and ch, dh
mov dl, ah
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
and ah, dh
mov bl, cl
xor bl, 1
and bl, 1
and cl, dh
or dl, ah
or bl, cl
xor dl, bl
mov cl, ch
xor cl, 1
mov ah, dl
xor ah, 1
xor al, 1
mov dh, cl
and dh, 1
and ch, al
mov bl, ah
and bl, 1
and dl, al
or dh, ch
or bl, dl
xor dh, bl
or cl, ah
xor cl, 1
or al, 1
and cl, al
or dh, cl
test dh, 1
jne 0x54a7cd
jmp 0x54af0f
jmp 0x540815
jmp 0x5409fe
mov eax, 0
mov ecx, dword [esi + 0x7ec]
mov edx, dword [esi + 0x47c]
mov dword [ecx], edx
call fcn.0054d060
call fcn.0054d070
mov ecx, eax
mov ecx, eax
sub ecx, 0x25e5cd32
sub ecx, 1
add ecx, 0x25e5cd32
sub eax, ecx
add ebx, eax
mov eax, dword [esi + 0x7ec]
call fcn.0054d080
mov dword [ecx + 4], ebx
mov ecx, dword [esi + 0x7f4]
call fcn.0054d090
mov eax, dword [eax]
call fcn.0054d0a0
jmp 0x540d40
sub esp, 4
mov eax, esp
call fcn.0054d0b0
mov dword [eax], ecx
mov ecx, dword [esi + 0x8a4]
call fcn.004ff990
call fcn.0054d0c0
mov dword [esi + 0x24], eax
call fcn.00506f10
call fcn.0054d0d0
call fcn.0052df00
mov dword [esi + 0x20], eax
jmp 0x541a8e
jmp 0x541e32
jmp 0x542766
jmp 0x5430ef
jmp 0x543be5
jmp 0x544542
jmp 0x544a29
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
call fcn.0054d0e0
mov ebx, edx
add ebx, 0x6a2649a8
sub ebx, 0xbf13780e
add ebx, 0x95d9b658
sub ebx, 0x14b5f938
sub ebx, 1
sub ebx, 0xeb4a06c8
add ecx, 0x40ec87f2
sub ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
and ch, 1
mov dl, al
xor dl, 1
mov dh, ah
and dh, dl
mov bl, al
xor bl, 1
and bl, 1
and dl, 1
or ch, dh
or bl, dl
xor ch, bl
mov dl, cl
xor dl, 1
and dl, 1
mov dh, al
xor dh, 1
mov bl, cl
and bl, dh
mov bh, al
xor bh, 1
and bh, 1
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 1
and dh, 1
mov bl, al
xor bl, 1
and bl, 1
or dh, bl
mov bl, al
xor bl, 1
mov bh, ch
xor bh, bl
and bh, ch
xor ah, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x1f], al
xor al, 1
or ah, bl
or al, 1
xor ah, 1
and ah, al
mov al, dl
xor al, 1
mov bl, byte [esi + 0x1f]
xor bl, 1
mov byte [esi + 0x1e], al
mov al, byte [esi + 0x1f]
xor al, 1
mov byte [esi + 0x1d], al
mov al, byte [esi + 0x1e]
or al, bl
mov bl, byte [esi + 0x1d]
or bl, 1
xor al, 1
and al, bl
xor cl, 1
mov bl, dh
xor bl, 1
mov byte [esi + 0x1c], al
mov al, byte [esi + 0x1f]
xor al, 1
or cl, bl
or al, 1
xor cl, 1
and cl, al
mov al, bh
and al, ah
xor bh, ah
or al, bh
mov ah, byte [esi + 0x1c]
xor ah, 1
mov bl, cl
xor bl, 1
mov bh, byte [esi + 0x1f]
xor bh, 0
mov byte [esi + 0x1b], al
mov al, ah
and al, 0
mov byte [esi + 0x1a], al
mov al, byte [esi + 0x1c]
and al, bh
mov byte [esi + 0x19], al
mov al, bl
and al, 0
and cl, bh
mov byte [esi + 0x18], al
mov al, byte [esi + 0x1a]
mov byte [esi + 0x17], cl
mov cl, byte [esi + 0x19]
or al, cl
mov cl, byte [esi + 0x18]
mov byte [esi + 0x16], al
mov al, byte [esi + 0x17]
or cl, al
mov al, byte [esi + 0x16]
xor al, cl
or ah, bl
xor ah, 1
or bh, 0
and ah, bh
or al, ah
mov cl, byte [esi + 0x1b]
xor cl, 1
mov ah, al
and ah, cl
xor al, 1
mov cl, byte [esi + 0x1b]
and cl, al
or ah, cl
mov al, ch
xor al, 1
mov cl, dl
xor cl, 1
mov bl, byte [esi + 0x1f]
xor bl, 0
mov bh, al
and bh, 0
and ch, bl
mov byte [esi + 0x15], al
mov al, cl
and al, 0
and dl, bl
or bh, ch
or al, dl
xor bh, al
mov al, byte [esi + 0x15]
or al, cl
xor al, 1
or bl, 0
and al, bl
or bh, al
mov al, bh
xor al, 1
and al, 1
mov cl, byte [esi + 0x1f]
xor cl, 1
and bh, cl
or al, bh
mov cl, byte [esi + 0x1f]
xor cl, 1
mov dl, dh
xor dl, 1
mov ch, byte [esi + 0x1f]
xor ch, 0
mov bl, cl
and bl, 0
mov bh, ch
and bh, 1
mov byte [esi + 0x14], al
mov al, dl
and al, 0
and dh, ch
or bl, bh
or al, dh
xor bl, al
or cl, dl
xor cl, 1
or ch, 0
and cl, ch
or bl, cl
xor bl, 1
mov al, byte [esi + 0x14]
xor al, bl
mov cl, byte [esi + 0x14]
and al, cl
mov dl, ah
xor dl, 1
mov ch, al
xor ch, 1
mov dh, byte [esi + 0x1f]
xor dh, 1
mov bl, dl
and bl, 1
and ah, dh
mov bh, ch
and bh, 1
and al, dh
or bl, ah
or bh, al
xor bl, bh
or dl, ch
xor dl, 1
or dh, 1
and dl, dh
or bl, dl
test bl, 1
jne 0x54aac8
jmp 0x54af22
mov al, 1
mov ecx, 0
mov edx, 0x415ee115
call fcn.0054d0f0
mov ebx, dword [esi + 0x2a4]
mov dword [edi], ebx
call fcn.0054d100
mov ebx, dword [0x80a090]
add edx, 0
add edx, 0xffffffff
sub edx, 0x415ee115
mov byte [esi + 0x13], al
mov eax, ecx
sub eax, edi
call fcn.0054d110
mov eax, ecx
sub eax, edx
mov edx, dword [esi + 0xc]
add edx, eax
sub ecx, edx
imul edi, ecx
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
xor cl, 1
mov ch, ah
xor ch, 1
mov dl, byte [esi + 0x13]
xor dl, 0
or cl, ch
or dl, 0
xor cl, 1
and cl, dl
mov dl, al
xor dl, 1
and dl, 1
mov ch, byte [esi + 0x13]
xor ch, 1
and al, ch
mov dh, ah
xor dh, 1
and dh, 1
and ah, ch
or dl, al
or dh, ah
xor dl, dh
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x54ab7f
jmp 0x54af22
jmp 0x544cdd
jmp 0x5458fc
sub esp, 4
mov ecx, 0x447cd8
mov eax, esp
mov ecx, dword [esi + 0x7b0]
call fcn.0054d120
mov ecx, dword [esi + 0x890]
call fcn.004df290
jmp 0x5464e6
jmp 0x54684b
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, 0x447cd8
mov ebx, ecx
sub ebx, 0xef600a1f
mov byte [esi + 0xb], al
mov eax, edx
add eax, ebx
add eax, 0xc2300cbd
add eax, 0xffffffff
sub eax, 0xc2300cbd
sub ecx, 0xef600a1f
sub eax, ecx
imul edx, eax
and edx, 1
cmp edx, 0
sete al
cmp edi, 0xa
setl ah
mov cl, ah
xor cl, 1
mov ch, al
xor ch, cl
and ch, al
mov cl, al
xor cl, 1
and cl, 0
mov dl, byte [esi + 0xb]
xor dl, 0
and al, dl
mov dh, ah
xor dh, 1
and dh, 0
and ah, dl
or cl, al
or dh, ah
xor cl, dh
mov al, ch
and al, cl
xor ch, cl
or al, ch
test al, 1
jne 0x54ac4d
jmp 0x54af35
mov al, 1
mov ecx, 0
mov edx, dword [0x80a094]
mov edi, dword [0x80a090]
mov ebx, edx
add ebx, 0x6f5907ed
add ebx, 0x2fd8f5f3
sub ebx, 0x6f5907ed
add ebx, 0x8e35b46c
sub ebx, 1
sub ebx, 0x8e35b46c
sub ecx, 0x2fd8f5f3
add ebx, ecx
imul edx, ebx
and edx, 1
cmp edx, 0
sete ah
cmp edi, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 1
or ch, dl
or al, 1
xor ch, 1
and ch, al
mov al, ah
xor al, 1
mov dl, cl
and dl, al
xor cl, 1
and ah, cl
or dl, ah
mov al, ch
and al, dl
xor ch, dl
or al, ch
test al, 1
jne 0x54ace2
jmp 0x54af35
jmp 0x5469d3
sub esp, 4
mov eax, 0x447cd8
mov eax, esp
call fcn.0054d130
mov dword [eax], ecx
call fcn.0054d140
call fcn.00510660
mov eax, dword [esi + 0x7a8]
call fcn.0054d150
mov edx, dword [esi + 0x7dc]
call fcn.0054d160
jmp 0x5477e0
jmp 0x547f4a
jmp 0x5482b2
jmp 0x548bf6
jmp 0x549353
jmp 0x54966c
jmp 0x5389e4
jmp 0x538cf3
jmp 0x538e8c
jmp 0x539435
jmp 0x5397d4
jmp 0x539a3e
jmp 0x539bd8
jmp 0x539ffe
jmp 0x53a42a
jmp 0x53a72e
jmp 0x53aeee
mov eax, dword [esi + 0x88c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx]
call fcn.0054d170
jmp 0x53b99f
jmp 0x53c597
jmp 0x53caa5
jmp 0x53cd93
jmp 0x53d394
jmp 0x53d925
jmp 0x53dceb
mov ecx, dword [esi + 0x818]
call fcn.00506f10
mov ecx, dword [esi + 0x820]
call fcn.00506f10
mov ecx, dword [esi + 0x81c]
call fcn.00506f10
jmp 0x53e1b6
jmp 0x53e5dc
call fcn.0054d180
call fcn.00506f10
call fcn.0054d190
call fcn.00506f10
mov ecx, dword [esi + 0x810]
call fcn.00506f10
mov ecx, dword [esi + 0x840]
call fcn.0052df00
call fcn.0054d1a0
jmp 0x53e809
jmp 0x53eec4
jmp 0x53f42c
jmp 0x53fb9a
jmp 0x5401bd
mov eax, dword [esi + 0x8b8]
call fcn.0054d1b0
mov ecx, dword [esi + 0x894]
call fcn.0054d1c0
jmp 0x54066e
jmp 0x5412b9
jmp 0x5415ef
jmp 0x541f09
jmp 0x5425d8
jmp 0x5432aa
call fcn.0054d1d0
call fcn.00506f10
jmp 0x54375d
jmp 0x543fa1
jmp 0x544406
jmp 0x545004
mov eax, dword [esi + 0x7c8]
mov ecx, dword [esi + 0x268]
mov dword [eax], ecx
jmp 0x545419
jmp 0x545640
jmp 0x5459b3
jmp 0x546096
jmp 0x5470e8
jmp 0x547453
sub esp, 4
mov eax, esp
call fcn.0054d1e0
mov dword [eax], ecx
mov ecx, dword [esi + 0x890]
call fcn.004df290
jmp 0x547acf
jmp 0x5485cc
jmp 0x548cbe
jmp 0x5491c5
mov eax, dword [esi + 0x8b0]
call fcn.0054d1f0
mov edx, dword [esi + 0x8b8]
mov dword [edx], ecx
call fcn.0054d200
call fcn.0054d210
jmp 0x54996f
call fcn.0054d220
call fcn.004dd610
mov ecx, dword [esi + 0x8a4]
call fcn.00506f10
mov ecx, dword [esi + 0x8a8]
call fcn.00506f10
jmp 0x549be5
jmp 0x549f70
jmp 0x54a355
mov eax, dword [esi + 0x7fc]
mov ecx, dword [esi + 0x49c]
mov dword [eax], ecx
jmp 0x54a6f3
mov eax, dword [esi + 0x7cc]
mov ecx, dword [esi + 0x2a4]
mov dword [eax], ecx
jmp 0x54aac8
jmp 0x54ac4d