40bb0d:	66 83 3c 50 20       	cmpw   $0x20,(%eax,%edx,2)
40bb12:	74 24                	je     0x40bb38
40bb14:	83 3d b8 1f 43 00 00 	cmpl   $0x0,0x431fb8
40bb1b:	75 15                	jne    0x40bb32
40bb1d:	57                   	push   %edi
40bb1e:	c7 05 b8 1f 43 00 01 	movl   $0x1,0x431fb8
40bb25:	00 00 00
40bb28:	ff 15 bc 32 43 00    	call   *0x4332bc
40bb2e:	8b 54 24 0c          	mov    0xc(%esp),%edx
40bb32:	57                   	push   %edi
40bb33:	e9 3f 01 00 00       	jmp    0x40bc77
40bb38:	83 3d b8 1f 43 00 00 	cmpl   $0x0,0x431fb8
40bb3f:	0f 84 01 07 00 00    	je     0x40c246
40bb45:	6a 01                	push   $0x1
40bb47:	89 3d b8 1f 43 00    	mov    %edi,0x431fb8
40bb4d:	ff 15 bc 32 43 00    	call   *0x4332bc
40bb53:	e9 ee 06 00 00       	jmp    0x40c246
40bb58:	83 3d b8 1f 43 00 00 	cmpl   $0x0,0x431fb8
40bb5f:	74 0e                	je     0x40bb6f
40bb61:	6a 01                	push   $0x1
40bb63:	89 3d b8 1f 43 00    	mov    %edi,0x431fb8
40bb69:	ff 15 bc 32 43 00    	call   *0x4332bc
40bb6f:	ff 74 24 10          	push   0x10(%esp)
40bb73:	8b 55 10             	mov    0x10(%ebp),%edx
40bb76:	8b ce                	mov    %esi,%ecx
40bb78:	e8 65 27 00 00       	call   0x40e2e2
40bb7d:	e9 c4 06 00 00       	jmp    0x40c246
40bb82:	8b 45 10             	mov    0x10(%ebp),%eax
40bb85:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bb88:	89 44 24 34          	mov    %eax,0x34(%esp)
40bb8c:	8b 44 24 10          	mov    0x10(%esp),%eax
40bb90:	89 44 24 38          	mov    %eax,0x38(%esp)
40bb94:	8d 44 24 40          	lea    0x40(%esp),%eax
40bb98:	50                   	push   %eax
40bb99:	89 74 24 30          	mov    %esi,0x30(%esp)
40bb9d:	89 4c 24 34          	mov    %ecx,0x34(%esp)
40bba1:	ff 15 c4 32 43 00    	call   *0x4332c4
40bba7:	ff 15 c8 32 43 00    	call   *0x4332c8
40bbad:	89 44 24 3c          	mov    %eax,0x3c(%esp)
40bbb1:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40bbb5:	50                   	push   %eax
40bbb6:	57                   	push   %edi
40bbb7:	68 07 04 00 00       	push   $0x407
40bbbc:	ff 35 50 1f 43 00    	push   0x431f50
40bbc2:	ff 15 10 33 43 00    	call   *0x433310
40bbc8:	e9 79 06 00 00       	jmp    0x40c246
40bbcd:	8b 45 10             	mov    0x10(%ebp),%eax
40bbd0:	83 e8 01             	sub    $0x1,%eax
40bbd3:	74 17                	je     0x40bbec
40bbd5:	83 e8 07             	sub    $0x7,%eax
40bbd8:	0f 85 68 06 00 00    	jne    0x40c246
40bbde:	ff 35 54 1f 43 00    	push   0x431f54
40bbe4:	8b 15 58 1f 43 00    	mov    0x431f58,%edx
40bbea:	eb 8a                	jmp    0x40bb76
40bbec:	ff 15 30 32 43 00    	call   *0x433230
40bbf2:	6a 01                	push   $0x1
40bbf4:	56                   	push   %esi
40bbf5:	ff 15 44 32 43 00    	call   *0x433244
40bbfb:	83 25 58 26 43 00 00 	andl   $0x0,0x432658
40bc02:	83 3d b4 1f 43 00 00 	cmpl   $0x0,0x431fb4
40bc09:	74 0c                	je     0x40bc17
40bc0b:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40bc10:	8b ce                	mov    %esi,%ecx
40bc12:	e8 5c 20 00 00       	call   0x40dc73
40bc17:	56                   	push   %esi
40bc18:	ff 15 48 32 43 00    	call   *0x433248
40bc1e:	8b c8                	mov    %eax,%ecx
40bc20:	e8 15 24 00 00       	call   0x40e03a
40bc25:	e9 1c 06 00 00       	jmp    0x40c246
40bc2a:	83 3d b4 1f 43 00 00 	cmpl   $0x0,0x431fb4
40bc31:	0f 85 0f 06 00 00    	jne    0x40c246
40bc37:	66 83 7d 10 20       	cmpw   $0x20,0x10(%ebp)
40bc3c:	0f 85 04 06 00 00    	jne    0x40c246
40bc42:	83 3d bc 1f 43 00 00 	cmpl   $0x0,0x431fbc
40bc49:	74 0a                	je     0x40bc55
40bc4b:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40bc50:	e9 4d fc ff ff       	jmp    0x40b8a2
40bc55:	33 c0                	xor    %eax,%eax
40bc57:	8b d6                	mov    %esi,%edx
40bc59:	50                   	push   %eax
40bc5a:	50                   	push   %eax
40bc5b:	0f b7 05 c4 1f 43 00 	movzwl 0x431fc4,%eax
40bc62:	be 70 1f 43 00       	mov    $0x431f70,%esi
40bc67:	50                   	push   %eax
40bc68:	8b ce                	mov    %esi,%ecx
40bc6a:	e8 a8 0a 00 00       	call   0x40c717
40bc6f:	8b 15 c4 1f 43 00    	mov    0x431fc4,%edx
40bc75:	6a 01                	push   $0x1
40bc77:	8b ce                	mov    %esi,%ecx
40bc79:	e8 de 11 00 00       	call   0x40ce5c
40bc7e:	e9 c3 05 00 00       	jmp    0x40c246
40bc83:	0f b7 3d c4 1f 43 00 	movzwl 0x431fc4,%edi
40bc8a:	83 25 5c 1f 43 00 00 	andl   $0x0,0x431f5c
40bc91:	6a ec                	push   $0xffffffec
40bc93:	56                   	push   %esi
40bc94:	ff 15 fc 32 43 00    	call   *0x4332fc
40bc9a:	6a 20                	push   $0x20
40bc9c:	5a                   	pop    %edx
40bc9d:	6a 25                	push   $0x25
40bc9f:	a9 00 00 40 00       	test   $0x400000,%eax
40bca4:	8b 45 10             	mov    0x10(%ebp),%eax
40bca7:	59                   	pop    %ecx
40bca8:	74 54                	je     0x40bcfe
40bcaa:	3b c1                	cmp    %ecx,%eax
40bcac:	75 49                	jne    0x40bcf7
40bcae:	6a 27                	push   $0x27
40bcb0:	58                   	pop    %eax
40bcb1:	83 e8 26             	sub    $0x26,%eax
40bcb4:	0f 84 23 04 00 00    	je     0x40c0dd
40bcba:	83 e8 01             	sub    $0x1,%eax
40bcbd:	0f 84 a4 03 00 00    	je     0x40c067
40bcc3:	83 e8 01             	sub    $0x1,%eax
40bcc6:	0f 84 3b 03 00 00    	je     0x40c007
40bccc:	83 e8 4d             	sub    $0x4d,%eax
40bccf:	0f 85 71 05 00 00    	jne    0x40c246
40bcd5:	a1 8c 25 43 00       	mov    0x43258c,%eax
40bcda:	85 c0                	test   %eax,%eax
40bcdc:	75 0d                	jne    0x40bceb
40bcde:	a1 88 25 43 00       	mov    0x432588,%eax
40bce3:	85 c0                	test   %eax,%eax
40bce5:	0f 84 5b 05 00 00    	je     0x40c246
40bceb:	50                   	push   %eax
40bcec:	ff 15 28 33 43 00    	call   *0x433328
40bcf2:	e9 4f 05 00 00       	jmp    0x40c246
40bcf7:	83 f8 27             	cmp    $0x27,%eax
40bcfa:	75 02                	jne    0x40bcfe
40bcfc:	8b c1                	mov    %ecx,%eax
40bcfe:	3b c1                	cmp    %ecx,%eax
40bd00:	77 af                	ja     0x40bcb1
40bd02:	0f 84 b8 02 00 00    	je     0x40bfc0
40bd08:	83 e8 21             	sub    $0x21,%eax
40bd0b:	0f 84 f9 01 00 00    	je     0x40bf0a
40bd11:	83 e8 01             	sub    $0x1,%eax
40bd14:	0f 84 32 01 00 00    	je     0x40be4c
40bd1a:	83 e8 01             	sub    $0x1,%eax
40bd1d:	74 71                	je     0x40bd90
40bd1f:	83 e8 01             	sub    $0x1,%eax
40bd22:	0f 85 1e 05 00 00    	jne    0x40c246
40bd28:	6a 11                	push   $0x11
40bd2a:	ff 15 24 32 43 00    	call   *0x433224
40bd30:	66 85 c0             	test   %ax,%ax
40bd33:	74 46                	je     0x40bd7b
40bd35:	6b 05 b0 10 41 00 0a 	imul   $0xa,0x4110b0,%eax
40bd3c:	33 ff                	xor    %edi,%edi
40bd3e:	0f b7 0d 3c 13 41 00 	movzwl 0x41133c,%ecx
40bd45:	3b c8                	cmp    %eax,%ecx
40bd47:	0f 8e 0e 04 00 00    	jle    0x40c15b
40bd4d:	33 d2                	xor    %edx,%edx
40bd4f:	2b c1                	sub    %ecx,%eax
40bd51:	51                   	push   %ecx
40bd52:	48                   	dec    %eax
40bd53:	66 89 15 c4 1f 43 00 	mov    %dx,0x431fc4
40bd5a:	56                   	push   %esi
40bd5b:	89 44 24 18          	mov    %eax,0x18(%esp)
40bd5f:	ff 15 48 32 43 00    	call   *0x433248
40bd65:	8b 54 24 14          	mov    0x14(%esp),%edx
40bd69:	8b c8                	mov    %eax,%ecx
40bd6b:	e8 0f 08 00 00       	call   0x40c57f
40bd70:	39 3d 90 1f 43 00    	cmp    %edi,0x431f90
40bd76:	e9 ca 03 00 00       	jmp    0x40c145
40bd7b:	8b c7                	mov    %edi,%eax
40bd7d:	99                   	cltd
40bd7e:	f7 3d b0 10 41 00    	idivl  0x4110b0
40bd84:	0f af 05 b0 10 41 00 	imul   0x4110b0,%eax
40bd8b:	e9 b4 00 00 00       	jmp    0x40be44
40bd90:	6a 11                	push   $0x11
40bd92:	ff 15 24 32 43 00    	call   *0x433224
40bd98:	66 85 c0             	test   %ax,%ax
40bd9b:	74 6a                	je     0x40be07
40bd9d:	0f b7 3d 38 13 41 00 	movzwl 0x411338,%edi
40bda4:	66 39 3d 3c 13 41 00 	cmp    %di,0x41133c
40bdab:	0f 83 aa 03 00 00    	jae    0x40c15b
40bdb1:	8b 0d b0 10 41 00    	mov    0x4110b0,%ecx
40bdb7:	51                   	push   %ecx
40bdb8:	ff 74 24 10          	push   0x10(%esp)
40bdbc:	8d 34 39             	lea    (%ecx,%edi,1),%esi
40bdbf:	8b c6                	mov    %esi,%eax
40bdc1:	99                   	cltd
40bdc2:	f7 f9                	idiv   %ecx
40bdc4:	0f b7 05 3c 13 41 00 	movzwl 0x41133c,%eax
40bdcb:	2b f2                	sub    %edx,%esi
40bdcd:	2b f0                	sub    %eax,%esi
40bdcf:	ff 15 48 32 43 00    	call   *0x433248
40bdd5:	8d 56 ff             	lea    -0x1(%esi),%edx
40bdd8:	8b c8                	mov    %eax,%ecx
40bdda:	e8 a0 07 00 00       	call   0x40c57f
40bddf:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40bde6:	74 0a                	je     0x40bdf2
40bde8:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40bded:	e8 e4 14 00 00       	call   0x40d2d6
40bdf2:	66 a1 38 13 41 00    	mov    0x411338,%ax
40bdf8:	8b 74 24 0c          	mov    0xc(%esp),%esi
40bdfc:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40be02:	e9 4a 03 00 00       	jmp    0x40c151
40be07:	8b 0d b0 10 41 00    	mov    0x4110b0,%ecx
40be0d:	6a 20                	push   $0x20
40be0f:	8d 04 39             	lea    (%ecx,%edi,1),%eax
40be12:	99                   	cltd
40be13:	f7 f9                	idiv   %ecx
40be15:	5a                   	pop    %edx
40be16:	0f af c1             	imul   %ecx,%eax
40be19:	48                   	dec    %eax
40be1a:	0f b7 f8             	movzwl %ax,%edi
40be1d:	8b cf                	mov    %edi,%ecx
40be1f:	eb 09                	jmp    0x40be2a
40be21:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40be27:	0f b7 cf             	movzwl %di,%ecx
40be2a:	a1 48 26 43 00       	mov    0x432648,%eax
40be2f:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40be33:	74 ec                	je     0x40be21
40be35:	66 a1 38 13 41 00    	mov    0x411338,%ax
40be3b:	66 3b f8             	cmp    %ax,%di
40be3e:	0f 86 17 03 00 00    	jbe    0x40c15b
40be44:	0f b7 f8             	movzwl %ax,%edi
40be47:	e9 0f 03 00 00       	jmp    0x40c15b
40be4c:	66 a1 38 13 41 00    	mov    0x411338,%ax
40be52:	66 3b 05 3c 13 41 00 	cmp    0x41133c,%ax
40be59:	77 2b                	ja     0x40be86
40be5b:	8b 0d b0 10 41 00    	mov    0x4110b0,%ecx
40be61:	0f b7 d0             	movzwl %ax,%edx
40be64:	8d 04 39             	lea    (%ecx,%edi,1),%eax
40be67:	3b c2                	cmp    %edx,%eax
40be69:	0f 8f ec 02 00 00    	jg     0x40c15b
40be6f:	0f b7 f1             	movzwl %cx,%esi
40be72:	03 fe                	add    %esi,%edi
40be74:	0f b7 c7             	movzwl %di,%eax
40be77:	03 c1                	add    %ecx,%eax
40be79:	3b c2                	cmp    %edx,%eax
40be7b:	7e f5                	jle    0x40be72
40be7d:	8b 74 24 0c          	mov    0xc(%esp),%esi
40be81:	e9 d5 02 00 00       	jmp    0x40c15b
40be86:	51                   	push   %ecx
40be87:	56                   	push   %esi
40be88:	ff 15 48 32 43 00    	call   *0x433248
40be8e:	33 d2                	xor    %edx,%edx
40be90:	8b c8                	mov    %eax,%ecx
40be92:	e8 79 06 00 00       	call   0x40c510
40be97:	89 44 24 10          	mov    %eax,0x10(%esp)
40be9b:	85 c0                	test   %eax,%eax
40be9d:	0f 84 b0 00 00 00    	je     0x40bf53
40bea3:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40beaa:	74 0e                	je     0x40beba
40beac:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40beb1:	e8 20 14 00 00       	call   0x40d2d6
40beb6:	8b 44 24 10          	mov    0x10(%esp),%eax
40beba:	03 f8                	add    %eax,%edi
40bebc:	c7 05 5c 1f 43 00 01 	movl   $0x1,0x431f5c
40bec3:	00 00 00
40bec6:	66 3b 3d 38 13 41 00 	cmp    0x411338,%di
40becd:	76 0d                	jbe    0x40bedc
40becf:	2b 3d b0 10 41 00    	sub    0x4110b0,%edi
40bed5:	66 89 3d c4 1f 43 00 	mov    %di,0x431fc4
40bedc:	66 85 ff             	test   %di,%di
40bedf:	0f 84 cf 00 00 00    	je     0x40bfb4
40bee5:	6a 20                	push   $0x20
40bee7:	5a                   	pop    %edx
40bee8:	a1 48 26 43 00       	mov    0x432648,%eax
40beed:	0f b7 cf             	movzwl %di,%ecx
40bef0:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40bef4:	0f 85 ba 00 00 00    	jne    0x40bfb4
40befa:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40bf00:	66 85 ff             	test   %di,%di
40bf03:	75 e3                	jne    0x40bee8
40bf05:	e9 aa 00 00 00       	jmp    0x40bfb4
40bf0a:	8b 15 b0 10 41 00    	mov    0x4110b0,%edx
40bf10:	0f b7 05 3c 13 41 00 	movzwl 0x41133c,%eax
40bf17:	6b ca 0a             	imul   $0xa,%edx,%ecx
40bf1a:	3b c1                	cmp    %ecx,%eax
40bf1c:	7d 1b                	jge    0x40bf39
40bf1e:	8b c7                	mov    %edi,%eax
40bf20:	2b c2                	sub    %edx,%eax
40bf22:	0f 88 33 02 00 00    	js     0x40c15b
40bf28:	0f b7 ca             	movzwl %dx,%ecx
40bf2b:	2b f9                	sub    %ecx,%edi
40bf2d:	0f b7 c7             	movzwl %di,%eax
40bf30:	2b c2                	sub    %edx,%eax
40bf32:	79 f7                	jns    0x40bf2b
40bf34:	e9 22 02 00 00       	jmp    0x40c15b
40bf39:	51                   	push   %ecx
40bf3a:	56                   	push   %esi
40bf3b:	ff 15 48 32 43 00    	call   *0x433248
40bf41:	33 d2                	xor    %edx,%edx
40bf43:	8b c8                	mov    %eax,%ecx
40bf45:	42                   	inc    %edx
40bf46:	e8 c5 05 00 00       	call   0x40c510
40bf4b:	89 44 24 10          	mov    %eax,0x10(%esp)
40bf4f:	85 c0                	test   %eax,%eax
40bf51:	75 0e                	jne    0x40bf61
40bf53:	6a 00                	push   $0x0
40bf55:	56                   	push   %esi
40bf56:	ff 15 cc 32 43 00    	call   *0x4332cc
40bf5c:	e9 e5 02 00 00       	jmp    0x40c246
40bf61:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40bf68:	74 0e                	je     0x40bf78
40bf6a:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40bf6f:	e8 62 13 00 00       	call   0x40d2d6
40bf74:	8b 44 24 10          	mov    0x10(%esp),%eax
40bf78:	03 f8                	add    %eax,%edi
40bf7a:	c7 05 5c 1f 43 00 01 	movl   $0x1,0x431f5c
40bf81:	00 00 00
40bf84:	0f b7 c7             	movzwl %di,%eax
40bf87:	3b 05 44 26 43 00    	cmp    0x432644,%eax
40bf8d:	0f 87 b3 02 00 00    	ja     0x40c246
40bf93:	66 85 ff             	test   %di,%di
40bf96:	74 1c                	je     0x40bfb4
40bf98:	6a 20                	push   $0x20
40bf9a:	5a                   	pop    %edx
40bf9b:	a1 48 26 43 00       	mov    0x432648,%eax
40bfa0:	0f b7 cf             	movzwl %di,%ecx
40bfa3:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40bfa7:	75 0b                	jne    0x40bfb4
40bfa9:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40bfaf:	66 85 ff             	test   %di,%di
40bfb2:	75 e7                	jne    0x40bf9b
40bfb4:	66 89 3d c4 1f 43 00 	mov    %di,0x431fc4
40bfbb:	e9 9b 01 00 00       	jmp    0x40c15b
40bfc0:	66 85 ff             	test   %di,%di
40bfc3:	0f 84 92 01 00 00    	je     0x40c15b
40bfc9:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40bfcf:	66 3b 3d 80 26 43 00 	cmp    0x432680,%di
40bfd6:	0f 83 7f 01 00 00    	jae    0x40c15b
40bfdc:	6a 00                	push   $0x0
40bfde:	6a 26                	push   $0x26
40bfe0:	68 00 01 00 00       	push   $0x100
40bfe5:	56                   	push   %esi
40bfe6:	ff 15 10 33 43 00    	call   *0x433310
40bfec:	6a 20                	push   $0x20
40bfee:	5a                   	pop    %edx
40bfef:	eb 06                	jmp    0x40bff7
40bff1:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40bff7:	a1 48 26 43 00       	mov    0x432648,%eax
40bffc:	0f b7 cf             	movzwl %di,%ecx
40bfff:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40c003:	74 ec                	je     0x40bff1
40c005:	eb ad                	jmp    0x40bfb4
40c007:	8b 15 b0 10 41 00    	mov    0x4110b0,%edx
40c00d:	0f b7 05 38 13 41 00 	movzwl 0x411338,%eax
40c014:	89 54 24 10          	mov    %edx,0x10(%esp)
40c018:	8d 0c 3a             	lea    (%edx,%edi,1),%ecx
40c01b:	3b c8                	cmp    %eax,%ecx
40c01d:	7f 0f                	jg     0x40c02e
40c01f:	03 fa                	add    %edx,%edi
40c021:	66 3b 3d 3c 13 41 00 	cmp    0x41133c,%di
40c028:	0f 86 2d 01 00 00    	jbe    0x40c15b
40c02e:	51                   	push   %ecx
40c02f:	56                   	push   %esi
40c030:	ff 15 48 32 43 00    	call   *0x433248
40c036:	8b 54 24 14          	mov    0x14(%esp),%edx
40c03a:	8b c8                	mov    %eax,%ecx
40c03c:	e8 3e 05 00 00       	call   0x40c57f