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
40c041:	85 c0                	test   %eax,%eax
40c043:	0f 84 fd 01 00 00    	je     0x40c246
40c049:	6a 20                	push   $0x20
40c04b:	5a                   	pop    %edx
40c04c:	eb 06                	jmp    0x40c054
40c04e:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40c054:	a1 48 26 43 00       	mov    0x432648,%eax
40c059:	0f b7 cf             	movzwl %di,%ecx
40c05c:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40c060:	74 ec                	je     0x40c04e
40c062:	e9 d0 00 00 00       	jmp    0x40c137
40c067:	0f b7 05 38 13 41 00 	movzwl 0x411338,%eax
40c06e:	8d 4f 01             	lea    0x1(%edi),%ecx
40c071:	3b c8                	cmp    %eax,%ecx
40c073:	0f 87 e2 00 00 00    	ja     0x40c15b
40c079:	47                   	inc    %edi
40c07a:	66 3b 3d 3c 13 41 00 	cmp    0x41133c,%di
40c081:	77 12                	ja     0x40c095
40c083:	a1 48 26 43 00       	mov    0x432648,%eax
40c088:	0f b7 cf             	movzwl %di,%ecx
40c08b:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40c08f:	0f 85 c6 00 00 00    	jne    0x40c15b
40c095:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40c09c:	75 18                	jne    0x40c0b6
40c09e:	0f b7 05 c4 1f 43 00 	movzwl 0x431fc4,%eax
40c0a5:	8b d6                	mov    %esi,%edx
40c0a7:	6a 00                	push   $0x0
40c0a9:	6a 00                	push   $0x0
40c0ab:	50                   	push   %eax
40c0ac:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40c0b1:	e8 61 06 00 00       	call   0x40c717
40c0b6:	0f b7 c7             	movzwl %di,%eax
40c0b9:	48                   	dec    %eax
40c0ba:	99                   	cltd
40c0bb:	f7 3d b0 10 41 00    	idivl  0x4110b0
40c0c1:	6a 00                	push   $0x0
40c0c3:	0f af 05 b0 10 41 00 	imul   0x4110b0,%eax
40c0ca:	6a 28                	push   $0x28
40c0cc:	68 00 01 00 00       	push   $0x100
40c0d1:	56                   	push   %esi
40c0d2:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40c0d8:	e9 e5 fa ff ff       	jmp    0x40bbc2
40c0dd:	8b 15 b0 10 41 00    	mov    0x4110b0,%edx
40c0e3:	8b cf                	mov    %edi,%ecx
40c0e5:	0f b7 05 7c 26 43 00 	movzwl 0x43267c,%eax
40c0ec:	2b ca                	sub    %edx,%ecx
40c0ee:	3b c8                	cmp    %eax,%ecx
40c0f0:	7c 69                	jl     0x40c15b
40c0f2:	2b fa                	sub    %edx,%edi
40c0f4:	66 3b 3d 80 26 43 00 	cmp    0x432680,%di
40c0fb:	73 5e                	jae    0x40c15b
40c0fd:	51                   	push   %ecx
40c0fe:	f7 da                	neg    %edx
40c100:	56                   	push   %esi
40c101:	89 54 24 18          	mov    %edx,0x18(%esp)
40c105:	ff 15 48 32 43 00    	call   *0x433248
40c10b:	8b 54 24 14          	mov    0x14(%esp),%edx
40c10f:	8b c8                	mov    %eax,%ecx
40c111:	e8 69 04 00 00       	call   0x40c57f
40c116:	85 c0                	test   %eax,%eax
40c118:	0f 84 28 01 00 00    	je     0x40c246
40c11e:	6a 20                	push   $0x20
40c120:	5a                   	pop    %edx
40c121:	eb 06                	jmp    0x40c129
40c123:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40c129:	a1 48 26 43 00       	mov    0x432648,%eax
40c12e:	0f b7 cf             	movzwl %di,%ecx
40c131:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40c135:	74 ec                	je     0x40c123
40c137:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40c13e:	66 89 3d c4 1f 43 00 	mov    %di,0x431fc4
40c145:	74 0a                	je     0x40c151
40c147:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40c14c:	e8 85 11 00 00       	call   0x40d2d6
40c151:	c7 05 5c 1f 43 00 01 	movl   $0x1,0x431f5c
40c158:	00 00 00
40c15b:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40c162:	75 18                	jne    0x40c17c
40c164:	0f b7 05 c4 1f 43 00 	movzwl 0x431fc4,%eax
40c16b:	8b d6                	mov    %esi,%edx
40c16d:	6a 00                	push   $0x0
40c16f:	6a 00                	push   $0x0
40c171:	50                   	push   %eax
40c172:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40c177:	e8 9b 05 00 00       	call   0x40c717
40c17c:	6a 20                	push   $0x20
40c17e:	5a                   	pop    %edx
40c17f:	eb 0f                	jmp    0x40c190
40c181:	66 3b 3d 80 26 43 00 	cmp    0x432680,%di
40c188:	76 14                	jbe    0x40c19e
40c18a:	81 c7 ff ff 00 00    	add    $0xffff,%edi
40c190:	a1 48 26 43 00       	mov    0x432648,%eax
40c195:	0f b7 cf             	movzwl %di,%ecx
40c198:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
40c19c:	74 e3                	je     0x40c181
40c19e:	83 3d 5c 1f 43 00 00 	cmpl   $0x0,0x431f5c
40c1a5:	75 19                	jne    0x40c1c0
40c1a7:	83 3d bc 1f 43 00 01 	cmpl   $0x1,0x431fbc
40c1ae:	75 10                	jne    0x40c1c0
40c1b0:	6a 00                	push   $0x0
40c1b2:	8b d7                	mov    %edi,%edx
40c1b4:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40c1b9:	e8 9e 0c 00 00       	call   0x40ce5c
40c1be:	eb 49                	jmp    0x40c209
40c1c0:	ff 35 10 19 43 00    	push   0x431910
40c1c6:	83 25 b0 1f 43 00 00 	andl   $0x0,0x431fb0
40c1cd:	ff 15 f0 32 43 00    	call   *0x4332f0
40c1d3:	8b f0                	mov    %eax,%esi
40c1d5:	8b d7                	mov    %edi,%edx
40c1d7:	6a 01                	push   $0x1
40c1d9:	8b ce                	mov    %esi,%ecx
40c1db:	e8 3e 11 00 00       	call   0x40d31e
40c1e0:	56                   	push   %esi
40c1e1:	ff 35 10 19 43 00    	push   0x431910
40c1e7:	ff 15 08 33 43 00    	call   *0x433308
40c1ed:	8b 74 24 0c          	mov    0xc(%esp),%esi
40c1f1:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40c1f6:	6a 01                	push   $0x1
40c1f8:	6a 01                	push   $0x1
40c1fa:	57                   	push   %edi
40c1fb:	8b d6                	mov    %esi,%edx
40c1fd:	e8 15 05 00 00       	call   0x40c717
40c202:	66 89 3d c4 1f 43 00 	mov    %di,0x431fc4
40c209:	6a 6c                	push   $0x6c
40c20b:	56                   	push   %esi
40c20c:	ff 15 48 32 43 00    	call   *0x433248
40c212:	50                   	push   %eax
40c213:	ff 15 14 33 43 00    	call   *0x433314
40c219:	68 cc 00 00 00       	push   $0xcc
40c21e:	56                   	push   %esi
40c21f:	8b f8                	mov    %eax,%edi
40c221:	ff 15 48 32 43 00    	call   *0x433248
40c227:	50                   	push   %eax
40c228:	ff 15 14 33 43 00    	call   *0x433314
40c22e:	6a 01                	push   $0x1
40c230:	6a 00                	push   $0x0
40c232:	57                   	push   %edi
40c233:	8b f0                	mov    %eax,%esi
40c235:	ff 15 fc 31 43 00    	call   *0x4331fc
40c23b:	6a 01                	push   $0x1
40c23d:	6a 00                	push   $0x0
40c23f:	56                   	push   %esi
40c240:	ff 15 fc 31 43 00    	call   *0x4331fc
40c246:	33 c0                	xor    %eax,%eax
40c248:	8b 8c 24 94 02 00 00 	mov    0x294(%esp),%ecx
40c24f:	5f                   	pop    %edi
40c250:	5e                   	pop    %esi
40c251:	33 cc                	xor    %esp,%ecx
40c253:	e8 d8 41 00 00       	call   0x410430
40c258:	8b e5                	mov    %ebp,%esp
40c25a:	5d                   	pop    %ebp
40c25b:	c2 10 00             	ret    $0x10
40c25e:	8b ff                	mov    %edi,%edi
40c260:	55                   	push   %ebp
40c261:	8b ec                	mov    %esp,%ebp
40c263:	83 ec 44             	sub    $0x44,%esp
40c266:	a1 64 10 41 00       	mov    0x411064,%eax
40c26b:	33 c5                	xor    %ebp,%eax
40c26d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c270:	53                   	push   %ebx
40c271:	56                   	push   %esi
40c272:	8b c1                	mov    %ecx,%eax
40c274:	57                   	push   %edi
40c275:	50                   	push   %eax
40c276:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c279:	ff 15 f0 32 43 00    	call   *0x4332f0
40c27f:	ff 35 cc 1f 43 00    	push   0x431fcc
40c285:	8b d8                	mov    %eax,%ebx
40c287:	53                   	push   %ebx
40c288:	ff 15 ac 30 43 00    	call   *0x4330ac
40c28e:	8b f0                	mov    %eax,%esi
40c290:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c293:	50                   	push   %eax
40c294:	53                   	push   %ebx
40c295:	ff 15 98 30 43 00    	call   *0x433098