401901:	90                   	nop
401902:	00 00                	add    %al,(%eax)
401904:	20 01                	and    %al,(%ecx)
401906:	00 00                	add    %al,(%eax)
401908:	2e 72 73             	jb,pn  0x40197e
40190b:	72 63                	jb     0x401970
40190d:	24 30                	and    $0x30,%al
40190f:	31 00                	xor    %eax,(%eax)
401911:	00 00                	add    %al,(%eax)
401913:	00 20                	add    %ah,(%eax)
401915:	91                   	xchg   %eax,%ecx
401916:	00 00                	add    %al,(%eax)
401918:	c8 b9 00 00          	enter  $0xb9,$0x0
40191c:	2e 72 73             	jb,pn  0x401992
40191f:	72 63                	jb     0x401984
401921:	24 30                	and    $0x30,%al
401923:	32 00                	xor    (%eax),%al
401925:	00 00                	add    %al,(%eax)
401927:	00 20                	add    %ah,(%eax)
401929:	00 00                	add    %al,(%eax)
40192b:	00 67 91             	add    %ah,-0x6f(%edi)
40192e:	57                   	push   %edi
40192f:	e9 18 d6 36 62       	jmp    0x6276ef4c
401934:	65 da 1c 9b          	ficompl %gs:(%ebx,%ebx,4)
401938:	f5                   	cmc
401939:	4b                   	dec    %ebx
40193a:	ac                   	lods   %ds:(%esi),%al
40193b:	c2 f6 de             	ret    $0xdef6
40193e:	22 9e 3c 25 14 dc    	and    -0x23ebdac4(%esi),%bl
401944:	4f                   	dec    %edi
401945:	40                   	inc    %eax
401946:	e3 2a                	jecxz  0x401972
401948:	07                   	pop    %es
401949:	25 9c 72 00 00       	and    $0x729c,%eax
40194e:	00 00                	add    %al,(%eax)
401950:	00 00                	add    %al,(%eax)
401952:	8b ff                	mov    %edi,%edi
401954:	55                   	push   %ebp
401955:	8b ec                	mov    %esp,%ebp
401957:	85 d2                	test   %edx,%edx
401959:	74 14                	je     0x40196f
40195b:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
401961:	77 0c                	ja     0x40196f
401963:	51                   	push   %ecx
401964:	ff 75 08             	push   0x8(%ebp)
401967:	51                   	push   %ecx
401968:	e8 1a 00 00 00       	call   0x401987
40196d:	eb 0e                	jmp    0x40197d
40196f:	b8 57 00 07 80       	mov    $0x80070057,%eax
401974:	85 d2                	test   %edx,%edx
401976:	74 05                	je     0x40197d
401978:	33 d2                	xor    %edx,%edx
40197a:	66 89 11             	mov    %dx,(%ecx)
40197d:	5d                   	pop    %ebp
40197e:	c2 04 00             	ret    $0x4
401981:	cc                   	int3
401982:	cc                   	int3
401983:	cc                   	int3
401984:	cc                   	int3
401985:	cc                   	int3
401986:	cc                   	int3
401987:	8b ff                	mov    %edi,%edi
401989:	55                   	push   %ebp
40198a:	8b ec                	mov    %esp,%ebp
40198c:	56                   	push   %esi
40198d:	57                   	push   %edi
40198e:	85 d2                	test   %edx,%edx
401990:	74 27                	je     0x4019b9
401992:	8b 45 0c             	mov    0xc(%ebp),%eax
401995:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
40199a:	2b c1                	sub    %ecx,%eax
40199c:	85 f6                	test   %esi,%esi
40199e:	74 1c                	je     0x4019bc
4019a0:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
4019a4:	66 85 ff             	test   %di,%di
4019a7:	74 0c                	je     0x4019b5
4019a9:	66 89 39             	mov    %di,(%ecx)
4019ac:	83 c1 02             	add    $0x2,%ecx
4019af:	4e                   	dec    %esi
4019b0:	83 ea 01             	sub    $0x1,%edx
4019b3:	75 e7                	jne    0x40199c
4019b5:	85 d2                	test   %edx,%edx
4019b7:	75 03                	jne    0x4019bc
4019b9:	83 e9 02             	sub    $0x2,%ecx
4019bc:	f7 da                	neg    %edx
4019be:	5f                   	pop    %edi
4019bf:	1b d2                	sbb    %edx,%edx
4019c1:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
4019c7:	33 c0                	xor    %eax,%eax
4019c9:	66 89 01             	mov    %ax,(%ecx)
4019cc:	5e                   	pop    %esi
4019cd:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
4019d3:	5d                   	pop    %ebp
4019d4:	c2 0c 00             	ret    $0xc
4019d7:	cc                   	int3
4019d8:	cc                   	int3
4019d9:	cc                   	int3
4019da:	cc                   	int3
4019db:	cc                   	int3
4019dc:	cc                   	int3
4019dd:	8b ff                	mov    %edi,%edi
4019df:	55                   	push   %ebp
4019e0:	8b ec                	mov    %esp,%ebp
4019e2:	51                   	push   %ecx
4019e3:	51                   	push   %ecx
4019e4:	56                   	push   %esi
4019e5:	57                   	push   %edi
4019e6:	8d 45 10             	lea    0x10(%ebp),%eax
4019e9:	33 f6                	xor    %esi,%esi
4019eb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4019ee:	8d 45 f8             	lea    -0x8(%ebp),%eax
4019f1:	50                   	push   %eax
4019f2:	56                   	push   %esi
4019f3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4019f6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4019f9:	50                   	push   %eax
4019fa:	56                   	push   %esi
4019fb:	ff 75 0c             	push   0xc(%ebp)
4019fe:	56                   	push   %esi
4019ff:	68 00 09 00 00       	push   $0x900
401a04:	ff 15 34 80 40 00    	call   *0x408034
401a0a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401a0d:	8b f8                	mov    %eax,%edi
401a0f:	85 c9                	test   %ecx,%ecx
401a11:	74 55                	je     0x401a68
401a13:	85 ff                	test   %edi,%edi
401a15:	74 4a                	je     0x401a61
401a17:	53                   	push   %ebx
401a18:	6a 0a                	push   $0xa
401a1a:	5b                   	pop    %ebx
401a1b:	8d 04 79             	lea    (%ecx,%edi,2),%eax
401a1e:	50                   	push   %eax
401a1f:	51                   	push   %ecx
401a20:	ff 15 60 81 40 00    	call   *0x408160
401a26:	0f b7 00             	movzwl (%eax),%eax
401a29:	83 f8 0d             	cmp    $0xd,%eax
401a2c:	74 05                	je     0x401a33
401a2e:	66 3b c3             	cmp    %bx,%ax
401a31:	75 07                	jne    0x401a3a
401a33:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401a36:	4f                   	dec    %edi
401a37:	46                   	inc    %esi
401a38:	eb e1                	jmp    0x401a1b
401a3a:	85 f6                	test   %esi,%esi
401a3c:	74 11                	je     0x401a4f
401a3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
401a41:	33 c9                	xor    %ecx,%ecx
401a43:	66 89 1c 78          	mov    %bx,(%eax,%edi,2)
401a47:	8b 45 fc             	mov    -0x4(%ebp),%eax
401a4a:	66 89 4c 78 02       	mov    %cx,0x2(%eax,%edi,2)
401a4f:	ff 75 08             	push   0x8(%ebp)
401a52:	ff 75 fc             	push   -0x4(%ebp)
401a55:	ff 15 d8 81 40 00    	call   *0x4081d8
401a5b:	59                   	pop    %ecx
401a5c:	59                   	pop    %ecx
401a5d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401a60:	5b                   	pop    %ebx
401a61:	51                   	push   %ecx
401a62:	ff 15 40 80 40 00    	call   *0x408040
401a68:	5f                   	pop    %edi
401a69:	5e                   	pop    %esi
401a6a:	c9                   	leave
401a6b:	c3                   	ret
401a6c:	cc                   	int3
401a6d:	cc                   	int3
401a6e:	cc                   	int3
401a6f:	cc                   	int3
401a70:	cc                   	int3
401a71:	cc                   	int3
401a72:	8b ff                	mov    %edi,%edi
401a74:	56                   	push   %esi
401a75:	8b f1                	mov    %ecx,%esi
401a77:	85 f6                	test   %esi,%esi
401a79:	7e 1b                	jle    0x401a96
401a7b:	6a 01                	push   $0x1
401a7d:	e8 f7 53 00 00       	call   0x406e79
401a82:	50                   	push   %eax
401a83:	68 80 11 40 00       	push   $0x401180
401a88:	ff 15 cc 81 40 00    	call   *0x4081cc
401a8e:	83 c4 0c             	add    $0xc,%esp
401a91:	83 ee 01             	sub    $0x1,%esi
401a94:	75 e5                	jne    0x401a7b
401a96:	5e                   	pop    %esi
401a97:	c3                   	ret
401a98:	cc                   	int3
401a99:	cc                   	int3
401a9a:	cc                   	int3
401a9b:	cc                   	int3
401a9c:	cc                   	int3
401a9d:	cc                   	int3
401a9e:	8b ff                	mov    %edi,%edi
401aa0:	51                   	push   %ecx
401aa1:	68 60 ea 00 00       	push   $0xea60
401aa6:	6a 02                	push   $0x2
401aa8:	e8 cc 53 00 00       	call   0x406e79
401aad:	59                   	pop    %ecx
401aae:	50                   	push   %eax
401aaf:	e8 29 ff ff ff       	call   0x4019dd
401ab4:	83 c4 0c             	add    $0xc,%esp
401ab7:	c3                   	ret
401ab8:	cc                   	int3
401ab9:	cc                   	int3
401aba:	cc                   	int3
401abb:	cc                   	int3
401abc:	cc                   	int3
401abd:	cc                   	int3
401abe:	8b ff                	mov    %edi,%edi
401ac0:	55                   	push   %ebp
401ac1:	8b ec                	mov    %esp,%ebp
401ac3:	83 ec 20             	sub    $0x20,%esp
401ac6:	a1 b4 71 40 00       	mov    0x4071b4,%eax
401acb:	33 c5                	xor    %ebp,%eax
401acd:	89 45 fc             	mov    %eax,-0x4(%ebp)
401ad0:	56                   	push   %esi
401ad1:	8d 45 e8             	lea    -0x18(%ebp),%eax
401ad4:	50                   	push   %eax
401ad5:	6a 20                	push   $0x20
401ad7:	ff 15 30 80 40 00    	call   *0x408030
401add:	50                   	push   %eax
401ade:	ff 15 08 80 40 00    	call   *0x408008
401ae4:	33 f6                	xor    %esi,%esi
401ae6:	85 c0                	test   %eax,%eax
401ae8:	74 48                	je     0x401b32
401aea:	8d 45 e0             	lea    -0x20(%ebp),%eax
401aed:	50                   	push   %eax
401aee:	68 88 11 40 00       	push   $0x401188
401af3:	56                   	push   %esi
401af4:	ff 15 10 80 40 00    	call   *0x408010
401afa:	85 c0                	test   %eax,%eax
401afc:	74 2b                	je     0x401b29
401afe:	8b 45 e0             	mov    -0x20(%ebp),%eax
401b01:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
401b04:	56                   	push   %esi
401b05:	56                   	push   %esi
401b06:	56                   	push   %esi
401b07:	89 45 f0             	mov    %eax,-0x10(%ebp)
401b0a:	8d 45 ec             	lea    -0x14(%ebp),%eax
401b0d:	50                   	push   %eax
401b0e:	56                   	push   %esi
401b0f:	ff 75 e8             	push   -0x18(%ebp)
401b12:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
401b19:	89 4d f4             	mov    %ecx,-0xc(%ebp)
401b1c:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
401b23:	ff 15 0c 80 40 00    	call   *0x40800c
401b29:	ff 75 e8             	push   -0x18(%ebp)
401b2c:	ff 15 3c 80 40 00    	call   *0x40803c
401b32:	68 02 00 01 80       	push   $0x80010002
401b37:	6a 01                	push   $0x1
401b39:	56                   	push   %esi
401b3a:	56                   	push   %esi
401b3b:	56                   	push   %esi
401b3c:	56                   	push   %esi
401b3d:	ff 15 04 80 40 00    	call   *0x408004
401b43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401b46:	33 cd                	xor    %ebp,%ecx
401b48:	5e                   	pop    %esi
401b49:	e8 92 4d 00 00       	call   0x4068e0
401b4e:	c9                   	leave
401b4f:	c3                   	ret
401b50:	cc                   	int3
401b51:	cc                   	int3
401b52:	cc                   	int3
401b53:	cc                   	int3
401b54:	cc                   	int3
401b55:	cc                   	int3
401b56:	8b ff                	mov    %edi,%edi
401b58:	55                   	push   %ebp
401b59:	8b ec                	mov    %esp,%ebp
401b5b:	83 ec 0c             	sub    $0xc,%esp
401b5e:	53                   	push   %ebx
401b5f:	56                   	push   %esi
401b60:	57                   	push   %edi
401b61:	68 02 04 00 00       	push   $0x402
401b66:	8b fa                	mov    %edx,%edi
401b68:	8b d9                	mov    %ecx,%ebx
401b6a:	e8 4f 4a 00 00       	call   0x4065be
401b6f:	8b f0                	mov    %eax,%esi
401b71:	59                   	pop    %ecx
401b72:	85 f6                	test   %esi,%esi
401b74:	75 04                	jne    0x401b7a
401b76:	33 c0                	xor    %eax,%eax
401b78:	eb 72                	jmp    0x401bec
401b7a:	8d 45 fc             	lea    -0x4(%ebp),%eax
401b7d:	50                   	push   %eax
401b7e:	68 00 04 00 00       	push   $0x400
401b83:	eb 46                	jmp    0x401bcb
401b85:	ff 15 38 80 40 00    	call   *0x408038
401b8b:	83 f8 7a             	cmp    $0x7a,%eax
401b8e:	75 63                	jne    0x401bf3
401b90:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
401b94:	75 5d                	jne    0x401bf3
401b96:	8b 45 fc             	mov    -0x4(%ebp),%eax
401b99:	56                   	push   %esi
401b9a:	89 45 f8             	mov    %eax,-0x8(%ebp)
401b9d:	e8 4b 4a 00 00       	call   0x4065ed
401ba2:	8b 45 f8             	mov    -0x8(%ebp),%eax
401ba5:	33 c9                	xor    %ecx,%ecx
401ba7:	d1 e8                	shr    $1,%eax
401ba9:	6a 02                	push   $0x2
401bab:	40                   	inc    %eax
401bac:	5a                   	pop    %edx
401bad:	f7 e2                	mul    %edx
401baf:	0f 90 c1             	seto   %cl
401bb2:	f7 d9                	neg    %ecx
401bb4:	0b c8                	or     %eax,%ecx
401bb6:	51                   	push   %ecx
401bb7:	e8 02 4a 00 00       	call   0x4065be
401bbc:	8b f0                	mov    %eax,%esi
401bbe:	59                   	pop    %ecx
401bbf:	59                   	pop    %ecx
401bc0:	85 f6                	test   %esi,%esi
401bc2:	74 b2                	je     0x401b76
401bc4:	8d 45 fc             	lea    -0x4(%ebp),%eax
401bc7:	50                   	push   %eax
401bc8:	ff 75 f8             	push   -0x8(%ebp)
401bcb:	56                   	push   %esi
401bcc:	8d 45 f4             	lea    -0xc(%ebp),%eax
401bcf:	50                   	push   %eax
401bd0:	ff 75 08             	push   0x8(%ebp)
401bd3:	57                   	push   %edi
401bd4:	53                   	push   %ebx
401bd5:	ff 15 18 81 40 00    	call   *0x408118
401bdb:	85 c0                	test   %eax,%eax
401bdd:	74 a6                	je     0x401b85
401bdf:	8b 45 fc             	mov    -0x4(%ebp),%eax
401be2:	d1 e8                	shr    $1,%eax
401be4:	33 c9                	xor    %ecx,%ecx
401be6:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
401bea:	8b c6                	mov    %esi,%eax
401bec:	5f                   	pop    %edi
401bed:	5e                   	pop    %esi
401bee:	5b                   	pop    %ebx
401bef:	c9                   	leave
401bf0:	c2 04 00             	ret    $0x4
401bf3:	56                   	push   %esi
401bf4:	e8 f4 49 00 00       	call   0x4065ed
401bf9:	59                   	pop    %ecx
401bfa:	e9 77 ff ff ff       	jmp    0x401b76
401bff:	cc                   	int3
401c00:	cc                   	int3
401c01:	cc                   	int3
401c02:	cc                   	int3
401c03:	cc                   	int3
401c04:	cc                   	int3
401c05:	8b ff                	mov    %edi,%edi
401c07:	55                   	push   %ebp
401c08:	8b ec                	mov    %esp,%ebp
401c0a:	51                   	push   %ecx
401c0b:	51                   	push   %ecx
401c0c:	53                   	push   %ebx