40b875:	74 1c                	je     0x40b893
40b877:	83 f8 20             	cmp    $0x20,%eax
40b87a:	74 17                	je     0x40b893
40b87c:	ff 35 10 19 43 00    	push   0x431910
40b882:	8b 15 cc 1f 43 00    	mov    0x431fcc,%edx
40b888:	8b 0d c4 1f 43 00    	mov    0x431fc4,%ecx
40b88e:	e8 5a e5 ff ff       	call   0x409ded
40b893:	83 3d bc 1f 43 00 00 	cmpl   $0x0,0x431fbc
40b89a:	0f 84 a6 09 00 00    	je     0x40c246
40b8a0:	8b d6                	mov    %esi,%edx
40b8a2:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40b8a8:	eb 48                	jmp    0x40b8f2
40b8aa:	83 3d b4 1f 43 00 00 	cmpl   $0x0,0x431fb4
40b8b1:	74 09                	je     0x40b8bc
40b8b3:	6a 08                	push   $0x8
40b8b5:	56                   	push   %esi
40b8b6:	ff 15 44 32 43 00    	call   *0x433244
40b8bc:	33 ff                	xor    %edi,%edi
40b8be:	89 3d b4 1f 43 00    	mov    %edi,0x431fb4
40b8c4:	ff 15 30 32 43 00    	call   *0x433230
40b8ca:	39 3d 58 26 43 00    	cmp    %edi,0x432658
40b8d0:	0f 84 70 09 00 00    	je     0x40c246
40b8d6:	ff 15 30 32 43 00    	call   *0x433230
40b8dc:	6a 01                	push   $0x1
40b8de:	56                   	push   %esi
40b8df:	ff 15 44 32 43 00    	call   *0x433244
40b8e5:	89 3d 58 26 43 00    	mov    %edi,0x432658
40b8eb:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40b8f0:	8b ce                	mov    %esi,%ecx
40b8f2:	e8 7c 23 00 00       	call   0x40dc73
40b8f7:	e9 4a 09 00 00       	jmp    0x40c246
40b8fc:	83 3d bc 1f 43 00 00 	cmpl   $0x0,0x431fbc
40b903:	74 4c                	je     0x40b951
40b905:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40b90a:	e8 9d 0d 00 00       	call   0x40c6ac
40b90f:	0f b7 0d c4 1f 43 00 	movzwl 0x431fc4,%ecx
40b916:	3b c1                	cmp    %ecx,%eax
40b918:	75 37                	jne    0x40b951
40b91a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40b91e:	0f bf c1             	movswl %cx,%eax
40b921:	a3 14 27 43 00       	mov    %eax,0x432714
40b926:	8b c1                	mov    %ecx,%eax
40b928:	c1 e8 10             	shr    $0x10,%eax
40b92b:	98                   	cwtl
40b92c:	57                   	push   %edi
40b92d:	ff 35 34 26 43 00    	push   0x432634
40b933:	a3 18 27 43 00       	mov    %eax,0x432718
40b938:	33 c0                	xor    %eax,%eax
40b93a:	40                   	inc    %eax
40b93b:	50                   	push   %eax
40b93c:	56                   	push   %esi
40b93d:	a3 58 26 43 00       	mov    %eax,0x432658
40b942:	ff 15 40 32 43 00    	call   *0x433240
40b948:	56                   	push   %esi
40b949:	ff 15 2c 32 43 00    	call   *0x43322c
40b94f:	eb 6b                	jmp    0x40b9bc
40b951:	a1 48 26 43 00       	mov    0x432648,%eax
40b956:	85 c0                	test   %eax,%eax
40b958:	0f 84 e8 08 00 00    	je     0x40c246
40b95e:	66 39 38             	cmp    %di,(%eax)
40b961:	0f 84 df 08 00 00    	je     0x40c246
40b967:	57                   	push   %edi
40b968:	8d 44 24 30          	lea    0x30(%esp),%eax
40b96c:	50                   	push   %eax
40b96d:	56                   	push   %esi
40b96e:	ff 15 b8 32 43 00    	call   *0x4332b8
40b974:	85 c0                	test   %eax,%eax
40b976:	0f 85 ca 08 00 00    	jne    0x40c246
40b97c:	56                   	push   %esi
40b97d:	ff 15 28 33 43 00    	call   *0x433328
40b983:	56                   	push   %esi
40b984:	ff 15 2c 32 43 00    	call   *0x43322c
40b98a:	83 3d 90 1f 43 00 00 	cmpl   $0x0,0x431f90
40b991:	c7 05 b4 1f 43 00 01 	movl   $0x1,0x431fb4
40b998:	00 00 00
40b99b:	75 1f                	jne    0x40b9bc
40b99d:	83 3d bc 1f 43 00 00 	cmpl   $0x0,0x431fbc
40b9a4:	75 16                	jne    0x40b9bc
40b9a6:	0f b7 05 c4 1f 43 00 	movzwl 0x431fc4,%eax
40b9ad:	8b d6                	mov    %esi,%edx
40b9af:	57                   	push   %edi
40b9b0:	57                   	push   %edi
40b9b1:	50                   	push   %eax
40b9b2:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40b9b7:	e8 5b 0d 00 00       	call   0x40c717
40b9bc:	57                   	push   %edi
40b9bd:	ff 35 50 1f 43 00    	push   0x431f50
40b9c3:	ff 15 f4 31 43 00    	call   *0x4331f4
40b9c9:	83 3d b8 1f 43 00 00 	cmpl   $0x0,0x431fb8
40b9d0:	74 0e                	je     0x40b9e0
40b9d2:	6a 01                	push   $0x1
40b9d4:	89 3d b8 1f 43 00    	mov    %edi,0x431fb8
40b9da:	ff 15 bc 32 43 00    	call   *0x4332bc
40b9e0:	83 3d 58 26 43 00 00 	cmpl   $0x0,0x432658
40b9e7:	74 62                	je     0x40ba4b
40b9e9:	8b 44 24 10          	mov    0x10(%esp),%eax
40b9ed:	8b 0d 30 26 43 00    	mov    0x432630,%ecx
40b9f3:	0f bf d0             	movswl %ax,%edx
40b9f6:	c1 e8 10             	shr    $0x10,%eax
40b9f9:	98                   	cwtl
40b9fa:	89 44 24 0c          	mov    %eax,0xc(%esp)
40b9fe:	a1 14 27 43 00       	mov    0x432714,%eax
40ba03:	2b c1                	sub    %ecx,%eax
40ba05:	3b c2                	cmp    %edx,%eax
40ba07:	7f 28                	jg     0x40ba31
40ba09:	a1 14 27 43 00       	mov    0x432714,%eax
40ba0e:	03 c1                	add    %ecx,%eax
40ba10:	3b d0                	cmp    %eax,%edx
40ba12:	7f 1d                	jg     0x40ba31
40ba14:	8b 15 18 27 43 00    	mov    0x432718,%edx
40ba1a:	8b c2                	mov    %edx,%eax
40ba1c:	2b c1                	sub    %ecx,%eax
40ba1e:	3b 44 24 0c          	cmp    0xc(%esp),%eax
40ba22:	7f 0d                	jg     0x40ba31
40ba24:	8d 04 11             	lea    (%ecx,%edx,1),%eax
40ba27:	39 44 24 0c          	cmp    %eax,0xc(%esp)
40ba2b:	0f 8e 15 08 00 00    	jle    0x40c246
40ba31:	ff 15 30 32 43 00    	call   *0x433230
40ba37:	6a 01                	push   $0x1
40ba39:	56                   	push   %esi
40ba3a:	ff 15 44 32 43 00    	call   *0x433244
40ba40:	89 3d 58 26 43 00    	mov    %edi,0x432658
40ba46:	e9 cc 01 00 00       	jmp    0x40bc17
40ba4b:	83 3d b4 1f 43 00 00 	cmpl   $0x0,0x431fb4
40ba52:	0f 84 2a 01 00 00    	je     0x40bb82
40ba58:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40ba5c:	0f b7 c1             	movzwl %cx,%eax
40ba5f:	89 44 24 14          	mov    %eax,0x14(%esp)
40ba63:	8b c1                	mov    %ecx,%eax
40ba65:	c1 e8 10             	shr    $0x10,%eax
40ba68:	89 44 24 18          	mov    %eax,0x18(%esp)
40ba6c:	8d 44 24 14          	lea    0x14(%esp),%eax
40ba70:	50                   	push   %eax
40ba71:	56                   	push   %esi
40ba72:	ff 15 74 32 43 00    	call   *0x433274
40ba78:	ff 74 24 18          	push   0x18(%esp)
40ba7c:	ff 74 24 18          	push   0x18(%esp)
40ba80:	ff 15 c0 32 43 00    	call   *0x4332c0
40ba86:	3b c6                	cmp    %esi,%eax
40ba88:	0f 85 ca 00 00 00    	jne    0x40bb58
40ba8e:	6a 08                	push   $0x8
40ba90:	56                   	push   %esi
40ba91:	ff 15 44 32 43 00    	call   *0x433244
40ba97:	8d 44 24 14          	lea    0x14(%esp),%eax
40ba9b:	50                   	push   %eax
40ba9c:	56                   	push   %esi
40ba9d:	ff 15 9c 32 43 00    	call   *0x43329c
40baa3:	0f b7 54 24 18       	movzwl 0x18(%esp),%edx
40baa8:	be 70 1f 43 00       	mov    $0x431f70,%esi
40baad:	0f b7 44 24 14       	movzwl 0x14(%esp),%eax
40bab2:	8b ce                	mov    %esi,%ecx
40bab4:	c1 e2 10             	shl    $0x10,%edx
40bab7:	0b d0                	or     %eax,%edx
40bab9:	e8 ee 0b 00 00       	call   0x40c6ac
40babe:	0f b7 0d 80 26 43 00 	movzwl 0x432680,%ecx
40bac5:	8b d0                	mov    %eax,%edx
40bac7:	0f b7 05 38 13 41 00 	movzwl 0x411338,%eax
40bace:	03 ca                	add    %edx,%ecx
40bad0:	89 54 24 0c          	mov    %edx,0xc(%esp)
40bad4:	89 15 d8 23 43 00    	mov    %edx,0x4323d8
40bada:	3b c8                	cmp    %eax,%ecx
40badc:	7f 08                	jg     0x40bae6
40bade:	89 15 6c 1f 43 00    	mov    %edx,0x431f6c
40bae4:	eb 0a                	jmp    0x40baf0
40bae6:	a1 6c 1f 43 00       	mov    0x431f6c,%eax
40baeb:	a3 d8 23 43 00       	mov    %eax,0x4323d8
40baf0:	0f b7 05 3c 13 41 00 	movzwl 0x41133c,%eax
40baf7:	3b d0                	cmp    %eax,%edx
40baf9:	77 3d                	ja     0x40bb38
40bafb:	e8 4e b1 ff ff       	call   0x406c4e
40bb00:	85 c0                	test   %eax,%eax
40bb02:	74 10                	je     0x40bb14
40bb04:	a1 48 26 43 00       	mov    0x432648,%eax
40bb09:	85 c0                	test   %eax,%eax
40bb0b:	74 07                	je     0x40bb14
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)