401819:	75 72                	jne    0x40188d
40181b:	39 5d 08             	cmp    %ebx,0x8(%ebp)
40181e:	75 4f                	jne    0x40186f
401820:	57                   	push   %edi
401821:	68 d8 b5 40 00       	push   $0x40b5d8
401826:	e8 bd 4b 00 00       	call   0x4063e8
40182b:	56                   	push   %esi
40182c:	57                   	push   %edi
40182d:	e8 b6 4b 00 00       	call   0x4063e8
401832:	ff 75 ec             	push   -0x14(%ebp)
401835:	68 d8 ad 40 00       	push   $0x40add8
40183a:	e8 cb 4b 00 00       	call   0x40640a
40183f:	68 d8 b5 40 00       	push   $0x40b5d8
401844:	57                   	push   %edi
401845:	e8 9e 4b 00 00       	call   0x4063e8
40184a:	8b 45 d8             	mov    -0x28(%ebp),%eax
40184d:	c1 f8 03             	sar    $0x3,%eax
401850:	50                   	push   %eax
401851:	68 d8 ad 40 00       	push   $0x40add8
401856:	e8 f3 41 00 00       	call   0x405a4e
40185b:	83 e8 04             	sub    $0x4,%eax
40185e:	0f 84 57 ff ff ff    	je     0x4017bb
401864:	48                   	dec    %eax
401865:	74 1b                	je     0x401882
401867:	56                   	push   %esi
401868:	6a fa                	push   $0xfffffffa
40186a:	e9 24 fc ff ff       	jmp    0x401493
40186f:	ff 75 f8             	push   -0x8(%ebp)
401872:	6a e2                	push   $0xffffffe2
401874:	e8 d7 3b 00 00       	call   0x405450
401879:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
40187d:	e9 34 fd ff ff       	jmp    0x4015b6
401882:	ff 05 e8 a2 42 00    	incl   0x42a2e8
401888:	e9 41 12 00 00       	jmp    0x402ace
40188d:	ff 75 f8             	push   -0x8(%ebp)
401890:	6a ea                	push   $0xffffffea
401892:	e8 b9 3b 00 00       	call   0x405450
401897:	ff 05 14 a3 42 00    	incl   0x42a314
40189d:	53                   	push   %ebx
40189e:	53                   	push   %ebx
40189f:	ff 75 d0             	push   -0x30(%ebp)
4018a2:	ff 75 e0             	push   -0x20(%ebp)
4018a5:	e8 2c 19 00 00       	call   0x4031d6
4018aa:	ff 0d 14 a3 42 00    	decl   0x42a314
4018b0:	83 7d e4 ff          	cmpl   $0xffffffff,-0x1c(%ebp)
4018b4:	8b f8                	mov    %eax,%edi
4018b6:	75 06                	jne    0x4018be
4018b8:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
4018bc:	74 12                	je     0x4018d0
4018be:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4018c1:	50                   	push   %eax
4018c2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4018c5:	53                   	push   %ebx
4018c6:	50                   	push   %eax
4018c7:	ff 75 d0             	push   -0x30(%ebp)
4018ca:	ff 15 10 81 40 00    	call   *0x408110
4018d0:	ff 75 d0             	push   -0x30(%ebp)
4018d3:	ff 15 20 81 40 00    	call   *0x408120
4018d9:	3b fb                	cmp    %ebx,%edi
4018db:	0f 8d e4 11 00 00    	jge    0x402ac5
4018e1:	83 ff fe             	cmp    $0xfffffffe,%edi
4018e4:	75 13                	jne    0x4018f9
4018e6:	6a e9                	push   $0xffffffe9
4018e8:	56                   	push   %esi
4018e9:	e8 1c 4b 00 00       	call   0x40640a
4018ee:	ff 75 f8             	push   -0x8(%ebp)
4018f1:	56                   	push   %esi
4018f2:	e8 0d 4b 00 00       	call   0x406404
4018f7:	eb 08                	jmp    0x401901
4018f9:	6a ee                	push   $0xffffffee
4018fb:	56                   	push   %esi
4018fc:	e8 09 4b 00 00       	call   0x40640a
401901:	68 10 00 20 00       	push   $0x200010
401906:	56                   	push   %esi
401907:	e9 e6 09 00 00       	jmp    0x4022f2
40190c:	53                   	push   %ebx
40190d:	eb 34                	jmp    0x401943
40190f:	6a 31                	push   $0x31
401911:	e8 2b 13 00 00       	call   0x402c41
401916:	ff 75 d8             	push   -0x28(%ebp)
401919:	50                   	push   %eax
40191a:	e8 2f 41 00 00       	call   0x405a4e
40191f:	3b c3                	cmp    %ebx,%eax
401921:	0f 84 64 0f 00 00    	je     0x40288b
401927:	3b 45 e0             	cmp    -0x20(%ebp),%eax
40192a:	0f 84 6c 01 00 00    	je     0x401a9c
401930:	3b 45 e8             	cmp    -0x18(%ebp),%eax
401933:	0f 85 8c 11 00 00    	jne    0x402ac5
401939:	8b 45 ec             	mov    -0x14(%ebp),%eax
40193c:	e9 8f 11 00 00       	jmp    0x402ad0
401941:	6a f0                	push   $0xfffffff0
401943:	e8 f9 12 00 00       	call   0x402c41
401948:	ff 75 dc             	push   -0x24(%ebp)
40194b:	50                   	push   %eax
40194c:	e8 a9 41 00 00       	call   0x405afa
401951:	e9 6f 11 00 00       	jmp    0x402ac5
401956:	6a 01                	push   $0x1
401958:	e8 e4 12 00 00       	call   0x402c41
40195d:	50                   	push   %eax
40195e:	e8 9b 4a 00 00       	call   0x4063fe
401963:	e9 2a 0c 00 00       	jmp    0x402592
401968:	6a 02                	push   $0x2
40196a:	e8 b0 12 00 00       	call   0x402c1f
40196f:	6a 03                	push   $0x3
401971:	89 45 b0             	mov    %eax,-0x50(%ebp)
401974:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401977:	e8 a3 12 00 00       	call   0x402c1f
40197c:	59                   	pop    %ecx
40197d:	8b f8                	mov    %eax,%edi
40197f:	8b 45 b0             	mov    -0x50(%ebp),%eax
401982:	59                   	pop    %ecx
401983:	6a 01                	push   $0x1
401985:	89 7d cc             	mov    %edi,-0x34(%ebp)
401988:	89 55 d0             	mov    %edx,-0x30(%ebp)
40198b:	89 45 08             	mov    %eax,0x8(%ebp)
40198e:	e8 ae 12 00 00       	call   0x402c41
401993:	50                   	push   %eax
401994:	89 45 c4             	mov    %eax,-0x3c(%ebp)
401997:	e8 62 4a 00 00       	call   0x4063fe
40199c:	39 5d b4             	cmp    %ebx,-0x4c(%ebp)
40199f:	66 89 1e             	mov    %bx,(%esi)
4019a2:	75 03                	jne    0x4019a7
4019a4:	89 45 08             	mov    %eax,0x8(%ebp)
4019a7:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4019aa:	0f 84 15 11 00 00    	je     0x402ac5
4019b0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4019b3:	3b cb                	cmp    %ebx,%ecx
4019b5:	7d 0b                	jge    0x4019c2
4019b7:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
4019ba:	3b fb                	cmp    %ebx,%edi
4019bc:	0f 8c 03 11 00 00    	jl     0x402ac5
4019c2:	3b f8                	cmp    %eax,%edi
4019c4:	7e 02                	jle    0x4019c8
4019c6:	8b f8                	mov    %eax,%edi
4019c8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4019cb:	8d 04 78             	lea    (%eax,%edi,2),%eax
4019ce:	50                   	push   %eax
4019cf:	56                   	push   %esi
4019d0:	e8 13 4a 00 00       	call   0x4063e8
4019d5:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4019d8:	7d 0e                	jge    0x4019e8
4019da:	56                   	push   %esi
4019db:	e8 1e 4a 00 00       	call   0x4063fe
4019e0:	01 45 08             	add    %eax,0x8(%ebp)
4019e3:	79 03                	jns    0x4019e8
4019e5:	89 5d 08             	mov    %ebx,0x8(%ebp)
4019e8:	8b 45 08             	mov    0x8(%ebp),%eax
4019eb:	3d 00 04 00 00       	cmp    $0x400,%eax
4019f0:	0f 8d cf 10 00 00    	jge    0x402ac5
4019f6:	66 89 1c 46          	mov    %bx,(%esi,%eax,2)
4019fa:	e9 c6 10 00 00       	jmp    0x402ac5
4019ff:	6a 20                	push   $0x20
401a01:	e8 3b 12 00 00       	call   0x402c41
401a06:	6a 31                	push   $0x31
401a08:	8b f0                	mov    %eax,%esi
401a0a:	e8 32 12 00 00       	call   0x402c41
401a0f:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
401a12:	50                   	push   %eax
401a13:	56                   	push   %esi
401a14:	75 12                	jne    0x401a28
401a16:	ff 15 04 81 40 00    	call   *0x408104
401a1c:	85 c0                	test   %eax,%eax
401a1e:	75 7c                	jne    0x401a9c
401a20:	8b 45 e0             	mov    -0x20(%ebp),%eax
401a23:	e9 a8 10 00 00       	jmp    0x402ad0
401a28:	ff 15 1c 81 40 00    	call   *0x40811c
401a2e:	eb ec                	jmp    0x401a1c
401a30:	33 ff                	xor    %edi,%edi
401a32:	47                   	inc    %edi
401a33:	57                   	push   %edi
401a34:	e8 08 12 00 00       	call   0x402c41
401a39:	68 00 04 00 00       	push   $0x400
401a3e:	56                   	push   %esi
401a3f:	50                   	push   %eax
401a40:	89 45 08             	mov    %eax,0x8(%ebp)
401a43:	ff 15 24 81 40 00    	call   *0x408124
401a49:	85 c0                	test   %eax,%eax
401a4b:	74 13                	je     0x401a60
401a4d:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
401a50:	74 14                	je     0x401a66
401a52:	56                   	push   %esi
401a53:	ff 75 08             	push   0x8(%ebp)
401a56:	ff 15 1c 81 40 00    	call   *0x40811c
401a5c:	85 c0                	test   %eax,%eax
401a5e:	75 06                	jne    0x401a66
401a60:	89 7d fc             	mov    %edi,-0x4(%ebp)
401a63:	66 89 1e             	mov    %bx,(%esi)
401a66:	66 89 9e fe 07 00 00 	mov    %bx,0x7fe(%esi)
401a6d:	e9 53 10 00 00       	jmp    0x402ac5
401a72:	8b 75 ec             	mov    -0x14(%ebp),%esi
401a75:	53                   	push   %ebx
401a76:	e8 a4 11 00 00       	call   0x402c1f
401a7b:	6a 01                	push   $0x1
401a7d:	8b f8                	mov    %eax,%edi
401a7f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401a82:	e8 98 11 00 00       	call   0x402c1f
401a87:	59                   	pop    %ecx
401a88:	3b f3                	cmp    %ebx,%esi
401a8a:	59                   	pop    %ecx
401a8b:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401a8e:	75 08                	jne    0x401a98
401a90:	3b f8                	cmp    %eax,%edi
401a92:	7c 08                	jl     0x401a9c
401a94:	7e 8a                	jle    0x401a20
401a96:	eb 12                	jmp    0x401aaa
401a98:	3b f8                	cmp    %eax,%edi
401a9a:	73 08                	jae    0x401aa4
401a9c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
401a9f:	e9 2c 10 00 00       	jmp    0x402ad0
401aa4:	0f 86 76 ff ff ff    	jbe    0x401a20
401aaa:	8b 45 e8             	mov    -0x18(%ebp),%eax
401aad:	e9 1e 10 00 00       	jmp    0x402ad0
401ab2:	6a 01                	push   $0x1
401ab4:	e8 66 11 00 00       	call   0x402c1f
401ab9:	8b f8                	mov    %eax,%edi
401abb:	6a 02                	push   $0x2
401abd:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401ac0:	89 7d 08             	mov    %edi,0x8(%ebp)
401ac3:	e8 57 11 00 00       	call   0x402c1f
401ac8:	59                   	pop    %ecx
401ac9:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401acc:	59                   	pop    %ecx
401acd:	8b c8                	mov    %eax,%ecx
401acf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
401ad2:	83 f8 0d             	cmp    $0xd,%eax
401ad5:	77 73                	ja     0x401b4a
401ad7:	ff 24 85 e7 2b 40 00 	jmp    *0x402be7(,%eax,4)
401ade:	03 f9                	add    %ecx,%edi
401ae0:	eb 6b                	jmp    0x401b4d
401ae2:	2b f9                	sub    %ecx,%edi
401ae4:	eb 67                	jmp    0x401b4d
401ae6:	0f af cf             	imul   %edi,%ecx
401ae9:	eb 17                	jmp    0x401b02
401aeb:	3b cb                	cmp    %ebx,%ecx
401aed:	74 44                	je     0x401b33
401aef:	8b c7                	mov    %edi,%eax
401af1:	99                   	cltd
401af2:	f7 f9                	idiv   %ecx
401af4:	8b f8                	mov    %eax,%edi
401af6:	eb 55                	jmp    0x401b4d
401af8:	0b cf                	or     %edi,%ecx
401afa:	eb 06                	jmp    0x401b02
401afc:	23 cf                	and    %edi,%ecx
401afe:	eb 02                	jmp    0x401b02
401b00:	33 cf                	xor    %edi,%ecx
401b02:	8b f9                	mov    %ecx,%edi
401b04:	eb 47                	jmp    0x401b4d
401b06:	33 c0                	xor    %eax,%eax
401b08:	3b fb                	cmp    %ebx,%edi
401b0a:	0f 94 c0             	sete   %al
401b0d:	eb e5                	jmp    0x401af4
401b0f:	3b fb                	cmp    %ebx,%edi
401b11:	75 0e                	jne    0x401b21
401b13:	eb 08                	jmp    0x401b1d
401b15:	33 ff                	xor    %edi,%edi
401b17:	eb 34                	jmp    0x401b4d
401b19:	3b fb                	cmp    %ebx,%edi
401b1b:	74 f8                	je     0x401b15
401b1d:	3b cb                	cmp    %ebx,%ecx
401b1f:	74 f4                	je     0x401b15
401b21:	33 ff                	xor    %edi,%edi
401b23:	47                   	inc    %edi
401b24:	eb 27                	jmp    0x401b4d
401b26:	3b cb                	cmp    %ebx,%ecx
401b28:	74 09                	je     0x401b33
401b2a:	8b c7                	mov    %edi,%eax
401b2c:	99                   	cltd
401b2d:	f7 f9                	idiv   %ecx
401b2f:	8b fa                	mov    %edx,%edi
401b31:	eb 1a                	jmp    0x401b4d
401b33:	33 ff                	xor    %edi,%edi
401b35:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401b3c:	eb 0f                	jmp    0x401b4d
401b3e:	d3 e7                	shl    %cl,%edi
401b40:	eb 0b                	jmp    0x401b4d
401b42:	d3 ff                	sar    %cl,%edi
401b44:	eb 07                	jmp    0x401b4d
401b46:	d3 ef                	shr    %cl,%edi
401b48:	eb 03                	jmp    0x401b4d
401b4a:	8b 7d 08             	mov    0x8(%ebp),%edi
401b4d:	57                   	push   %edi
401b4e:	e9 1a fa ff ff       	jmp    0x40156d
401b53:	6a 01                	push   $0x1
401b55:	e8 e7 10 00 00       	call   0x402c41
401b5a:	6a 02                	push   $0x2
401b5c:	8b f8                	mov    %eax,%edi
401b5e:	e8 bc 10 00 00       	call   0x402c1f
401b63:	50                   	push   %eax
401b64:	57                   	push   %edi
401b65:	56                   	push   %esi
401b66:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401b69:	ff 15 90 82 40 00    	call   *0x408290
401b6f:	83 c4 10             	add    $0x10,%esp
401b72:	e9 4e 0f 00 00       	jmp    0x402ac5
401b77:	8b 45 e0             	mov    -0x20(%ebp),%eax
401b7a:	8b 3d 38 ce 40 00    	mov    0x40ce38,%edi
401b80:	3b c3                	cmp    %ebx,%eax
401b82:	74 44                	je     0x401bc8
401b84:	48                   	dec    %eax
401b85:	3b fb                	cmp    %ebx,%edi
401b87:	0f 84 57 07 00 00    	je     0x4022e4
401b8d:	8b 3f                	mov    (%edi),%edi
401b8f:	3b c3                	cmp    %ebx,%eax
401b91:	75 f1                	jne    0x401b84
401b93:	3b fb                	cmp    %ebx,%edi
401b95:	0f 84 49 07 00 00    	je     0x4022e4
401b9b:	83 c7 04             	add    $0x4,%edi
401b9e:	be d8 a5 40 00       	mov    $0x40a5d8,%esi
401ba3:	57                   	push   %edi
401ba4:	56                   	push   %esi
401ba5:	e8 3e 48 00 00       	call   0x4063e8
401baa:	a1 38 ce 40 00       	mov    0x40ce38,%eax
401baf:	83 c0 04             	add    $0x4,%eax
401bb2:	50                   	push   %eax
401bb3:	57                   	push   %edi
401bb4:	e8 2f 48 00 00       	call   0x4063e8
401bb9:	a1 38 ce 40 00       	mov    0x40ce38,%eax
401bbe:	56                   	push   %esi
401bbf:	83 c0 04             	add    $0x4,%eax
401bc2:	50                   	push   %eax
401bc3:	e9 19 0e 00 00       	jmp    0x4029e1
401bc8:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
401bcb:	74 25                	je     0x401bf2
401bcd:	3b fb                	cmp    %ebx,%edi
401bcf:	0f 84 b6 0c 00 00    	je     0x40288b
401bd5:	8d 47 04             	lea    0x4(%edi),%eax
401bd8:	50                   	push   %eax
401bd9:	56                   	push   %esi
401bda:	e8 09 48 00 00       	call   0x4063e8
401bdf:	8b 07                	mov    (%edi),%eax
401be1:	57                   	push   %edi
401be2:	a3 38 ce 40 00       	mov    %eax,0x40ce38
401be7:	ff 15 28 81 40 00    	call   *0x408128
401bed:	e9 d3 0e 00 00       	jmp    0x402ac5
401bf2:	68 04 08 00 00       	push   $0x804
401bf7:	6a 40                	push   $0x40
401bf9:	ff 15 34 81 40 00    	call   *0x408134
401bff:	ff 75 d8             	push   -0x28(%ebp)
401c02:	8b f0                	mov    %eax,%esi
401c04:	8d 46 04             	lea    0x4(%esi),%eax
401c07:	50                   	push   %eax
401c08:	e8 fd 47 00 00       	call   0x40640a
401c0d:	a1 38 ce 40 00       	mov    0x40ce38,%eax
401c12:	89 06                	mov    %eax,(%esi)
401c14:	89 35 38 ce 40 00    	mov    %esi,0x40ce38
401c1a:	e9 a6 0e 00 00       	jmp    0x402ac5
401c1f:	6a 03                	push   $0x3
401c21:	e8 f9 0f 00 00       	call   0x402c1f
401c26:	6a 04                	push   $0x4
401c28:	89 55 b4             	mov    %edx,-0x4c(%ebp)