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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [0x10107048]
mov edx, dword [0x10107044]
mov edi, ecx
sub edi, 0x1889cfc5
sub edi, 1
add edi, 0x1889cfc5
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
xor cl, 0xff
mov ch, bh
xor ch, 0xff
mov dl, 1
xor dl, 0
mov dh, cl
and dh, 0
and bl, dl
mov byte [esi + 0x37], ch
and ch, 0
and bh, dl
or dh, bl
or ch, bh
xor dh, ch
mov ch, byte [esi + 0x37]
or cl, ch
xor cl, 0xff
or dl, 0
and cl, dl
or dh, cl
test dh, 1
mov dword [esi + 0x30], eax
jne 0x1004d307
jmp 0x10051172
push eax
mov eax, esp
mov ecx, eax
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov edi, esp
mov ebx, dword [esi + 0x30]
mov dword [eax], ebx
mov dword [edx + 4], 0
mov dword [edx], 0
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], eax
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], edx
mov dword [esi + 0x24], edi
call fcn.1002d6a0
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov eax, dword [esi + 0x2c]
mov edx, dword [eax]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x48], edx
mov dword [esi + 0x44], 0x7580
mov dword [esi + 0x40], 0xeb00
mov eax, dword [esi + 0x44]
cdq
mov edi, 4
idiv edi
cmp edx, 0
jne 0x1004d3ef
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
sub ecx, 0x5364b474
add ecx, 0x314012b
add ecx, 0x5364b474
add ecx, 0x2895242
add ecx, 0xa9f832c4
sub ecx, 0x2895242
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, edx
add edi, ecx
mov ecx, eax
sub ecx, edi
mov edx, eax
sub edx, 0xa9f832c4
add ecx, edx
sub eax, ecx
add eax, 0
sub eax, 0xe33ef980
add eax, 0x314012b
add eax, 0xe33ef980
mov ecx, 0x72904fd5
add ecx, 0
sub ecx, eax
sub ecx, 0x72904fd5
imul eax, ecx, 0x75800634
mov dword [esi + 0x44], eax
jmp 0x1004df34
mov eax, dword [esi + 0x44]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x1004d802
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0x816302c7
add edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0xae8ab559
add ebx, edi
sub ebx, 0x719d50ff
sub ebx, 1
add ebx, 0x719d50ff
sub ebx, 0x98ec8d09
add ebx, 0xae8ab559
add ebx, 0x98ec8d09
mov edi, eax
sub edi, ebx
add edi, 0
add edi, 0x59e9a3e2
add edi, 0x816302c7
sub edi, 0x59e9a3e2
sub eax, 0xb41aab82
sub eax, edi
add eax, 0xb41aab82
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
or cl, dh
mov dl, al
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, cl
xor bh, 0xff
and bh, 0
and cl, dh
or dl, bl
or bh, cl
xor dl, bh
xor dl, 0xff
mov cl, al
xor cl, 0xff
mov dh, ch
xor dh, 0
or dl, cl
or dh, 0
xor dl, 0xff
and dl, dh
mov cl, al
xor cl, 0xff
and cl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or cl, bl
or bh, dh
xor cl, bh
mov dh, ah
xor dh, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dh, cl
or bl, 1
xor dh, 0xff
and dh, bl
mov cl, ah
xor cl, 0xff
and cl, 1
xor ch, 1
and ah, ch
or cl, ah
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dh
and al, ah
xor dh, ah
or al, dh
mov cl, al
xor cl, 0xff
mov ah, dl
xor ah, cl
and ah, dl
mov cl, dl
xor cl, 0xff
mov ch, al
and ch, cl
xor al, 0xff
and dl, al
or ch, dl
mov al, ah
and al, ch
xor ah, ch
or al, ah
test al, 1
jne 0x1004d55a
jmp 0x1004dda3
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
imul edx, dword [esi + 0x48]
imul edx, dword [esi + 0x48]
add ecx, 0x5c62db9e
sub ecx, 0xe2a3d45f
sub ecx, 0x5c62db9e
add ecx, 0x56de2794
sub ecx, 0xd00f51b8
sub ecx, 0x56de2794
add ecx, 0x56c0beb5
add ecx, 0xe2a3d45f
sub ecx, 0x56c0beb5
mov edi, eax
sub edi, edx
add edi, 0
sub ecx, 0x707b8a19
add ecx, edi
add ecx, 0x707b8a19
mov edx, eax
sub edx, 0x34877c66
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xd00f51b8
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x34877c66
sub ecx, edx
mov dword [esi + 0x48], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0xf2bbc4cf
add edi, 0xb4c9c335
add edi, 0xf2bbc4cf
add edi, 0xaab488a4
sub edi, 0x4272c9d0
sub edi, 0xaab488a4
mov ebx, eax
sub ebx, 0xb4c9c335
add edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x5b9d828a
add ebx, edi
mov edi, eax
sub edi, ebx
add edi, 0x76dc498e
sub edi, 1
sub edi, 0x76dc498e
add edi, 0x81e6591b
sub edi, 0x5b9d828a
sub edi, 0x81e6591b
add edi, 0x26519c3c
add edi, 0xb0ecf2b
sub edi, 0x26519c3c
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x4272c9d0
add ebx, edi
mov edi, eax
sub edi, ebx
sub eax, 0xb0ecf2b
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
or dh, bh
xor dh, 0xff
mov bl, ah
xor bl, dh
and bl, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bh, ch
xor bh, 1
and ah, bh
or dh, ah
xor al, 0xff
xor dh, 0xff
mov ah, ch
xor ah, 0
or al, dh
or ah, 0
xor al, 0xff
and al, ah
mov ah, bl
and ah, al
xor bl, al
or ah, bl
mov al, dl
xor al, 0xff
mov dh, cl
xor dh, al
and dh, cl
mov al, cl
xor al, 0xff
mov bl, dl
and bl, al
xor dl, 0xff
and cl, dl
or bl, cl
mov al, dh
and al, bl
xor dh, bl
or al, dh
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, ah
xor dh, 0xff
and dh, 0
mov bl, ch
xor bl, 0
and ah, bl
mov bh, cl
xor bh, 0xff
and bh, 0
and cl, bl
or dh, ah
or bh, cl
xor dh, bh
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, 0xff
mov bl, ch
xor bl, 1
mov bh, cl
and bh, 0xff
and dl, bl
mov byte [esi + 0x23], ah
and ah, 0xff
and al, bl
or bh, dl
or ah, al
xor bh, ah
mov al, byte [esi + 0x23]
or cl, al
xor cl, 0xff
or bl, 1
and cl, bl
or bh, cl
mov cl, bh
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
and bh, dl
or cl, bh
mov dl, dh
xor dl, 0xff
mov ah, cl
xor ah, 0xff
xor ch, 1
mov bl, dl
and bl, 0xff
and dh, ch
mov bh, ah
and bh, 0xff
and cl, ch
or bl, dh
or bh, cl
xor bl, bh
or dl, ah
xor dl, 0xff
or ch, 1
and dl, ch
or bl, dl
test bl, 1
jne 0x1004d7fd
jmp 0x1004dda3
jmp 0x1004dd9e
mov eax, dword [esi + 0x44]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x1004dc3e
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0xd7f53382
add edi, ebx
mov ebx, eax
sub ebx, edi
add ebx, 0x88eb9215
sub ebx, 0x312903ed
sub ebx, 0x88eb9215
add ebx, 0xfe784963
sub ebx, 1
sub ebx, 0xfe784963
sub eax, 0x312903ed
sub ebx, eax
add ebx, 0x4850aba4
sub ebx, 0xd7f53382
sub ebx, 0x4850aba4
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
or dh, bh
xor dh, 0xff
mov bl, ah
xor bl, dh
and bl, ah
mov dh, ah
xor dh, 0xff
and dh, 0
mov bh, ch
xor bh, 0
and ah, bh
mov byte [esi + 0x22], ch
xor ch, 1
and ch, 0
and bh, 1
or dh, ah
or ch, bh
xor dh, ch
xor al, 0xff
xor dh, 0xff
mov ah, byte [esi + 0x22]
xor ah, 0
or al, dh
or ah, 0
xor al, 0xff
and al, ah
mov ah, bl
xor ah, 0xff
mov ch, al
xor ch, 0xff
mov dh, byte [esi + 0x22]
xor dh, 1
mov bh, ah
and bh, 0xff
and bl, dh
mov byte [esi + 0x21], ch
and ch, 0xff
and al, dh
or bh, bl
or ch, al
xor bh, ch
mov al, byte [esi + 0x21]
or ah, al
xor ah, 0xff
or dh, 1
and ah, dh
or bh, ah
mov ah, dl
xor ah, 0xff
mov ch, cl
xor ch, ah
and ch, cl
mov ah, cl
xor ah, 0xff
and ah, 0
mov dh, byte [esi + 0x22]
xor dh, 0
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0
and dl, dh
or ah, cl
or bl, dl
xor ah, bl
mov cl, ch
and cl, ah
xor ch, ah
or cl, ch
mov dl, cl
xor dl, 0xff
and dl, 1
mov ah, byte [esi + 0x22]
xor ah, 1
and cl, ah
or dl, cl
mov cl, dl
xor cl, 0xff
mov ah, bh
xor ah, cl
and ah, bh
mov cl, bh
xor cl, 0xff
and cl, 1
mov ch, byte [esi + 0x22]
xor ch, 1
and bh, ch
mov dh, dl
xor dh, 0xff
and dh, 0xff
and dl, ch
or cl, bh
or dh, dl
xor cl, dh
mov dl, ah
xor dl, 0xff
mov ch, cl
xor ch, 0xff
mov dh, byte [esi + 0x22]
xor dh, 1
mov bl, dl
and bl, 0xff
and ah, dh
mov bh, ch
and bh, 0xff
and cl, dh
or bl, ah
or bh, cl
xor bl, bh
or dl, ch
xor dl, 0xff
or dh, 1
and dl, dh
or bl, dl
test bl, 1
jne 0x1004d9ec
jmp 0x1004de1e
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov ebx, eax
sub ebx, edi
add ebx, 0xb5749cc9
sub ebx, 0x329adf81
sub ebx, 0xb5749cc9
add ebx, 0x329adf81
mov edi, 0x824a3a00
add edi, 0
sub edi, ebx
sub edi, 0x824a3a00
sub edx, 0xc15d236c
add edx, edi
add edx, 0xc15d236c
mov edi, eax
sub edi, 0x11eb6fec
add ecx, edi
add ecx, 0xf34c0403
sub ecx, 0x8ce86cb
sub ecx, 0xf34c0403
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x11eb6fec
add edi, ecx
mov ecx, eax
sub ecx, edi
mov edi, eax
sub edi, 0x40698a72
add ecx, edi
mov edi, eax
sub edi, edx
sub ecx, edi
sub ecx, 0x6a29edcd
add ecx, 0x40698a72
add ecx, 0x6a29edcd
mov edx, eax
sub edx, 0x2e5b6b90
sub edx, ecx
add edx, 0x2e5b6b90
sub edx, 0x628155e2
add edx, 0xf7317935
add edx, 0x628155e2
mov ecx, 0xbc53f12b
add ecx, 0
sub ecx, edx
sub ecx, 0xbc53f12b
mov dword [esi + 0x44], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
sub eax, ecx
add eax, 0
add eax, 0xc10d3521
add eax, 1
sub eax, 0xc10d3521
mov edi, 0xc049e324
add edi, 0
sub edi, eax
sub edi, 0xc049e324
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
mov cl, al
xor cl, 0xff
mov dl, dh
xor dl, cl
and dl, dh
mov cl, al
xor cl, 0xff
and cl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or cl, bl
or bh, dh
xor cl, bh
mov dh, ah
xor dh, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dh, cl
or bl, 1
xor dh, 0xff
and dh, bl
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
or cl, ah
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dh
and al, ah
xor dh, ah
or al, dh
mov cl, dl
xor cl, 0xff
and cl, 0
mov ah, ch
xor ah, 0
mov dh, dl
and dh, ah
mov bl, ch
xor bl, 1
and bl, 0
and ah, 1
or cl, dh
or bl, ah
xor cl, bl
mov ah, al
xor ah, 0xff
and ah, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
or ah, bl
mov dh, dl
xor dh, 0xff
mov bl, al
and bl, dh
xor al, 0xff
and dl, al
or bl, dl
mov al, cl
xor al, 0xff
mov dl, ah
xor dl, 0xff
mov dh, ch
xor dh, 0
mov bh, al
and bh, 0
and cl, dh
mov byte [esi + 0x20], dl
and dl, 0
and ah, dh
or bh, cl
or dl, ah
xor bh, dl
mov cl, byte [esi + 0x20]
or al, cl
xor al, 0xff
or dh, 0
and al, dh
or bh, al
mov al, bh
xor al, 0xff
and al, 0
mov dl, ch
xor dl, 0
and bh, dl
xor ch, 1
and ch, 0
and dl, 1
or al, bh
or ch, dl
xor al, ch
mov dl, bl
and dl, al
xor bl, al
or dl, bl
test dl, 1
jne 0x1004dc39
jmp 0x1004de1e
jmp 0x1004dd99
mov eax, dword [esi + 0x44]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x1004dd94
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
sub ecx, 0x16eb8f45
add ecx, 0x1ea66b9
add ecx, 0x16eb8f45
mov edi, 0x8c5d8b74
add edi, 0
sub edi, edx
sub edi, 0x8c5d8b74
add ecx, 0x63ce1810
add ecx, edi
sub ecx, 0x63ce1810
mov edx, 0x50e5db61
add edx, 0
sub edx, ecx
sub edx, 0x50e5db61
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x1ea66b9
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x2bfcc498
sub ecx, edx
add ecx, 0x2bfcc498
mov edx, dword [esi + 0x44]
mov edi, eax
sub edi, edx
add edi, 0x566253e
mov edx, eax
sub edx, edi
mov edi, eax
sub edi, 0xfa99dac2
add edx, edi
mov edi, eax
sub edi, edx
add ecx, 0x6979bfb7
sub ecx, 0xd28531fa
sub ecx, 0x6979bfb7
sub ecx, 0x70129708
add ecx, edi
add ecx, 0x70129708
sub ecx, 0xa956fb98
add ecx, 0xd28531fa
add ecx, 0xa956fb98
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x9c23e117
add edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0xbc3562ee
sub ecx, 0x2cd1b0f9
sub ecx, 0xbc3562ee
add ecx, 0x99a7914d
sub ecx, 0x9c23e117
sub ecx, 0x99a7914d
add ecx, 0xa0658734
add ecx, 0xc1104183
sub ecx, 0xa0658734
add ecx, 0x18bfe43b
add ecx, 0x18
sub ecx, 0x18bfe43b
mov edx, eax
sub edx, 0xc1104183
add ecx, edx
mov edx, eax
sub edx, 0xfda4adbd
add ecx, edx
sub eax, 0x2cd1b0f9
sub ecx, eax
sub ecx, 0x2abb8bbd
add ecx, 0xfda4adbd
add ecx, 0x2abb8bbd
mov dword [esi + 0x44], ecx
jmp 0x1004dd99
jmp 0x1004dd9e
jmp 0x1004df34
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
imul edx, edi
mov edi, dword [esi + 0x48]
imul edx, edi
mov edi, eax
sub edi, 0x7069fb55
sub ecx, edi
mov edi, eax
sub edi, 0x8bedda9a
add ecx, edi
mov edi, eax
sub edi, 0x7069fb55
add ecx, edi
mov edi, eax
sub edi, 0xd311a26e
sub edi, edx
add edi, 0xd311a26e
add ecx, 0xc552f7b1
add ecx, edi
sub ecx, 0xc552f7b1
mov edx, eax
sub edx, 0x1df34d43
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x8bedda9a
add edx, ecx
mov ecx, eax
sub ecx, edx
sub eax, 0x1df34d43
sub ecx, eax
mov dword [esi + 0x48], ecx
jmp 0x1004d55a
xor eax, eax
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov ebx, eax
sub ebx, edx
add ebx, 0x3c5fb048
sub ebx, 0x399ca6c6
sub ebx, 0x3c5fb048
add ebx, 0x399ca6c6
mov edx, 0xf53c6b53
sub edx, 0x3192f763
sub edx, edi
add edx, 0x3192f763
mov edi, eax
sub edi, edx
mov edx, eax
sub edx, 0xac394ad
add edi, edx
mov edx, eax
sub edx, edi
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, 0xc9e09c43
add edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, edx
add edi, ebx
mov edx, eax
sub edx, edi
sub edx, 0x225b54ea
sub edx, 0xc9e09c43
add edx, 0x225b54ea
mov edi, 0x5bc36098
sub edi, 0x38ddf0de
sub edi, edx
add edi, 0x38ddf0de
add edi, 0xd6a29dda
sub edi, 0x5bc36098
sub edi, 0xd6a29dda
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x7f813854
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0xe8745b83
add ecx, edx
add ecx, 0x7f378aa8
sub ecx, 0x7f813854
sub ecx, 0x7f378aa8
mov edx, 0xbbd500a7
add edx, 0
sub edx, edi
sub edx, 0xbbd500a7
sub ecx, 0xad145fcc
sub ecx, edx
add ecx, 0xad145fcc
mov edx, eax
sub edx, 0x3e263287
sub edx, ecx
add edx, 0x3e263287
mov ecx, eax
sub ecx, 0x178ba47d
sub edx, ecx
sub eax, edx
add eax, 0
mov dword [esi + 0x44], eax
jmp 0x1004d9ec
xor eax, eax
mov ecx, dword [esi + 0x24]
cmp dword [ecx], 0
setne dl
mov edi, dword [0x10107048]
mov ebx, dword [0x10107044]
sub eax, 1
mov ecx, edi
add ecx, eax
imul edi, ecx
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
xor ah, 0xff
mov cl, al
xor cl, 0xff
mov ch, 1
xor ch, 1
mov bl, ah
and bl, 0xff
and dh, ch
mov bh, cl
and bh, 0xff
and al, ch
or bl, dh
or bh, al
xor bl, bh
or ah, cl
xor ah, 0xff
or ch, 1
and ah, ch
or bl, ah
test bl, 1
mov byte [esi + 0x1f], dl
jne 0x1004dfa4
jmp 0x10051172
mov al, byte [esi + 0x1f]
test al, 1
jne 0x1004dfb4
jmp 0x100504c3
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x5c], ecx
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x68], ecx
mov dword [esi + 0x64], 0x7580
mov dword [esi + 0x60], 0xeb00
mov eax, dword [esi + 0x64]
cdq
mov ecx, 4
idiv ecx
cmp edx, 0
jne 0x1004e065
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x314012b
add edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 0x5dc7a7bb
add ecx, 0xa9f832c4
add ecx, 0x5dc7a7bb
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, edx
add edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 0x2193d3f8
sub ecx, 0xa9f832c4
add ecx, 0x2193d3f8
mov edx, 0xab35bd88
add edx, 0
sub edx, ecx
sub edx, 0xab35bd88
sub edx, 0x74a3f6b0
add edx, 0x314012b
add edx, 0x74a3f6b0
sub eax, edx
add eax, 0
imul eax, eax, 0x75800634
mov dword [esi + 0x64], eax
jmp 0x1004eb67
mov eax, dword [esi + 0x64]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x1004e4bb
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0x816302c7
add edi, ebx
mov ebx, eax
sub ebx, edi
add ebx, 0x9c5c2483
sub ebx, 0xae8ab559
sub ebx, 0x9c5c2483
sub ebx, 0xb13a0c94
sub ebx, 1
add ebx, 0xb13a0c94
sub ebx, 0x819de2be
add ebx, 0xae8ab559
add ebx, 0x819de2be
mov edi, 0x3d0a65e1
add edi, 0
sub edi, ebx
sub edi, 0x3d0a65e1
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x816302c7
add ebx, edi
mov edi, eax
sub edi, ebx
sub eax, edi
add eax, 0
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, cl
xor bh, 0xff
and bh, 0
and cl, dh
or dl, bl
or bh, cl
xor dl, bh
mov cl, al
xor cl, 0xff
mov dh, dl
xor dh, cl
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov bl, al
and bl, dl
mov bh, ch
xor bh, 1
and bh, 0xff
and dl, 1
or cl, bl
or bh, dl
xor cl, bh
mov dl, ah
xor dl, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dl, cl
or bl, 1
xor dl, 0xff
and dl, bl
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
mov bh, ch
xor bh, 1
and bh, 0xff
and bl, 1
or cl, ah
or bh, bl
xor cl, bh
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dl
and al, ah
xor dl, ah
or al, dl
mov cl, dh
xor cl, 0xff
mov dl, al
xor dl, 0xff
mov ah, ch
xor ah, 1
or cl, dl
or ah, 1
xor cl, 0xff
and cl, ah
mov dl, dh
xor dl, 0xff
and dl, 0
xor ch, 0
and dh, ch
mov ah, al
xor ah, 0xff
and ah, 0
and al, ch
or dl, dh
or ah, al
xor dl, ah
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1004e20a
jmp 0x1004e9cc
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
imul edx, dword [esi + 0x68]
imul edx, dword [esi + 0x68]
mov edi, eax
sub edi, 0xe2a3d45f
add ecx, edi
sub ecx, 0x504bcdce
sub ecx, 0xd00f51b8
add ecx, 0x504bcdce
add ecx, 0xcc0c6339
add ecx, 0xe2a3d45f
sub ecx, 0xcc0c6339
mov edi, eax
sub edi, 0x303954d5
sub edi, edx
add edi, 0x303954d5
sub ecx, 0x3a3d6d64
add ecx, edi
add ecx, 0x3a3d6d64
add ecx, 0x549f7b60
sub ecx, 0x34877c66
sub ecx, 0x549f7b60
mov edx, eax
sub edx, 0xd00f51b8
sub ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x34877c66
add edx, ecx
mov ecx, eax
sub ecx, edx
mov dword [esi + 0x68], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, 0xb4c9c335
mov ebx, ecx
sub ebx, edi
sub ebx, 0x6313d126
sub ebx, 0x4272c9d0
add ebx, 0x6313d126
add ebx, 0x658bd47a
sub ebx, 0xb4c9c335
sub ebx, 0x658bd47a
sub ebx, 0x2fdccc3
add ebx, 0x5b9d828a
add ebx, 0x2fdccc3
mov edi, eax
sub edi, 1
add ebx, edi
sub ebx, 0xa24a80ab
sub ebx, 0x5b9d828a
add ebx, 0xa24a80ab
add ebx, 0xabacd76e
add ebx, 0xb0ecf2b
sub ebx, 0xabacd76e
add ebx, 0xa2f72f13
add ebx, 0x4272c9d0
sub ebx, 0xa2f72f13
sub eax, 0xb0ecf2b
add ebx, eax
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0xff
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 0
mov bl, ch
xor bl, 0
mov bh, al
and bh, bl
mov byte [esi + 0x1e], ch
xor ch, 1
and ch, 0
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
xor dh, 0xff
mov ch, ah
xor ch, dh
and ch, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 0x1e]
xor bl, 1
and ah, bl
or dh, ah
xor al, 0xff
xor dh, 0xff
mov ah, byte [esi + 0x1e]
xor ah, 0
or al, dh
or ah, 0
xor al, 0xff
and al, ah
mov ah, ch
and ah, al
xor ch, al
or ah, ch
mov al, dl
xor al, 0xff
mov ch, cl
xor ch, al
and ch, cl
mov al, cl
xor al, 0xff
and al, 1
mov dh, byte [esi + 0x1e]
xor dh, 1
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0xff
and dl, dh
or al, cl
or bl, dl
xor al, bl
mov cl, ch
and cl, al
xor ch, al
or cl, ch
mov al, cl
xor al, 0xff
and al, 0
mov dl, byte [esi + 0x1e]
xor dl, 0
mov ch, cl
and ch, dl
mov dh, byte [esi + 0x1e]
xor dh, 1
and dh, 0
and dl, 1
or al, ch
or dh, dl
xor al, dh
mov dl, ah
xor dl, 0xff
and dl, 0
mov ch, byte [esi + 0x1e]
xor ch, 0
mov dh, ah
and dh, ch
mov bl, byte [esi + 0x1e]
xor bl, 1
and bl, 0
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, ah
xor ch, 0xff
mov dh, al
and dh, ch
xor al, 0xff
and ah, al
or dh, ah
mov al, dl
and al, cl
xor dl, cl
or al, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, byte [esi + 0x1e]
xor dl, 1
and al, dl
or cl, al
mov al, dh
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov ah, byte [esi + 0x1e]
xor ah, 1
mov ch, al
and ch, 0xff
and dh, ah
mov bl, dl
and bl, 0xff
and cl, ah
or ch, dh
or bl, cl
xor ch, bl
or al, dl
xor al, 0xff
or ah, 1
and al, ah
or ch, al
test ch, 1
jne 0x1004e4b6
jmp 0x1004e9cc
jmp 0x1004e9c7
mov eax, dword [esi + 0x64]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x1004e899
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0xd7f53382
add edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 0x8f4d1bbb
sub ebx, 0x312903ed
add ebx, 0x8f4d1bbb
sub eax, 1
add ebx, eax
sub ebx, 0xd423a2d1
add ebx, 0x312903ed
add ebx, 0xd423a2d1
sub ebx, 0xf3aa34e4
sub ebx, 0xd7f53382
add ebx, 0xf3aa34e4
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
or dh, bh
xor dh, 0xff
mov bl, ah
xor bl, dh
and bl, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bh, ch
xor bh, 1
and ah, bh
mov byte [esi + 0x1d], ch
xor ch, 1
and ch, 0xff
and bh, 1
or dh, ah
or ch, bh
xor dh, ch
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, bl
and al, ah
xor bl, ah
or al, bl
mov ah, dl
xor ah, 0xff
mov ch, cl
xor ch, ah
and ch, cl
mov ah, cl
xor ah, 0xff
mov dh, dl
and dh, ah
xor dl, 0xff
and cl, dl
or dh, cl
mov cl, ch
and cl, dh
xor ch, dh
or cl, ch
mov dl, cl
xor dl, 0xff
and dl, 1
mov ah, byte [esi + 0x1d]
xor ah, 1
and cl, ah
or dl, cl
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov cl, al
xor cl, 0xff
mov ch, dl
and ch, cl
xor dl, 0xff
and al, dl
or ch, al
mov al, ah
xor al, 0xff
mov cl, ch
xor cl, 0xff
mov dl, byte [esi + 0x1d]
xor dl, 1
mov dh, al
and dh, 0xff
and ah, dl
mov bl, cl
and bl, 0xff
and ch, dl
or dh, ah
or bl, ch
xor dh, bl
or al, cl
xor al, 0xff
or dl, 1
and al, dl
or dh, al
test dh, 1
jne 0x1004e64d
jmp 0x1004ea54
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
mov ebx, 0x671873e3
add ebx, 0xb5749cc9
sub ebx, edi
sub ebx, 0x671873e3
mov edi, eax
sub edi, 0xb5749cc9
add ebx, edi
mov edi, eax
sub edi, ebx
add edi, 0
mov ebx, eax
sub ebx, edi
sub edx, ebx
sub ecx, 0xd0a64ed
sub ecx, 0x11eb6fec
add ecx, 0xd0a64ed
mov edi, eax
sub edi, 0x8ce86cb
add ecx, edi
add ecx, 0xcefe80ea
add ecx, 0x11eb6fec
sub ecx, 0xcefe80ea
add ecx, 0xf3bb4024
sub ecx, 0x40698a72
sub ecx, 0xf3bb4024
mov edi, eax
sub edi, edx
sub ecx, edi
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x40698a72
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x6aae5dfd
sub edx, ecx
add edx, 0x6aae5dfd
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0xf7317935
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x5400b824
sub ecx, edx
add ecx, 0x5400b824
mov dword [esi + 0x64], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, 0xe8a09f79
add edi, 0
sub edi, ecx
sub edi, 0xe8a09f79
sub edi, 0x2f227e39
add edi, 1
add edi, 0x2f227e39
sub eax, 0x7ef1b2ea
sub eax, edi
add eax, 0x7ef1b2ea
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
mov cl, al
xor cl, 0xff
mov dl, dh
xor dl, cl
and dl, dh
mov cl, al
xor cl, 0xff
and cl, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
or cl, bl
xor cl, 0xff
mov dh, ah
xor dh, cl
and dh, ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
or cl, ah
xor al, 0xff
xor cl, 0xff
mov ah, ch
xor ah, 0
or al, cl
or ah, 0
xor al, 0xff
and al, ah
mov cl, dh
and cl, al
xor dh, al
or cl, dh
mov al, dl
xor al, 0xff
and al, 0
mov ah, ch
xor ah, 0
mov dh, dl
and dh, ah
mov bl, ch
xor bl, 1
and bl, 0
and ah, 1
or al, dh
or bl, ah
xor al, bl
mov ah, cl
xor ah, 0xff
and ah, 0
mov dh, ch
xor dh, 0
mov bl, cl
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or ah, bl
or bh, dh
xor ah, bh
mov dh, dl
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
and dl, bl
mov bh, cl
xor bh, 0xff
and bh, 0xff
and cl, bl
or dh, dl
or bh, cl
xor dh, bh
mov cl, al
and cl, ah
xor al, ah
or cl, al
mov al, cl
xor al, 0xff
and al, 1
mov dl, ch
xor dl, 1
and cl, dl
or al, cl
mov cl, dh
xor cl, 0xff
mov dl, al
xor dl, 0xff
xor ch, 0
mov ah, cl
and ah, 0
and dh, ch
mov bl, dl
and bl, 0
and al, ch
or ah, dh
or bl, al
xor ah, bl
or cl, dl
xor cl, 0xff
or ch, 0
and cl, ch
or ah, cl
test ah, 1
jne 0x1004e894
jmp 0x1004ea54
jmp 0x1004e9c2
mov eax, dword [esi + 0x64]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x1004e9bd
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov edi, eax
sub edi, 0x1ea66b9
sub ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
mov edx, eax
sub edx, edi
sub ecx, edx
mov edx, eax
sub edx, 0x10af9ade
sub edx, ecx
add edx, 0x10af9ade
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x1ea66b9
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0
mov edx, dword [esi + 0x64]
mov edi, eax
sub edi, edx
add edi, 0x566253e
add edi, 0x78e23e88
add edi, 0xfa99dac2
sub edi, 0x78e23e88
add ecx, 0xf50591e3
sub ecx, 0xd28531fa
sub ecx, 0xf50591e3
sub ecx, 0x4d07df82
add ecx, edi
add ecx, 0x4d07df82
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xd28531fa
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x9c23e117
sub ecx, edx
add ecx, 0x3252ed2a
sub ecx, 0x2cd1b0f9
sub ecx, 0x3252ed2a
mov edx, eax
sub edx, 0x9c23e117
add ecx, edx
sub ecx, 0x88b32563
add ecx, 0xc1104183
add ecx, 0x88b32563
mov edx, eax
sub edx, 0x18
sub ecx, edx
sub ecx, 0xf42cbf7b
sub ecx, 0xc1104183
add ecx, 0xf42cbf7b
mov edx, eax
sub edx, 0xfda4adbd
add ecx, edx
sub eax, 0x2cd1b0f9
sub ecx, eax
add ecx, 0x408884d5
add ecx, 0xfda4adbd
sub ecx, 0x408884d5
mov dword [esi + 0x64], ecx
jmp 0x1004e9c2
jmp 0x1004e9c7
jmp 0x1004eb67
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
imul edx, edi
mov edi, dword [esi + 0x68]
imul edx, edi
mov edi, eax
sub edi, 0x7069fb55
sub ecx, edi
add ecx, 0x12a94252
sub ecx, 0x8bedda9a
sub ecx, 0x12a94252
mov edi, eax
sub edi, 0x7069fb55
add ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
sub ecx, 0x3d0ef5d2
add ecx, edi
add ecx, 0x3d0ef5d2
sub ecx, 0x6224ab24
sub ecx, 0x1df34d43
add ecx, 0x6224ab24
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x8bedda9a
add edx, ecx
sub eax, edx
add eax, 0xd9ad2004
add eax, 0x1df34d43
sub eax, 0xd9ad2004
mov dword [esi + 0x68], eax
jmp 0x1004e20a
xor eax, eax
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov edi, dword [esi + 0x68]
mov ebx, 0x3c5fb048
sub ebx, 0xae80bcda
sub ebx, edx
add ebx, 0xae80bcda
mov edx, eax
sub edx, 0x3c5fb048
add ebx, edx
mov edx, 0xf53c6b53
sub edx, 0xd6b1e257
sub edx, edi
add edx, 0xd6b1e257
mov edi, eax
sub edi, 0xac394ad
sub edx, edi
add ebx, 0x1cf0d413
add ebx, 0xc9e09c43
sub ebx, 0x1cf0d413
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, edx
add edi, ebx
mov edx, eax
sub edx, edi
sub edx, 0x669f5768
sub edx, 0xc9e09c43
add edx, 0x669f5768
mov edi, 0x2e3cd221
add edi, 0x5bc36098
sub edi, edx
sub edi, 0x2e3cd221
add edi, 0x2ba2687b
sub edi, 0x5bc36098
sub edi, 0x2ba2687b
mov edx, eax
sub edx, 0x7f813854
sub ecx, edx
sub ecx, 0x182ad3b0
sub ecx, 0xe8745b83
add ecx, 0x182ad3b0
add ecx, 0x99272fb4
sub ecx, 0x7f813854
sub ecx, 0x99272fb4
sub eax, edi
add eax, 0
add ecx, 0x7a942afc
sub ecx, eax
sub ecx, 0x7a942afc
mov eax, 0xe10bc6e0
add eax, 0
sub eax, ecx
sub eax, 0xe10bc6e0
sub eax, 0xb9111312
add eax, 0x178ba47d
add eax, 0xb9111312
mov ecx, 0x13e2da4a
add ecx, 0
sub ecx, eax
sub ecx, 0x13e2da4a
mov dword [esi + 0x64], ecx
jmp 0x1004e64d
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
movzx ecx, word [ecx + 4]
cmp ecx, 0x8664
jne 0x1004eb8d
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
movsd xmm0, qword [ecx + 0x30]
mov ecx, dword [esi + 0x28]
movsd qword [ecx], xmm0
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], 0x7580
mov dword [esi + 0x90], 0xeb00
mov eax, dword [esi + 0x94]
cdq
mov ecx, 4
idiv ecx
cmp edx, 0
jne 0x1004ec51
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov edi, eax
sub edi, 0x314012b
sub ecx, edi
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0xa9f832c4
add edi, ecx
mov ecx, eax
sub ecx, edi
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, edx
add edi, ecx
mov ecx, eax
sub ecx, edi
add ecx, 0x724675d5
sub ecx, 0xa9f832c4
sub ecx, 0x724675d5
mov edx, 0xfef86cfa
add edx, 0
sub edx, ecx
sub edx, 0xfef86cfa
add edx, 0x3157cc83
add edx, 0x314012b
sub edx, 0x3157cc83
sub eax, edx
add eax, 0
imul eax, eax, 0x75800634
mov dword [esi + 0x94], eax
jmp 0x1004f817
mov eax, dword [esi + 0x94]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x1004f0c9
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, 0x816302c7
mov ebx, ecx
sub ebx, edi
add ebx, 0x824a2de3
sub ebx, 0xae8ab559
sub ebx, 0x824a2de3
sub ebx, 0x42debe89
sub ebx, 1
add ebx, 0x42debe89
add ebx, 0xe89a72ff
add ebx, 0xae8ab559
sub ebx, 0xe89a72ff
mov edi, eax
sub edi, 0x218a0cc8
sub edi, ebx
add edi, 0x218a0cc8
sub eax, 0x816302c7
sub edi, eax
mov eax, 0x2f26b8e9
add eax, 0
sub eax, edi
sub eax, 0x2f26b8e9
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
xor dh, 0xff
mov cl, al
xor cl, 0xff
mov dl, ch
xor dl, 0
or dh, cl
or dl, 0
xor dh, 0xff
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov bl, al
and bl, dl
or cl, bl
mov dl, ah
xor dl, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dl, cl
or bl, 1
xor dl, 0xff
and dl, bl
mov cl, ah
xor cl, 0xff
and cl, 0
mov bl, ch
xor bl, 0
and ah, bl
mov bh, ch
xor bh, 1
and bh, 0
and bl, 1
or cl, ah
or bh, bl
xor cl, bh
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dl
and al, ah
xor dl, ah
or al, dl
mov cl, al
xor cl, 0xff
mov dl, dh
xor dl, cl
and dl, dh
mov cl, dh
xor cl, 0xff
and cl, 0
xor ch, 0
and dh, ch
mov ah, al
xor ah, 0xff
and ah, 0
and al, ch
or cl, dh
or ah, al
xor cl, ah
mov al, dl
and al, cl
xor dl, cl
or al, dl
test al, 1
jne 0x1004edd2
jmp 0x1004f665
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
imul edx, dword [esi + 0x98]
imul edx, dword [esi + 0x98]
sub ecx, 0xc34bb74
sub ecx, 0xe2a3d45f
add ecx, 0xc34bb74
mov edi, eax
sub edi, 0xd00f51b8
add ecx, edi
add ecx, 0x6c20efdb
add ecx, 0xe2a3d45f
sub ecx, 0x6c20efdb
mov edi, eax
sub edi, edx
add edi, 0
add ecx, 0xadd47b2a
add ecx, edi
sub ecx, 0xadd47b2a
add ecx, 0xa31bfe4d
sub ecx, 0x34877c66
sub ecx, 0xa31bfe4d
sub ecx, 0xecf9a1a5
add ecx, 0xd00f51b8
add ecx, 0xecf9a1a5
add ecx, 0xd2888fe
add ecx, 0x34877c66
sub ecx, 0xd2888fe
mov dword [esi + 0x98], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0x21cf774f
add edi, 0xb4c9c335
add edi, 0x21cf774f
add edi, 0xca1104fd
sub edi, 0x4272c9d0
sub edi, 0xca1104fd
add edi, 0xaea57ebb
sub edi, 0xb4c9c335
sub edi, 0xaea57ebb
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x5b9d828a
add ebx, edi
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, 1
add edi, ebx
sub edi, 0xd9b290e7
sub edi, 0x5b9d828a
add edi, 0xd9b290e7
mov ebx, eax
sub ebx, 0xb0ecf2b
sub edi, ebx
mov ebx, eax
sub ebx, 0x4272c9d0
sub edi, ebx
sub eax, 0xb0ecf2b
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
or dh, bh
xor dh, 0xff
mov bl, ah
xor bl, dh
and bl, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bh, ch
xor bh, 1
and ah, bh
mov byte [esi + 0x1c], ch
xor ch, 1
and ch, 0xff
and bh, 1
or dh, ah
or ch, bh
xor dh, ch
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, bl
xor al, 0xff
mov ch, ah
xor ch, 0xff
mov dh, byte [esi + 0x1c]
xor dh, 1
mov bh, al
and bh, 0xff
and bl, dh
mov byte [esi + 0x1b], ch
and ch, 0xff
and ah, dh
or bh, bl
or ch, ah
xor bh, ch
mov ah, byte [esi + 0x1b]
or al, ah
xor al, 0xff
or dh, 1
and al, dh
or bh, al
mov al, cl
xor al, 0xff
mov ch, dl
xor ch, 0xff
mov dh, byte [esi + 0x1c]
xor dh, 1
or al, ch
or dh, 1
xor al, 0xff
and al, dh
mov ch, cl
xor ch, 0xff
and ch, 1
mov dh, byte [esi + 0x1c]
xor dh, 1
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0xff
and dl, dh
or ch, cl
or bl, dl
xor ch, bl
mov cl, al
and cl, ch
xor al, ch
or cl, al
mov al, cl
xor al, 0xff
and al, 0
mov dl, byte [esi + 0x1c]
xor dl, 0
mov ch, cl
and ch, dl
mov dh, byte [esi + 0x1c]
xor dh, 1
and dh, 0
and dl, 1
or al, ch
or dh, dl
xor al, dh
mov dl, bh
xor dl, 0xff
and dl, 1
mov ch, byte [esi + 0x1c]
xor ch, 1
mov dh, bh
and dh, ch
mov bl, byte [esi + 0x1c]
xor bl, 1
and bl, 0xff
and ch, 1
or dl, dh
or bl, ch
xor dl, bl
mov ch, bh
xor ch, 0xff
and ch, 1
mov dh, byte [esi + 0x1c]
xor dh, 1
and bh, dh
mov bl, al
xor bl, 0xff
and bl, 0xff
and al, dh
or ch, bh
or bl, al
xor ch, bl
mov al, dl
and al, cl
xor dl, cl
or al, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, byte [esi + 0x1c]
xor dl, 1
and al, dl
mov dh, byte [esi + 0x1c]
xor dh, 1
and dh, 0xff
and dl, 1
or cl, al
or dh, dl
xor cl, dh
mov al, ch
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov dh, byte [esi + 0x1c]
xor dh, 0
mov bl, al
and bl, 0
and ch, dh
mov bh, dl
and bh, 0
and cl, dh
or bl, ch
or bh, cl
xor bl, bh
or al, dl
xor al, 0xff
or dh, 0
and al, dh
or bl, al
test bl, 1
jne 0x1004f0c4
jmp 0x1004f665
jmp 0x1004f660
mov eax, dword [esi + 0x94]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x1004f4f9
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0x7258fab2
add edi, 0xd7f53382
add edi, 0x7258fab2
add edi, 0x2a0b5bf2
sub edi, 0x312903ed
sub edi, 0x2a0b5bf2
add edi, 0xae9b92dd
sub edi, 1
sub edi, 0xae9b92dd
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x312903ed
add ebx, edi
sub eax, ebx
add eax, 0x69c20320
sub eax, 0xd7f53382
sub eax, 0x69c20320
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, al
xor dh, 0xff
and dh, 0
mov bl, ch
xor bl, 0
mov bh, al
and bh, bl
mov byte [esi + 0x1a], ch
xor ch, 1
and ch, 0
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
xor dh, 0xff
mov ch, ah
xor ch, dh
and ch, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 0x1a]
xor bl, 1
and ah, bl
or dh, ah
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, ch
and al, ah
xor ch, ah
or al, ch
mov ah, cl
xor ah, 0xff
mov ch, dl
xor ch, 0xff
mov dh, byte [esi + 0x1a]
xor dh, 0
or ah, ch
or dh, 0
xor ah, 0xff
and ah, dh
mov ch, cl
xor ch, 0xff
mov dh, dl
and dh, ch
xor dl, 0xff
and cl, dl
or dh, cl
mov cl, ah
xor cl, 0xff
mov dl, dh
xor dl, 0xff
mov ch, byte [esi + 0x1a]
xor ch, 1
mov bl, cl
and bl, 0xff
and ah, ch
mov bh, dl
and bh, 0xff
and dh, ch
or bl, ah
or bh, dh
xor bl, bh
or cl, dl
xor cl, 0xff
or ch, 1
and cl, ch
or bl, cl
mov cl, bl
xor cl, 0xff
and cl, 1
mov dl, byte [esi + 0x1a]
xor dl, 1
and bl, dl
or cl, bl
mov dl, cl
xor dl, 0xff
mov ah, al
xor ah, dl
and ah, al
mov dl, al
xor dl, 0xff
and dl, 1
mov ch, byte [esi + 0x1a]
xor ch, 1
and al, ch
mov dh, cl
xor dh, 0xff
and dh, 0xff
and cl, ch
or dl, al
or dh, cl
xor dl, dh
mov al, ah
xor al, 0xff
mov cl, dl
xor cl, 0xff
mov ch, byte [esi + 0x1a]
xor ch, 1
mov dh, al
and dh, 0xff
and ah, ch
mov bl, cl
and bl, 0xff
and dl, ch
or dh, ah
or bl, dl
xor dh, bl
or al, cl
xor al, 0xff
or ch, 1
and al, ch
or dh, al
test dh, 1
jne 0x1004f29e
jmp 0x1004f6ff
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
mov ebx, eax
sub ebx, edi
add ebx, 0xb5749cc9
mov edi, eax
sub edi, 0xb5749cc9
add ebx, edi
mov edi, eax
sub edi, ebx
add edi, 0
mov ebx, eax
sub ebx, edx
mov edx, eax
sub edx, edi
add ebx, edx
mov edx, eax
sub edx, ebx
sub ecx, 0x74e7260a
sub ecx, 0x11eb6fec
add ecx, 0x74e7260a
mov edi, eax
sub edi, 0x8ce86cb
add ecx, edi
add ecx, 0x8616fb5a
add ecx, 0x11eb6fec
sub ecx, 0x8616fb5a
mov edi, eax
sub edi, 0x40698a72
add ecx, edi
sub ecx, 0x59482e59
add ecx, edx
add ecx, 0x59482e59
add ecx, 0xa54c973f
add ecx, 0x40698a72
sub ecx, 0xa54c973f
mov edx, 0x506d4946
add edx, 0
sub edx, ecx
sub edx, 0x506d4946
mov ecx, eax
sub ecx, 0xf7317935
sub edx, ecx
mov ecx, 0x4406dc07
add ecx, 0
sub ecx, edx
sub ecx, 0x4406dc07
mov dword [esi + 0x94], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
add edi, 0
sub edi, 0xcd0e347a
add edi, 1
add edi, 0xcd0e347a
sub eax, 0xcc7d1c5
sub eax, edi
add eax, 0xcc7d1c5
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, cl
xor bh, 0xff
and bh, 0
and cl, dh
or dl, bl
or bh, cl
xor dl, bh
xor dl, 0xff
mov cl, al
xor cl, 0xff
mov dh, ch
xor dh, 1
or dl, cl
or dh, 1
xor dl, 0xff
and dl, dh
mov cl, al
xor cl, 0xff
and cl, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
or cl, bl
xor cl, 0xff
mov dh, ah
xor dh, cl
and dh, ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov bl, ch
xor bl, 0
and ah, bl
mov bh, ch
xor bh, 1
and bh, 0
and bl, 1
or cl, ah
or bh, bl
xor cl, bh
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dh
and al, ah
xor dh, ah
or al, dh
mov cl, dl
xor cl, 0xff
and cl, 1
mov ah, ch
xor ah, 1
mov dh, dl
and dh, ah
or cl, dh
mov ah, al
xor ah, 0xff
and ah, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0xff
and dh, 1
or ah, bl
or bh, dh
xor ah, bh
mov dh, dl
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
and dl, bl
mov bh, al
xor bh, 0xff
and bh, 0xff
and al, bl
or dh, dl
or bh, al
xor dh, bh
mov al, cl
xor al, 0xff
mov dl, ah
xor dl, 0xff
mov bl, ch
xor bl, 1
mov bh, al
and bh, 0xff
and cl, bl
mov byte [esi + 0x19], dl
and dl, 0xff
and ah, bl
or bh, cl
or dl, ah
xor bh, dl
mov cl, byte [esi + 0x19]
or al, cl
xor al, 0xff
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 0xff
and al, 1
xor ch, 1
and bh, ch
or al, bh
mov dl, dh
and dl, al
xor dh, al
or dl, dh
test dl, 1
jne 0x1004f4f4
jmp 0x1004f6ff
jmp 0x1004f65b
mov eax, dword [esi + 0x94]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x1004f656
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x1ea66b9
add edi, ecx
mov ecx, eax
sub ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
sub ecx, 0xa5a66f5c
add ecx, edi
add ecx, 0xa5a66f5c
mov edx, eax
sub edx, 0x85e7268e
sub edx, ecx
add edx, 0x85e7268e
sub edx, 0x93ed0aad
add edx, 0x1ea66b9
add edx, 0x93ed0aad
mov ecx, eax
sub ecx, 0x4762f4d5
sub ecx, edx
add ecx, 0x4762f4d5
mov edx, dword [esi + 0x94]
mov edi, 0x828280c7
add edi, 0x566253e
sub edi, edx
sub edi, 0x828280c7
mov edx, eax
sub edx, edi
mov edi, eax
sub edi, 0xfa99dac2
add edx, edi
mov edi, eax
sub edi, edx
sub ecx, 0x2131483e
sub ecx, 0xd28531fa
add ecx, 0x2131483e
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, edi
add edx, ecx
mov ecx, eax
sub ecx, edx
sub ecx, 0xf025ec04
add ecx, 0xd28531fa
add ecx, 0xf025ec04
mov edx, eax
sub edx, 0x9c23e117
sub ecx, edx
add ecx, 0xbfee382f
sub ecx, 0x2cd1b0f9
sub ecx, 0xbfee382f
mov edx, eax
sub edx, 0x9c23e117
add ecx, edx
sub ecx, 0x8886bd94
add ecx, 0xc1104183
add ecx, 0x8886bd94
sub ecx, 0xc41f78ba
add ecx, 0x18
add ecx, 0xc41f78ba
mov edx, eax
sub edx, 0xc1104183
add ecx, edx
sub eax, 0xfda4adbd
add ecx, eax
sub ecx, 0xd8c73e03
add ecx, 0x2cd1b0f9
add ecx, 0xd8c73e03
add ecx, 0xac89b3c3
add ecx, 0xfda4adbd
sub ecx, 0xac89b3c3
mov dword [esi + 0x94], ecx
jmp 0x1004f65b
jmp 0x1004f660
jmp 0x1004f817
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
imul edx, edi
mov edi, dword [esi + 0x98]
imul edx, edi
sub ecx, 0x64729e1f
add ecx, 0x7069fb55
add ecx, 0x64729e1f
mov edi, eax
sub edi, 0x8bedda9a
add ecx, edi
sub ecx, 0xd5c1db79
sub ecx, 0x7069fb55
add ecx, 0xd5c1db79
mov edi, eax
sub edi, 0xf071d7f
sub edi, edx
add edi, 0xf071d7f
mov edx, eax
sub edx, edi
sub ecx, edx
sub eax, 0x1df34d43
add ecx, eax
add ecx, 0x22e7d1af
add ecx, 0x8bedda9a
sub ecx, 0x22e7d1af
sub ecx, 0x3ff6a981
add ecx, 0x1df34d43
add ecx, 0x3ff6a981
mov dword [esi + 0x98], ecx
jmp 0x1004edd2
xor eax, eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
mov ebx, eax
sub ebx, edx
add ebx, 0x3c5fb048
mov edx, eax
sub edx, 0x3c5fb048
add ebx, edx
mov edx, eax
sub edx, edi
add edx, 0xf53c6b53
mov edi, eax
sub edi, edx
mov edx, eax
sub edx, 0xac394ad
add edi, edx
mov edx, eax
sub edx, edi
sub ebx, 0x79fcfe20
add ebx, 0xc9e09c43
add ebx, 0x79fcfe20
add ebx, 0x208e2a00
add ebx, edx
sub ebx, 0x208e2a00
sub ebx, 0x82542f2f
sub ebx, 0xc9e09c43
add ebx, 0x82542f2f
mov edx, 0xb70b2b71
add edx, 0x5bc36098
sub edx, ebx
sub edx, 0xb70b2b71
mov edi, eax
sub edi, 0x5bc36098
add edx, edi
add ecx, 0xc55a80fc
add ecx, 0x7f813854
sub ecx, 0xc55a80fc
add ecx, 0x69a0711d
sub ecx, 0xe8745b83
sub ecx, 0x69a0711d
add ecx, 0xa36827c8
sub ecx, 0x7f813854
sub ecx, 0xa36827c8
mov edi, eax
sub edi, 0x928ac01
sub edi, edx
add edi, 0x928ac01
mov edx, eax
sub edx, edi
add ecx, edx
mov edx, eax
sub edx, 0x5ab64658
sub edx, ecx
add edx, 0x5ab64658
add edx, 0xa3be755b
add edx, 0x178ba47d
sub edx, 0xa3be755b
sub eax, 0x13c8a9b3
sub eax, edx
add eax, 0x13c8a9b3
mov dword [esi + 0x94], eax
jmp 0x1004f29e
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
movzx ecx, word [ecx + 4]
cmp ecx, 0x14c
jne 0x1004f840
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x34]
mov edx, dword [esi + 0x28]
mov dword [edx], ecx
mov dword [edx + 4], 0
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov dword [esi + 0x7c], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x88], ecx
mov dword [esi + 0x84], 0x7580
mov dword [esi + 0x80], 0xeb00
mov eax, dword [esi + 0x84]
cdq
mov ecx, 4
idiv ecx
cmp edx, 0
jne 0x1004f8fe
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
sub ecx, 0x6616bef
add ecx, 0x314012b
add ecx, 0x6616bef
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0xa9f832c4
add edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 0x7178989e
add ecx, edx
add ecx, 0x7178989e
mov edx, eax
sub edx, 0xa9f832c4
add ecx, edx
mov edx, 0xada118f7
add edx, 0
sub edx, ecx
sub edx, 0xada118f7
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x314012b
add ecx, edx
mov edx, eax
sub edx, ecx
sub eax, edx
add eax, 0
imul eax, eax, 0x75800634
mov dword [esi + 0x84], eax
jmp 0x100504be
mov eax, dword [esi + 0x84]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x1004fd73
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0x816302c7
add edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 0xd4659cae
sub ebx, 0xae8ab559
add ebx, 0xd4659cae
sub ebx, 0x94506cce
sub ebx, 1
add ebx, 0x94506cce
sub ebx, 0x32365d80
add ebx, 0xae8ab559
add ebx, 0x32365d80
mov edi, eax
sub edi, 0x12c501e8
sub edi, ebx
add edi, 0x12c501e8
sub edi, 0xe83cf249
add edi, 0x816302c7
add edi, 0xe83cf249
sub eax, edi
add eax, 0
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
or cl, dh
mov dl, al
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
mov bh, cl
xor bh, 0xff
and bh, 0xff
and cl, dh
or dl, bl
or bh, cl
xor dl, bh
mov cl, al
xor cl, 0xff
mov dh, dl
xor dh, cl
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov bl, al
and bl, dl
or cl, bl
mov dl, ah
xor dl, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dl, cl
or bl, 1
xor dl, 0xff
and dl, bl
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
or cl, ah
xor al, 0xff
xor cl, 0xff
mov ah, ch
xor ah, 0
or al, cl
or ah, 0
xor al, 0xff
and al, ah
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, 0xff
mov bl, ch
xor bl, 0
mov bh, cl
and bh, 0
and dl, bl
mov byte [esi + 0x18], ah
and ah, 0
and al, bl
or bh, dl
or ah, al
xor bh, ah
mov al, byte [esi + 0x18]
or cl, al
xor cl, 0xff
or bl, 0
and cl, bl
or bh, cl
mov cl, dh
xor cl, 0xff
mov dl, bh
xor dl, 0xff
xor ch, 1
or cl, dl
or ch, 1
xor cl, 0xff
and cl, ch
mov dl, dh
xor dl, 0xff
mov ah, bh
and ah, dl
xor bh, 0xff
and dh, bh
or ah, dh
mov dl, cl
and dl, ah
xor cl, ah
or dl, cl
test dl, 1
jne 0x1004faa0
jmp 0x10050327
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
imul edx, dword [esi + 0x88]
imul edx, dword [esi + 0x88]
mov edi, eax
sub edi, 0xe2a3d45f
add ecx, edi
mov edi, eax
sub edi, 0xd00f51b8
add ecx, edi
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0xe2a3d45f
add edi, ecx
mov ecx, eax
sub ecx, edi
mov edi, 0x42921b6e
add edi, 0
sub edi, edx
sub edi, 0x42921b6e
add ecx, 0x6eb5de06
add ecx, edi
sub ecx, 0x6eb5de06
mov edx, eax
sub edx, 0x34877c66
add ecx, edx
sub ecx, 0x48528320
add ecx, 0xd00f51b8
add ecx, 0x48528320
mov edx, eax
sub edx, 0x34877c66
sub ecx, edx
mov dword [esi + 0x88], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
add edi, 0xcfb8696b
add edi, 0xb4c9c335
sub edi, 0xcfb8696b
add edi, 0x88e34bc8
sub edi, 0x4272c9d0
sub edi, 0x88e34bc8
sub edi, 0x53f4a52b
sub edi, 0xb4c9c335
add edi, 0x53f4a52b
sub edi, 0x28cacaf1
add edi, 0x5b9d828a
add edi, 0x28cacaf1
mov ebx, eax
sub ebx, 1
add edi, ebx
add edi, 0xd647c13
sub edi, 0x5b9d828a
sub edi, 0xd647c13
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0xb0ecf2b
add ebx, edi
sub eax, ebx
add eax, 0x5cc51a86
add eax, 0x4272c9d0
sub eax, 0x5cc51a86
sub eax, 0xa2cb723d
sub eax, 0xb0ecf2b
add eax, 0xa2cb723d
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0xff
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
mov byte [esi + 0x17], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
xor dh, 0xff
mov ch, ah
xor ch, dh
and ch, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 0x17]
xor bl, 1
and ah, bl
mov bh, byte [esi + 0x17]
xor bh, 1
and bh, 0xff
and bl, 1
or dh, ah
or bh, bl
xor dh, bh
xor al, 0xff
xor dh, 0xff
mov ah, byte [esi + 0x17]
xor ah, 1
or al, dh
or ah, 1
xor al, 0xff
and al, ah
mov ah, ch
and ah, al
xor ch, al
or ah, ch
mov al, dl
xor al, 0xff
mov ch, cl
xor ch, al
and ch, cl
mov al, cl
xor al, 0xff
and al, 0
mov dh, byte [esi + 0x17]
xor dh, 0
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0
and dl, dh
or al, cl
or bl, dl
xor al, bl
mov cl, ch
xor cl, 0xff
mov dl, al
xor dl, 0xff
mov dh, byte [esi + 0x17]
xor dh, 0
mov bl, cl
and bl, 0
and ch, dh
mov bh, dl
and bh, 0
and al, dh
or bl, ch
or bh, al
xor bl, bh
or cl, dl
xor cl, 0xff
or dh, 0
and cl, dh
or bl, cl
mov al, bl
xor al, 0xff
and al, 1
mov cl, byte [esi + 0x17]
xor cl, 1
mov dl, bl
and dl, cl
or al, dl
mov cl, ah
xor cl, 0xff
and cl, 1
mov dl, byte [esi + 0x17]
xor dl, 1
mov ch, ah
and ch, dl
or cl, ch
mov dl, ah
xor dl, 0xff
and dl, 1
mov ch, byte [esi + 0x17]
xor ch, 1
and ah, ch
mov dh, al
xor dh, 0xff
and dh, 0xff
and al, ch
or dl, ah
or dh, al
xor dl, dh
mov al, cl
xor al, 0xff
mov ah, bl
xor ah, 0xff
mov ch, byte [esi + 0x17]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bh, ah
and bh, 0
and bl, ch
or dh, cl
or bh, bl
xor dh, bh
or al, ah
xor al, 0xff
or ch, 0
and al, ch
or dh, al
mov al, dh
xor al, 0xff
and al, 1
mov cl, byte [esi + 0x17]
xor cl, 1
and dh, cl
or al, dh
mov cl, dl
and cl, al
xor dl, al
or cl, dl
test cl, 1
jne 0x1004fd6e
jmp 0x10050327
jmp 0x10050322
mov eax, dword [esi + 0x84]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x1005019c
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0xfca41684
add edi, 0xd7f53382
add edi, 0xfca41684
sub edi, 0x60ec5007
sub edi, 0x312903ed
add edi, 0x60ec5007
mov ebx, eax
sub ebx, 1
add edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x312903ed
add ebx, edi
sub eax, ebx
sub eax, 0xc2c67179
sub eax, 0xd7f53382
add eax, 0xc2c67179
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0xff
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
mov byte [esi + 0x16], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
mov ch, ah
xor ch, 0xff
xor dh, 0xff
mov bl, byte [esi + 0x16]
xor bl, 1
or ch, dh
or bl, 1
xor ch, 0xff
and ch, bl
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 0x16]
xor bl, 1
and ah, bl
mov bh, byte [esi + 0x16]
xor bh, 1
and bh, 0xff
and bl, 1
or dh, ah
or bh, bl
xor dh, bh
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, ch
and al, ah
xor ch, ah
or al, ch
mov ah, dl
xor ah, 0xff
mov ch, cl
xor ch, ah
and ch, cl
mov ah, cl
xor ah, 0xff
and ah, 1
mov dh, byte [esi + 0x16]
xor dh, 1
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0xff
and dl, dh
or ah, cl
or bl, dl
xor ah, bl
mov cl, ch
and cl, ah
xor ch, ah
or cl, ch
mov dl, cl
xor dl, 0xff
and dl, 0
mov ah, byte [esi + 0x16]
xor ah, 0
and cl, ah
mov ch, byte [esi + 0x16]
xor ch, 1
and ch, 0
and ah, 1
or dl, cl
or ch, ah
xor dl, ch
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov cl, al
xor cl, 0xff
and cl, 0
mov ch, byte [esi + 0x16]
xor ch, 0
and al, ch
mov dh, dl
xor dh, 0xff
and dh, 0
and dl, ch
or cl, al
or dh, dl
xor cl, dh
mov al, ah
xor al, 0xff
mov dl, cl
xor dl, 0xff
mov ch, byte [esi + 0x16]
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, 0xff
or ch, 0
and al, ch
or dh, al
test dh, 1
jne 0x1004ff66
jmp 0x100503c9
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
mov edi, dword [esi + 0x88]
mov ebx, eax
sub ebx, edi
add ebx, 0xb5749cc9
sub ebx, 0x4354bc28
sub ebx, 0xb5749cc9
add ebx, 0x4354bc28
mov edi, eax
sub edi, 0x15663661
sub edi, ebx
add edi, 0x15663661
mov ebx, eax
sub ebx, edx
mov edx, eax
sub edx, edi
add ebx, edx
mov edx, eax
sub edx, ebx
mov edi, eax
sub edi, 0x11eb6fec
add ecx, edi
sub ecx, 0x49b68b1e
sub ecx, 0x8ce86cb
add ecx, 0x49b68b1e
sub ecx, 0xd063969
add ecx, 0x11eb6fec
add ecx, 0xd063969
add ecx, 0x846a258
sub ecx, 0x40698a72
sub ecx, 0x846a258
sub ecx, 0xff172a7f
add ecx, edx
add ecx, 0xff172a7f
sub ecx, 0x80172938
add ecx, 0x40698a72
add ecx, 0x80172938
mov edx, eax
sub edx, ecx
add edx, 0
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0xf7317935
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0
mov dword [esi + 0x84], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
add edi, 0
sub eax, 1
sub edi, eax
mov eax, 0xb52ab953
add eax, 0
sub eax, edi
sub eax, 0xb52ab953
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
xor dh, 0xff
mov cl, al
xor cl, 0xff
mov dl, ch
xor dl, 0
or dh, cl
or dl, 0
xor dh, 0xff
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov bl, al
and bl, dl
or cl, bl
xor cl, 0xff
mov dl, ah
xor dl, cl
and dl, ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
or cl, ah
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dl
and al, ah
xor dl, ah
or al, dl
mov cl, dh
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov ah, dh
and ah, dl
or cl, ah
mov dl, al
xor dl, 0xff
and dl, 1
mov ah, ch
xor ah, 1
mov bl, al
and bl, ah
or dl, bl
mov ah, dh
xor ah, 0xff
and ah, 0
mov bl, ch
xor bl, 0
and dh, bl
mov bh, al
xor bh, 0xff
and bh, 0
and al, bl
or ah, dh
or bh, al
xor ah, bh
mov al, cl
xor al, 0xff
mov dh, dl
xor dh, 0xff
mov bl, ch
xor bl, 1
mov bh, al
and bh, 0xff
and cl, bl
mov byte [esi + 0x15], dh
and dh, 0xff
and dl, bl
or bh, cl
or dh, dl
xor bh, dh
mov cl, byte [esi + 0x15]
or al, cl
xor al, 0xff
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 0xff
and al, 1
xor ch, 1
and bh, ch
or al, bh
mov dl, ah
and dl, al
xor ah, al
or dl, ah
test dl, 1
jne 0x10050197
jmp 0x100503c9
jmp 0x1005031d
mov eax, dword [esi + 0x84]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x10050318
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
add ecx, 0x9d366b25
add ecx, 0x1ea66b9
sub ecx, 0x9d366b25
mov edi, eax
sub edi, 0x17d119e6
sub edi, edx
add edi, 0x17d119e6
add ecx, 0x7a09441
add ecx, edi
sub ecx, 0x7a09441
mov edx, eax
sub edx, 0xa0a33d72
sub edx, ecx
add edx, 0xa0a33d72
mov ecx, eax
sub ecx, 0x1ea66b9
sub edx, ecx
mov ecx, 0xc65f6b1c
add ecx, 0
sub ecx, edx
sub ecx, 0xc65f6b1c
mov edx, dword [esi + 0x84]
mov edi, 0x60d85e01
add edi, 0x566253e
sub edi, edx
sub edi, 0x60d85e01
add edi, 0x68483baa
add edi, 0xfa99dac2
sub edi, 0x68483baa
add ecx, 0x372d2dab
sub ecx, 0xd28531fa
sub ecx, 0x372d2dab
sub ecx, 0xb1f5bbcc
add ecx, edi
add ecx, 0xb1f5bbcc
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xd28531fa
add edx, ecx
mov ecx, eax
sub ecx, edx
sub ecx, 0x56f9d133
add ecx, 0x9c23e117
add ecx, 0x56f9d133
add ecx, 0x7ba9cfca
sub ecx, 0x2cd1b0f9
sub ecx, 0x7ba9cfca
add ecx, 0x2cfd6e95
sub ecx, 0x9c23e117
sub ecx, 0x2cfd6e95
sub ecx, 0xfbd32635
add ecx, 0xc1104183
add ecx, 0xfbd32635
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x18
add edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0x2a7a9b62
sub ecx, 0xc1104183
sub ecx, 0x2a7a9b62
add ecx, 0xd10d2b94
sub ecx, 0xfda4adbd
sub ecx, 0xd10d2b94
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x2cd1b0f9
add edx, ecx
sub eax, edx
sub eax, 0x3c78148c
add eax, 0xfda4adbd
add eax, 0x3c78148c
mov dword [esi + 0x84], eax
jmp 0x1005031d
jmp 0x10050322
jmp 0x100504be
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
mov edi, dword [esi + 0x88]
imul edx, edi
mov edi, dword [esi + 0x88]
imul edx, edi
add ecx, 0x548434b6
add ecx, 0x7069fb55
sub ecx, 0x548434b6
mov edi, eax
sub edi, 0x8bedda9a
add ecx, edi
sub ecx, 0x91aee767
sub ecx, 0x7069fb55
add ecx, 0x91aee767
mov edi, eax
sub edi, 0xdcb62aff
sub edi, edx
add edi, 0xdcb62aff
add ecx, 0xd93b4faf
add ecx, edi
sub ecx, 0xd93b4faf
sub ecx, 0x14af6201
sub ecx, 0x1df34d43
add ecx, 0x14af6201
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x8bedda9a
add edx, ecx
mov ecx, eax
sub ecx, edx
sub eax, 0x1df34d43
sub ecx, eax
mov dword [esi + 0x88], ecx
jmp 0x1004faa0
xor eax, eax
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
mov edi, dword [esi + 0x88]
mov ebx, eax
sub ebx, edx
add ebx, 0x3c5fb048
sub ebx, 0xc91dcab9
sub ebx, 0x3c5fb048
add ebx, 0xc91dcab9
mov edx, eax
sub edx, edi
add edx, 0xf53c6b53
mov edi, eax
sub edi, 0xac394ad
sub edx, edi
mov edi, eax
sub edi, 0xc9e09c43
sub ebx, edi
mov edi, eax
sub edi, edx
sub ebx, edi
add ebx, 0x1d9fc9ab
sub ebx, 0xc9e09c43
sub ebx, 0x1d9fc9ab
mov edx, 0x5bc36098
sub edx, 0xab936186
sub edx, ebx
add edx, 0xab936186
sub edx, 0xee0fa49e
sub edx, 0x5bc36098
add edx, 0xee0fa49e
add ecx, 0x4c77e2f6
add ecx, 0x7f813854
sub ecx, 0x4c77e2f6
mov edi, eax
sub edi, 0xe8745b83
add ecx, edi
mov edi, eax
sub edi, 0x7f813854
add ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
sub eax, edi
add ecx, eax
mov eax, 0x50a8f4ce
add eax, 0
sub eax, ecx
sub eax, 0x50a8f4ce
add eax, 0x14caf4f8
add eax, 0x178ba47d
sub eax, 0x14caf4f8
mov ecx, 0x134fc99e
add ecx, 0
sub ecx, eax
sub ecx, 0x134fc99e
mov dword [esi + 0x84], ecx
jmp 0x1004ff66
jmp 0x100504c3
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x74], 0x7580
mov dword [esi + 0x70], 0xeb00
mov eax, dword [esi + 0x74]
cdq
mov ecx, 4
idiv ecx
cmp edx, 0
jne 0x1005057b
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
add ecx, 0xfac11661
add ecx, 0x314012b
sub ecx, 0xfac11661
sub ecx, 0x41438ba8
add ecx, 0xa9f832c4
add ecx, 0x41438ba8
add ecx, 0xe26f2e31
add ecx, edx
sub ecx, 0xe26f2e31
sub ecx, 0xbf42dbc1
sub ecx, 0xa9f832c4
add ecx, 0xbf42dbc1
mov edx, 0x337fd743
add edx, 0
sub edx, ecx
sub edx, 0x337fd743
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x314012b
add ecx, edx
mov edx, eax
sub edx, ecx
sub eax, 0xd5969676
sub eax, edx
add eax, 0xd5969676
imul eax, eax, 0x75800634
mov dword [esi + 0x74], eax
jmp 0x1005115f
mov eax, dword [esi + 0x74]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x10050a15
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0x7b3c3a2f
add edi, 0x816302c7
add edi, 0x7b3c3a2f
add edi, 0x19782b84
sub edi, 0xae8ab559
sub edi, 0x19782b84
sub edi, 0x6902f122
sub edi, 1
add edi, 0x6902f122
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0xae8ab559
add ebx, edi
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, edi
add ebx, 0
add ebx, 0xbd1269e4
add ebx, 0x816302c7
sub ebx, 0xbd1269e4
sub eax, ebx
add eax, 0
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
or cl, dh
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
mov cl, al
xor cl, 0xff
mov dl, dh
xor dl, cl
and dl, dh
mov cl, al
xor cl, 0xff
and cl, 0
mov dh, ch
xor dh, 0
mov bl, al
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or cl, bl
or bh, dh
xor cl, bh
xor cl, 0xff
mov dh, ah
xor dh, cl
and dh, ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov bl, ch
xor bl, 1
and ah, bl
or cl, ah
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dh
xor al, 0xff
mov cl, ah
xor cl, 0xff
mov bl, ch
xor bl, 1
mov bh, al
and bh, 0xff
and dh, bl
mov byte [esi + 0x14], cl
and cl, 0xff
and ah, bl
or bh, dh
or cl, ah
xor bh, cl
mov cl, byte [esi + 0x14]
or al, cl
xor al, 0xff
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 0xff
mov ah, dl
xor ah, al
and ah, dl
mov al, dl
xor al, 0xff
mov dh, bh
and dh, al
xor bh, 0xff
and dl, bh
or dh, dl
mov al, ah
xor al, 0xff
mov dl, dh
xor dl, 0xff
xor ch, 0
mov bl, al
and bl, 0
and ah, ch
mov bh, dl
and bh, 0
and dh, ch
or bl, ah
or bh, dh
xor bl, bh
or al, dl
xor al, 0xff
or ch, 0
and al, ch
or bl, al
test bl, 1
jne 0x1005070e
jmp 0x10050fbf
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
imul edx, dword [esi + 0x78]
imul edx, dword [esi + 0x78]
add ecx, 0x40f44c9d
sub ecx, 0xe2a3d45f
sub ecx, 0x40f44c9d
mov edi, eax
sub edi, 0xd00f51b8
add ecx, edi
add ecx, 0x7383634a
add ecx, 0xe2a3d45f
sub ecx, 0x7383634a
mov edi, eax
sub edi, edx
add edi, 0
add ecx, 0xb02d1940
add ecx, edi
sub ecx, 0xb02d1940
sub ecx, 0x74770101
sub ecx, 0x34877c66
add ecx, 0x74770101
sub ecx, 0x2712b82a
add ecx, 0xd00f51b8
add ecx, 0x2712b82a
mov edx, eax
sub edx, 0x34877c66
sub ecx, edx
mov dword [esi + 0x78], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
add edi, 0x32d3101d
add edi, 0xb4c9c335
sub edi, 0x32d3101d
mov ebx, eax
sub ebx, 0x4272c9d0
add edi, ebx
mov ebx, eax
sub ebx, 0xb4c9c335
add edi, ebx
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x5b9d828a
add ebx, edi
mov edi, eax
sub edi, ebx
sub edi, 0xf44d6d1b
sub edi, 1
add edi, 0xf44d6d1b
add edi, 0xcaeffbc5
sub edi, 0x5b9d828a
sub edi, 0xcaeffbc5
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0xb0ecf2b
add ebx, edi
sub eax, ebx
sub eax, 0x4857dcc8
add eax, 0x4272c9d0
add eax, 0x4857dcc8
add eax, 0x1a0030b9
sub eax, 0xb0ecf2b
sub eax, 0x1a0030b9
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
mov byte [esi + 0x13], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
mov ch, ah
xor ch, 0xff
xor dh, 0xff
mov bl, byte [esi + 0x13]
xor bl, 1
or ch, dh
or bl, 1
xor ch, 0xff
and ch, bl
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 0x13]
xor bl, 1
and ah, bl
mov bh, byte [esi + 0x13]
xor bh, 1
and bh, 0xff
and bl, 1
or dh, ah
or bh, bl
xor dh, bh
xor al, 0xff
xor dh, 0xff
mov ah, byte [esi + 0x13]
xor ah, 0
or al, dh
or ah, 0
xor al, 0xff
and al, ah
mov ah, ch
and ah, al
xor ch, al
or ah, ch
mov al, dl
xor al, 0xff
mov ch, cl
xor ch, al
and ch, cl
mov al, cl
xor al, 0xff
mov dh, dl
and dh, al
xor dl, 0xff
and cl, dl
or dh, cl
mov al, ch
xor al, 0xff
mov cl, dh
xor cl, 0xff
mov dl, byte [esi + 0x13]
xor dl, 1
mov bl, al
and bl, 0xff
and ch, dl
mov bh, cl
and bh, 0xff
and dh, dl
or bl, ch
or bh, dh
xor bl, bh
or al, cl
xor al, 0xff
or dl, 1
and al, dl
or bl, al
mov al, bl
xor al, 0xff
and al, 1
mov cl, byte [esi + 0x13]
xor cl, 1
mov dl, bl
and dl, cl
mov ch, byte [esi + 0x13]
xor ch, 1
and ch, 0xff
and cl, 1
or al, dl
or ch, cl
xor al, ch
mov cl, ah
xor cl, 0xff
and cl, 0
mov dl, byte [esi + 0x13]
xor dl, 0
mov ch, ah
and ch, dl
mov dh, byte [esi + 0x13]
xor dh, 1
and dh, 0
and dl, 1
or cl, ch
or dh, dl
xor cl, dh
mov dl, ah
xor dl, 0xff
mov ch, al
and ch, dl
xor al, 0xff
and ah, al
or ch, ah
mov al, cl
xor al, 0xff
mov dl, bl
xor dl, 0xff
mov ah, byte [esi + 0x13]
xor ah, 0
mov dh, al
and dh, 0
and cl, ah
mov bh, dl
and bh, 0
and bl, ah
or dh, cl
or bh, bl
xor dh, bh
or al, dl
xor al, 0xff
or ah, 0
and al, ah
or dh, al
mov al, dh
xor al, 0xff
and al, 1
mov cl, byte [esi + 0x13]
xor cl, 1
and dh, cl
or al, dh
mov cl, ch
xor cl, 0xff
mov dl, al
xor dl, 0xff
mov ah, byte [esi + 0x13]
xor ah, 1
mov dh, cl
and dh, 0xff
and ch, ah
mov bl, dl
and bl, 0xff
and al, ah
or dh, ch
or bl, al
xor dh, bl
or cl, dl
xor cl, 0xff
or ah, 1
and cl, ah
or dh, cl
test dh, 1
jne 0x10050a10
jmp 0x10050fbf
jmp 0x10050fba
mov eax, dword [esi + 0x74]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x10050e62
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0xd7f53382
add edi, ebx
mov ebx, eax
sub ebx, edi
add ebx, 0xcfed480e
sub ebx, 0x312903ed
sub ebx, 0xcfed480e
mov edi, eax
sub edi, 1
add ebx, edi
add ebx, 0x2e5e0b18
add ebx, 0x312903ed
sub ebx, 0x2e5e0b18
sub eax, 0xd7f53382
add ebx, eax
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
or dh, bh
mov bl, ah
xor bl, 0xff
xor dh, 0xff
mov bh, ch
xor bh, 0
or bl, dh
or bh, 0
xor bl, 0xff
and bl, bh
mov dh, ah
xor dh, 0xff
and dh, 1
mov bh, ch
xor bh, 1
and ah, bh
or dh, ah
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, bl
xor al, 0xff
mov dh, ah
xor dh, 0xff
mov bh, ch
xor bh, 0
mov byte [esi + 0x12], al
and al, 0
and bl, bh
mov byte [esi + 0x11], dh
and dh, 0
and ah, bh
or al, bl
or dh, ah
xor al, dh
mov ah, byte [esi + 0x12]
mov dh, byte [esi + 0x11]
or ah, dh
xor ah, 0xff
or bh, 0
and ah, bh
or al, ah
mov ah, cl
xor ah, 0xff
mov bl, dl
xor bl, 0xff
mov bh, ch
xor bh, 0
or ah, bl
or bh, 0
xor ah, 0xff
and ah, bh
mov bl, cl
xor bl, 0xff
mov bh, dl
and bh, bl
xor dl, 0xff
and cl, dl
or bh, cl
mov cl, ah
and cl, bh
xor ah, bh
or cl, ah
mov dl, cl
xor dl, 0xff
and dl, 1
mov ah, ch
xor ah, 1
and cl, ah
mov bl, ch
xor bl, 1
and bl, 0xff
and ah, 1
or dl, cl
or bl, ah
xor dl, bl
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov cl, al
xor cl, 0xff
mov bl, dl
and bl, cl
xor dl, 0xff
and al, dl
or bl, al
mov al, ah
xor al, 0xff
mov cl, bl
xor cl, 0xff
xor ch, 1
mov dl, al
and dl, 0xff
and ah, ch
mov bh, cl
and bh, 0xff
and bl, ch
or dl, ah
or bh, bl
xor dl, bh
or al, cl
xor al, 0xff
or ch, 1
and al, ch
or dl, al
test dl, 1
jne 0x10050bd3
jmp 0x10051051
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
mov ebx, eax
sub ebx, edi
add ebx, 0xb5749cc9
sub ebx, 0x941207a2
sub ebx, 0xb5749cc9
add ebx, 0x941207a2
mov edi, eax
sub edi, ebx
add edi, 0
add edx, 0xc662a18
add edx, edi
sub edx, 0xc662a18
add ecx, 0xb109fe1
sub ecx, 0x11eb6fec
sub ecx, 0xb109fe1
sub ecx, 0xa0567f68
sub ecx, 0x8ce86cb
add ecx, 0xa0567f68
sub ecx, 0xe65f4f6a
add ecx, 0x11eb6fec
add ecx, 0xe65f4f6a
sub ecx, 0x8a445670
sub ecx, 0x40698a72
add ecx, 0x8a445670
sub ecx, 0x25ec1b67
add ecx, edx
add ecx, 0x25ec1b67
sub ecx, 0xb2c696e6
add ecx, 0x40698a72
add ecx, 0xb2c696e6
mov edx, eax
sub edx, ecx
add edx, 0
add edx, 0x348e4477
add edx, 0xf7317935
sub edx, 0x348e4477
mov ecx, eax
sub ecx, edx
add ecx, 0
mov dword [esi + 0x74], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, 0x2e36bc40
sub edi, ecx
add edi, 0x2e36bc40
mov ebx, eax
sub ebx, 1
sub edi, ebx
sub eax, edi
add eax, 0
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, al
and bl, dh
mov bh, cl
xor bh, 0xff
and bh, 0xff
and cl, dh
or dl, bl
or bh, cl
xor dl, bh
mov cl, al
xor cl, 0xff
mov dh, dl
xor dh, cl
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 0
mov dl, ch
xor dl, 0
mov bl, al
and bl, dl
mov bh, ch
xor bh, 1
and bh, 0
and dl, 1
or cl, bl
or bh, dl
xor cl, bh
mov dl, ah
xor dl, 0xff
xor cl, 0xff
mov bl, ch
xor bl, 1
or dl, cl
or bl, 1
xor dl, 0xff
and dl, bl
mov cl, ah
xor cl, 0xff
and cl, 0
mov bl, ch
xor bl, 0
and ah, bl
mov bh, ch
xor bh, 1
and bh, 0
and bl, 1
or cl, ah
or bh, bl
xor cl, bh
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, dl
and al, ah
xor dl, ah
or al, dl
mov cl, dh
xor cl, 0xff
and cl, 0
mov dl, ch
xor dl, 0
mov ah, dh
and ah, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, ah
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
and dl, 1
mov ah, ch
xor ah, 1
mov bl, al
and bl, ah
or dl, bl
mov ah, dh
xor ah, 0xff
and ah, 1
mov bl, ch
xor bl, 1
and dh, bl
mov bh, al
xor bh, 0xff
and bh, 0xff
and al, bl
or ah, dh
or bh, al
xor ah, bh
mov al, cl
xor al, 0xff
mov dh, dl
xor dh, 0xff
mov bl, ch
xor bl, 1
mov bh, al
and bh, 0xff
and cl, bl
mov byte [esi + 0x10], dh
and dh, 0xff
and dl, bl
or bh, cl
or dh, dl
xor bh, dh
mov cl, byte [esi + 0x10]
or al, cl
xor al, 0xff
or bl, 1
and al, bl
or bh, al
mov al, bh
xor al, 0xff
and al, 1
mov dl, ch
xor dl, 1
and bh, dl
or al, bh
mov dl, ah
xor dl, 0xff
mov dh, al
xor dh, 0xff
xor ch, 1
mov bl, dl
and bl, 0xff
and ah, ch
mov bh, dh
and bh, 0xff
and al, ch
or bl, ah
or bh, al
xor bl, bh
or dl, dh
xor dl, 0xff
or ch, 1
and dl, ch
or bl, dl
test bl, 1
jne 0x10050e5d
jmp 0x10051051
jmp 0x10050fb5
mov eax, dword [esi + 0x74]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x10050fb0
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
sub ecx, 0x605c5125
add ecx, 0x1ea66b9
add ecx, 0x605c5125
mov edi, 0x3389a5a6
add edi, 0
sub edi, edx
sub edi, 0x3389a5a6
add ecx, 0xbe38c677
add ecx, edi
sub ecx, 0xbe38c677
mov edx, 0x9eff9b0c
add edx, 0
sub edx, ecx
sub edx, 0x9eff9b0c
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x1ea66b9
add ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, 0xa0fe5c80
add ecx, 0
sub ecx, edx
sub ecx, 0xa0fe5c80
mov edx, dword [esi + 0x74]
mov edi, eax
sub edi, edx
add edi, 0x566253e
mov edx, eax
sub edx, edi
mov edi, eax
sub edi, 0xfa99dac2
add edx, edi
mov edi, eax
sub edi, edx
sub ecx, 0x9eb6ce38
sub ecx, 0xd28531fa
add ecx, 0x9eb6ce38
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, edi
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xd28531fa
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x9c23e117
sub ecx, edx
mov edx, eax
sub edx, 0x2cd1b0f9
add ecx, edx
sub ecx, 0x7c983bbf
sub ecx, 0x9c23e117
add ecx, 0x7c983bbf
mov edx, eax
sub edx, 0xc1104183
sub ecx, edx
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x18
add edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0x37fa175
sub ecx, 0xc1104183
sub ecx, 0x37fa175
add ecx, 0xb235fdd9
sub ecx, 0xfda4adbd
sub ecx, 0xb235fdd9
add ecx, 0x1f95c64d
add ecx, 0x2cd1b0f9
sub ecx, 0x1f95c64d
sub eax, 0xfda4adbd
sub ecx, eax
mov dword [esi + 0x74], ecx
jmp 0x10050fb5
jmp 0x10050fba
jmp 0x1005115f
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
imul edx, edi
mov edi, dword [esi + 0x78]
imul edx, edi
add ecx, 0x6d98c2be
add ecx, 0x7069fb55
sub ecx, 0x6d98c2be
mov edi, eax
sub edi, 0x8bedda9a
add ecx, edi
sub eax, 0x7069fb55
add ecx, eax
mov eax, 0x1080d017
add eax, 0
sub eax, edx
sub eax, 0x1080d017
add ecx, 0x49ce40cd
add ecx, eax
sub ecx, 0x49ce40cd
sub ecx, 0x2b95b3e8
sub ecx, 0x1df34d43
add ecx, 0x2b95b3e8
sub ecx, 0x43b63068
add ecx, 0x8bedda9a
add ecx, 0x43b63068
sub ecx, 0x3738095f
add ecx, 0x1df34d43
add ecx, 0x3738095f
mov dword [esi + 0x78], ecx
jmp 0x1005070e
xor eax, eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
mov ebx, 0x3c5fb048
sub ebx, 0xcb592a72
sub ebx, edx
add ebx, 0xcb592a72
mov edx, eax
sub edx, 0x3c5fb048
add ebx, edx
mov edx, 0xbe4fbf34
add edx, 0xf53c6b53
sub edx, edi
sub edx, 0xbe4fbf34
sub edx, 0x1d3271c1
add edx, 0xac394ad
add edx, 0x1d3271c1
add ebx, 0xeb801dbb
add ebx, 0xc9e09c43
sub ebx, 0xeb801dbb
add ebx, 0xf4b1e93b
add ebx, edx
sub ebx, 0xf4b1e93b
mov edx, eax
sub edx, 0xc9e09c43
add ebx, edx
mov edx, 0x5bc36098
sub edx, 0x9036e3c8
sub edx, ebx
add edx, 0x9036e3c8
mov edi, eax
sub edi, 0x5bc36098
add edx, edi
sub ecx, 0xc9b31337
add ecx, 0x7f813854
add ecx, 0xc9b31337
add ecx, 0x4b200af6
sub ecx, 0xe8745b83
sub ecx, 0x4b200af6
sub ecx, 0x4365718a
sub ecx, 0x7f813854
add ecx, 0x4365718a
mov edi, 0x75321a6
add edi, 0
sub edi, edx
sub edi, 0x75321a6
add ecx, 0x3da53f52
sub ecx, edi
sub ecx, 0x3da53f52
mov edx, eax
sub edx, ecx
add edx, 0
sub edx, 0x969ec180
add edx, 0x178ba47d
add edx, 0x969ec180
sub eax, edx
add eax, 0
mov dword [esi + 0x74], eax
jmp 0x10050bd3
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
mov edx, dword [ecx + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov eax, esp
mov ecx, eax
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov edi, esp
mov ebx, dword [esi + 0x30]
mov dword [eax], ebx
mov dword [edx + 4], 0
mov dword [edx], 0
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edi
call fcn.1002d6a0
add esp, 4
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov edx, dword [eax]
mov dword [esi + 0x4c], edx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x58], edx
mov dword [esi + 0x54], 0x7580
mov dword [esi + 0x50], 0xeb00
mov eax, dword [esi + 0x54]
cdq
mov edi, 4
idiv edi
cmp edx, 0
jne 0x1005126b
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x314012b
add edi, ecx
mov ecx, eax
sub ecx, edi
add ecx, 0xc1458012
add ecx, 0xa9f832c4
sub ecx, 0xc1458012
sub ecx, 0xadbd8dd5
add ecx, edx
add ecx, 0xadbd8dd5
add ecx, 0xa71db81b
sub ecx, 0xa9f832c4
sub ecx, 0xa71db81b
mov edx, 0x1fddc68f
add edx, 0
sub edx, ecx
sub edx, 0x1fddc68f
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x314012b
add ecx, edx
sub eax, ecx
mov ecx, 0xd780e2b2
add ecx, 0
sub ecx, eax
sub ecx, 0xd780e2b2
imul eax, ecx, 0x75800634
mov dword [esi + 0x54], eax
jmp 0x10051e1d
mov eax, dword [esi + 0x54]
cdq
mov ecx, 4
idiv ecx
cmp edx, 1
jne 0x100516d4
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, ecx
sub edi, 0x9d475979
add edi, 0x816302c7
add edi, 0x9d475979
sub edi, 0x4f179e91
sub edi, 0xae8ab559
add edi, 0x4f179e91
add edi, 0x11b9f843
sub edi, 1
sub edi, 0x11b9f843
sub eax, 0xae8ab559
sub edi, eax
mov eax, 0x65061f36
add eax, 0
sub eax, edi
sub eax, 0x65061f36
sub eax, 0x4c8886fe
add eax, 0x816302c7
add eax, 0x4c8886fe
mov edi, 0x31d10c3
add edi, 0
sub edi, eax
sub edi, 0x31d10c3
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 0xff
and al, 0
mov ah, 1
mov cl, ah
xor cl, 0
mov ch, bh
and ch, cl
mov dl, ah
xor dl, 1
and dl, 0
and cl, 1
or al, ch
or dl, cl
xor al, dl
mov cl, bl
xor cl, 0xff
mov dl, al
and dl, cl
xor al, 0xff
mov cl, bl
and cl, al
or dl, cl
xor dl, 0xff
mov al, bl
xor al, 0xff
mov cl, ah
xor cl, 0
or dl, al
or cl, 0
xor dl, 0xff
and dl, cl
mov al, bl
xor al, 0xff
and al, 1
mov cl, ah
xor cl, 1
mov ch, bl
and ch, cl
or al, ch
xor al, 0xff
mov cl, bh
xor cl, al
and cl, bh
mov al, bh
xor al, 0xff
and al, 1
mov ch, ah
xor ch, 1
and bh, ch
or al, bh
xor bl, 0xff
xor al, 0xff
mov ch, ah
xor ch, 1
or bl, al
or ch, 1
xor bl, 0xff
and bl, ch
mov al, cl
and al, bl
xor cl, bl
or al, cl
mov cl, al
xor cl, 0xff
mov ch, dl
xor ch, cl
and ch, dl
mov cl, dl
xor cl, 0xff
and cl, 1
mov dh, ah
xor dh, 1
and dl, dh
mov bl, al
xor bl, 0xff
and bl, 0xff
and al, dh
or cl, dl
or bl, al
xor cl, bl
mov al, ch
xor al, 0xff
mov dl, cl
xor dl, 0xff
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, 0xff
or ah, 0
and al, ah
or dh, al
test dh, 1
jne 0x100513f9
jmp 0x10051c7e
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
imul edx, dword [esi + 0x58]
imul edx, dword [esi + 0x58]
add ecx, 0x58d4f0c3
sub ecx, 0xe2a3d45f
sub ecx, 0x58d4f0c3
mov edi, eax
sub edi, 0xd00f51b8
add ecx, edi
mov edi, eax
sub edi, 0xe2a3d45f
sub ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
add ecx, 0xd7fb1790
add ecx, edi
sub ecx, 0xd7fb1790
add ecx, 0x73cb3eb8
sub ecx, 0x34877c66
sub ecx, 0x73cb3eb8
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xd00f51b8
add edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0xcd2aca5e
add ecx, 0x34877c66
sub ecx, 0xcd2aca5e
mov dword [esi + 0x58], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0xb4c9c335
add edi, ebx
mov ebx, eax
sub ebx, edi
add ebx, 0xb233ee0c
sub ebx, 0x4272c9d0
sub ebx, 0xb233ee0c
mov edi, eax
sub edi, 0xb4c9c335
add ebx, edi
mov edi, eax
sub edi, ebx
mov ebx, eax
sub ebx, 0x5b9d828a
add edi, ebx
sub eax, edi
sub eax, 0xf5c78b9c
sub eax, 1
add eax, 0xf5c78b9c
add eax, 0xce56966a
sub eax, 0x5b9d828a
sub eax, 0xce56966a
add eax, 0x846486a2
add eax, 0xb0ecf2b
sub eax, 0x846486a2
add eax, 0x5e50c35f
add eax, 0x4272c9d0
sub eax, 0x5e50c35f
add eax, 0xba687598
sub eax, 0xb0ecf2b
sub eax, 0xba687598
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, ah
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
mov byte [esi + 7], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
xor dh, 0xff
mov ch, ah
xor ch, dh
and ch, ah
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 7]
xor bl, 1
and ah, bl
or dh, ah
xor al, 0xff
xor dh, 0xff
mov ah, byte [esi + 7]
xor ah, 0
or al, dh
or ah, 0
xor al, 0xff
and al, ah
mov ah, ch
and ah, al
xor ch, al
or ah, ch
mov al, cl
xor al, 0xff
mov ch, dl
xor ch, 0xff
mov dh, byte [esi + 7]
xor dh, 0
or al, ch
or dh, 0
xor al, 0xff
and al, dh
mov ch, cl
xor ch, 0xff
and ch, 0
mov dh, byte [esi + 7]
xor dh, 0
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0
and dl, dh
or ch, cl
or bl, dl
xor ch, bl
mov cl, al
xor cl, 0xff
mov dl, ch
xor dl, 0xff
mov dh, byte [esi + 7]
xor dh, 1
mov bl, cl
and bl, 0xff
and al, dh
mov bh, dl
and bh, 0xff
and ch, dh
or bl, al
or bh, ch
xor bl, bh
or cl, dl
xor cl, 0xff
or dh, 1
and cl, dh
or bl, cl
mov al, bl
xor al, 0xff
and al, 0
mov cl, byte [esi + 7]
xor cl, 0
mov dl, bl
and dl, cl
mov ch, byte [esi + 7]
xor ch, 1
and ch, 0
and cl, 1
or al, dl
or ch, cl
xor al, ch
mov cl, ah
xor cl, 0xff
and cl, 0
mov dl, byte [esi + 7]
xor dl, 0
mov ch, ah
and ch, dl
mov dh, byte [esi + 7]
xor dh, 1
and dh, 0
and dl, 1
or cl, ch
or dh, dl
xor cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov ch, byte [esi + 7]
xor ch, 1
and ah, ch
mov dh, al
xor dh, 0xff
and dh, 0xff
and al, ch
or dl, ah
or dh, al
xor dl, dh
mov al, cl
and al, bl
xor cl, bl
or al, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov ah, byte [esi + 7]
xor ah, 1
and al, ah
mov ch, byte [esi + 7]
xor ch, 1
and ch, 0xff
and ah, 1
or cl, al
or ch, ah
xor cl, ch
mov al, dl
and al, cl
xor dl, cl
or al, dl
test al, 1
jne 0x100516cf
jmp 0x10051c7e
jmp 0x10051c79
mov eax, dword [esi + 0x54]
cdq
mov ecx, 4
idiv ecx
cmp edx, 2
jne 0x10051b39
xor eax, eax
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, 0xd7f53382
add edi, ebx
mov ebx, eax
sub ebx, edi
sub ebx, 0x86886499
sub ebx, 0x312903ed
add ebx, 0x86886499
mov edi, eax
sub edi, 1
add ebx, edi
sub eax, 0x312903ed
sub ebx, eax
sub ebx, 0xefb1a897
sub ebx, 0xd7f53382
add ebx, 0xefb1a897
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 1
mov dh, ch
xor dh, 1
mov bl, ah
and bl, dh
or dl, bl
mov dh, al
xor dh, 0xff
and dh, 1
mov bl, ch
xor bl, 1
mov bh, al
and bh, bl
mov byte [esi + 6], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
mov ch, ah
xor ch, 0xff
xor dh, 0xff
mov bl, byte [esi + 6]
xor bl, 0
or ch, dh
or bl, 0
xor ch, 0xff
and ch, bl
mov dh, ah
xor dh, 0xff
and dh, 1
mov bl, byte [esi + 6]
xor bl, 1
and ah, bl
or dh, ah
xor dh, 0xff
mov ah, al
xor ah, dh
and ah, al
mov al, ch
xor al, 0xff
mov dh, ah
xor dh, 0xff
mov bl, byte [esi + 6]
xor bl, 1
mov bh, al
and bh, 0xff
and ch, bl
mov byte [esi + 5], dh
and dh, 0xff
and ah, bl
or bh, ch
or dh, ah
xor bh, dh
mov ah, byte [esi + 5]
or al, ah
xor al, 0xff
or bl, 1
and al, bl
or bh, al
mov al, cl
xor al, 0xff
mov ch, dl
xor ch, 0xff
mov dh, byte [esi + 6]
xor dh, 1
or al, ch
or dh, 1
xor al, 0xff
and al, dh
mov ch, cl
xor ch, 0xff
and ch, 1
mov dh, byte [esi + 6]
xor dh, 1
and cl, dh
mov bl, dl
xor bl, 0xff
and bl, 0xff
and dl, dh
or ch, cl
or bl, dl
xor ch, bl
mov cl, al
and cl, ch
xor al, ch
or cl, al
mov al, cl
xor al, 0xff
and al, 1
mov dl, byte [esi + 6]
xor dl, 1
and cl, dl
or al, cl
mov cl, al
xor cl, 0xff
mov dl, bh
xor dl, cl
and dl, bh
mov cl, bh
xor cl, 0xff
and cl, 0
mov ch, byte [esi + 6]
xor ch, 0
and bh, ch
mov dh, al
xor dh, 0xff
and dh, 0
and al, ch
or cl, bh
or dh, al
xor cl, dh
mov al, dl
xor al, 0xff
mov ch, cl
xor ch, 0xff
mov dh, byte [esi + 6]
xor dh, 0
mov bl, al
and bl, 0
and dl, dh
mov bh, ch
and bh, 0
and cl, dh
or bl, dl
or bh, cl
xor bl, bh
or al, ch
xor al, 0xff
or dh, 0
and al, dh
or bl, al
test bl, 1
jne 0x100518b3
jmp 0x10051d11
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
mov edi, dword [esi + 0x58]
mov ebx, 0xb5749cc9
sub ebx, 0xa458bb99
sub ebx, edi
add ebx, 0xa458bb99
mov edi, eax
sub edi, 0xb5749cc9
add ebx, edi
mov edi, 0x55f37867
add edi, 0
sub edi, ebx
sub edi, 0x55f37867
sub edx, 0x9d5e33fd
add edx, edi
add edx, 0x9d5e33fd
sub ecx, 0x861c8796
sub ecx, 0x11eb6fec
add ecx, 0x861c8796
mov edi, eax
sub edi, 0x8ce86cb
add ecx, edi
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x11eb6fec
add edi, ecx
mov ecx, eax
sub ecx, edi
add ecx, 0xe3113a60
sub ecx, 0x40698a72
sub ecx, 0xe3113a60
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, edx
add edi, ecx
mov ecx, eax
sub ecx, edi
add ecx, 0x97c47ac
add ecx, 0x40698a72
sub ecx, 0x97c47ac
mov edx, eax
sub edx, ecx
add edx, 0
mov ecx, eax
sub ecx, 0xf7317935
sub edx, ecx
mov ecx, eax
sub ecx, edx
add ecx, 0
mov dword [esi + 0x54], ecx
mov ecx, dword [0x101070a0]
mov edx, dword [0x1010709c]
sub eax, 0x406bae8a
sub eax, ecx
add eax, 0x406bae8a
sub eax, 0xe9c20e2f
add eax, 1
add eax, 0xe9c20e2f
mov edi, 0xbbf7a6b7
add edi, 0
sub edi, eax
sub edi, 0xbbf7a6b7
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov ch, 1
mov dl, ch
xor dl, 0
mov dh, ah
and dh, dl
mov bl, ch
xor bl, 1
and bl, 0
and dl, 1
or cl, dh
or bl, dl
xor cl, bl
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
mov dl, al
and dl, cl
or dh, dl
xor dh, 0xff
mov cl, al
xor cl, 0xff
mov dl, ch
xor dl, 1
or dh, cl
or dl, 1
xor dh, 0xff
and dh, dl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov bl, al
and bl, dl
mov bh, ch
xor bh, 1
and bh, 0xff
and dl, 1
or cl, bl
or bh, dl
xor cl, bh
xor cl, 0xff
mov dl, ah
xor dl, cl
and dl, ah
mov cl, ah
xor cl, 0xff
and cl, 0
mov bl, ch
xor bl, 0
and ah, bl
mov bh, ch
xor bh, 1
and bh, 0
and bl, 1
or cl, ah
or bh, bl
xor cl, bh
xor al, 0xff
xor cl, 0xff
mov ah, ch
xor ah, 0
or al, cl
or ah, 0
xor al, 0xff
and al, ah
mov cl, dl
xor cl, 0xff
mov ah, al
xor ah, 0xff
mov bl, ch
xor bl, 0
mov bh, cl
and bh, 0
and dl, bl
mov byte [esi + 4], ah
and ah, 0
and al, bl
or bh, dl
or ah, al
xor bh, ah
mov al, byte [esi + 4]
or cl, al
xor cl, 0xff
or bl, 0
and cl, bl
or bh, cl
mov cl, dh
xor cl, 0xff
and cl, 1
mov dl, ch
xor dl, 1
mov ah, dh
and ah, dl
mov bl, ch
xor bl, 1
and bl, 0xff
and dl, 1
or cl, ah
or bl, dl
xor cl, bl
mov dl, bh
xor dl, 0xff
and dl, 1
mov ah, ch
xor ah, 1
mov bl, bh
and bl, ah
or dl, bl
mov ah, dh
xor ah, 0xff
mov bl, bh
and bl, ah
xor bh, 0xff
and dh, bh
or bl, dh
mov ah, cl
xor ah, 0xff
mov dh, dl
xor dh, 0xff
mov bh, ch
xor bh, 1
mov al, ah
and al, 0xff
and cl, bh
mov byte [esi + 3], dh
and dh, 0xff
and dl, bh
or al, cl
or dh, dl
xor al, dh
mov cl, byte [esi + 3]
or ah, cl
xor ah, 0xff
or bh, 1
and ah, bh
or al, ah
mov dl, al
xor dl, 0xff
and dl, 1
xor ch, 1
and al, ch
or dl, al
mov al, bl
and al, dl
xor bl, dl
or al, bl
test al, 1
jne 0x10051b34
jmp 0x10051d11
jmp 0x10051c74
mov eax, dword [esi + 0x54]
cdq
mov ecx, 4
idiv ecx
cmp edx, 3
jne 0x10051c6f
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
sub ecx, 0x61f08b9
add ecx, 0x1ea66b9
add ecx, 0x61f08b9
mov edi, eax
sub edi, 0x2ac6169a
sub edi, edx
add edi, 0x2ac6169a
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, edi
add edx, ecx
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x86a79b1d
sub edx, ecx
add edx, 0x86a79b1d
sub edx, 0x3a854400
add edx, 0x1ea66b9
add edx, 0x3a854400
mov ecx, eax
sub ecx, edx
add ecx, 0
mov edx, dword [esi + 0x54]
mov edi, 0x566253e
sub edi, 0xc8de15cd
sub edi, edx
add edi, 0xc8de15cd
mov edx, eax
sub edx, 0xfa99dac2
sub edi, edx
mov edx, eax
sub edx, 0xd28531fa
add ecx, edx
mov edx, eax
sub edx, edi
sub ecx, edx
sub ecx, 0x72ea34d6
add ecx, 0xd28531fa
add ecx, 0x72ea34d6
mov edx, eax
sub edx, 0x9c23e117
sub ecx, edx
mov edx, eax
sub edx, 0x2cd1b0f9
add ecx, edx
add ecx, 0x9421c381
sub ecx, 0x9c23e117
sub ecx, 0x9421c381
sub ecx, 0x60cf22de
add ecx, 0xc1104183
add ecx, 0x60cf22de
sub ecx, 0xbe1b576f
add ecx, 0x18
add ecx, 0xbe1b576f
mov edx, eax
sub edx, 0xc1104183
add ecx, edx
sub eax, 0xfda4adbd
add ecx, eax
add ecx, 0x1d4caa25
add ecx, 0x2cd1b0f9
sub ecx, 0x1d4caa25
sub ecx, 0x23328bd6
add ecx, 0xfda4adbd
add ecx, 0x23328bd6
mov dword [esi + 0x54], ecx
jmp 0x10051c74
jmp 0x10051c79
jmp 0x10051e1d
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
mov edi, dword [esi + 0x58]
imul edx, edi
mov edi, dword [esi + 0x58]
imul edx, edi
mov edi, eax
sub edi, ecx
mov ecx, eax
sub ecx, 0x7069fb55
add edi, ecx
mov ecx, eax
sub ecx, edi
sub ecx, 0xd5b6884b
sub ecx, 0x8bedda9a
add ecx, 0xd5b6884b
sub ecx, 0xc576bf8e
sub ecx, 0x7069fb55
add ecx, 0xc576bf8e
mov edi, 0x7335c43d
add edi, 0
sub edi, edx
sub edi, 0x7335c43d
add ecx, 0xce4547b9
add ecx, edi
sub ecx, 0xce4547b9
mov edx, eax
sub edx, 0x1df34d43
add ecx, edx
sub eax, 0x8bedda9a
sub ecx, eax
sub ecx, 0x6da6af9c
add ecx, 0x1df34d43
add ecx, 0x6da6af9c
mov dword [esi + 0x58], ecx
jmp 0x100513f9
xor eax, eax
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x54]
mov edi, dword [esi + 0x58]
mov ebx, 0x7c9dc0e3
add ebx, 0x3c5fb048
sub ebx, edx
sub ebx, 0x7c9dc0e3
add ebx, 0x5ec13d18
sub ebx, 0x3c5fb048
sub ebx, 0x5ec13d18
mov edx, 0xd4e4843b
add edx, 0xf53c6b53
sub edx, edi
sub edx, 0xd4e4843b
add edx, 0xd9a7cd74
add edx, 0xac394ad
sub edx, 0xd9a7cd74
sub ebx, 0x932f1507
add ebx, 0xc9e09c43
add ebx, 0x932f1507
mov edi, eax
sub edi, edx
sub ebx, edi
mov edx, eax
sub edx, 0xc9e09c43
add ebx, edx
mov edx, 0x36697ab8
add edx, 0x5bc36098
sub edx, ebx
sub edx, 0x36697ab8
sub edx, 0xfed546e7
sub edx, 0x5bc36098
add edx, 0xfed546e7
add ecx, 0x17046916
add ecx, 0x7f813854
sub ecx, 0x17046916
add ecx, 0x142167a
sub ecx, 0xe8745b83
sub ecx, 0x142167a
mov edi, eax
sub edi, 0x7f813854
add ecx, edi
mov edi, eax
sub edi, edx
add edi, 0
add ecx, 0x12e1f9a3
sub ecx, edi
sub ecx, 0x12e1f9a3
mov edx, eax
sub edx, ecx
add edx, 0
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, 0x178ba47d
add ecx, edx
mov edx, eax
sub edx, ecx
sub eax, 0x52981a33
sub eax, edx
add eax, 0x52981a33
mov dword [esi + 0x54], eax
jmp 0x100518b3
jmp 0x1004d307