41a906:	75 f4                	jne    0x41a8fc
41a908:	8b 75 e0             	mov    -0x20(%ebp),%esi
41a90b:	8b 5d dc             	mov    -0x24(%ebp),%ebx
41a90e:	e9 e2 cb fe ff       	jmp    0x4074f5
41a913:	33 c0                	xor    %eax,%eax
41a915:	c6 45 e7 01          	movb   $0x1,-0x19(%ebp)
41a919:	40                   	inc    %eax
41a91a:	89 45 e0             	mov    %eax,-0x20(%ebp)
41a91d:	e9 03 cc fe ff       	jmp    0x407525
41a922:	81 36 00 20 00 00    	xorl   $0x2000,(%esi)
41a928:	e9 5a cc fe ff       	jmp    0x407587
41a92d:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
41a931:	74 0b                	je     0x41a93e
41a933:	81 36 00 08 00 00    	xorl   $0x800,(%esi)
41a939:	e9 49 cc fe ff       	jmp    0x407587
41a93e:	81 0e 00 08 00 00    	orl    $0x800,(%esi)
41a944:	e9 3e cc fe ff       	jmp    0x407587
41a949:	81 36 00 10 00 00    	xorl   $0x1000,(%esi)
41a94f:	e9 33 cc fe ff       	jmp    0x407587
41a954:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
41a958:	74 2c                	je     0x41a986
41a95a:	8d 4b 02             	lea    0x2(%ebx),%ecx
41a95d:	33 d2                	xor    %edx,%edx
41a95f:	66 8b 03             	mov    (%ebx),%ax
41a962:	83 c3 02             	add    $0x2,%ebx
41a965:	66 3b c2             	cmp    %dx,%ax
41a968:	75 f5                	jne    0x41a95f
41a96a:	2b d9                	sub    %ecx,%ebx
41a96c:	d1 fb                	sar    $1,%ebx
41a96e:	83 fb 01             	cmp    $0x1,%ebx
41a971:	0f 87 8f 00 00 00    	ja     0x41aa06
41a977:	c7 46 04 06 00 00 00 	movl   $0x6,0x4(%esi)
41a97e:	89 56 08             	mov    %edx,0x8(%esi)
41a981:	e9 14 cc fe ff       	jmp    0x40759a
41a986:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41a989:	8b d6                	mov    %esi,%edx
41a98b:	0f b7 c1             	movzwl %cx,%eax
41a98e:	83 c0 03             	add    $0x3,%eax
41a991:	8d 0c 47             	lea    (%edi,%eax,2),%ecx
41a994:	e8 e1 f9 00 00       	call   0x42a37a
41a999:	85 c0                	test   %eax,%eax
41a99b:	0f 85 a3 00 00 00    	jne    0x41aa44
41a9a1:	f6 46 08 01          	testb  $0x1,0x8(%esi)
41a9a5:	0f 84 ef cb fe ff    	je     0x40759a
41a9ab:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
41a9b1:	e9 e4 cb fe ff       	jmp    0x40759a
41a9b6:	6a 10                	push   $0x10
41a9b8:	59                   	pop    %ecx
41a9b9:	e8 12 33 ff ff       	call   0x40dcd0
41a9be:	85 c0                	test   %eax,%eax
41a9c0:	0f 84 86 00 00 00    	je     0x41aa4c
41a9c6:	89 43 0c             	mov    %eax,0xc(%ebx)
41a9c9:	33 d2                	xor    %edx,%edx
41a9cb:	8b d8                	mov    %eax,%ebx
41a9cd:	89 50 0c             	mov    %edx,0xc(%eax)
41a9d0:	8b 46 48             	mov    0x48(%esi),%eax
41a9d3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41a9d6:	e9 e8 cb fe ff       	jmp    0x4075c3
41a9db:	6a 2f                	push   $0x2f
41a9dd:	58                   	pop    %eax
41a9de:	33 c9                	xor    %ecx,%ecx
41a9e0:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
41a9e4:	66 8b 47 04          	mov    0x4(%edi),%ax
41a9e8:	66 89 4d ec          	mov    %cx,-0x14(%ebp)
41a9ec:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41a9ef:	0f b7 c9             	movzwl %cx,%ecx
41a9f2:	83 c1 02             	add    $0x2,%ecx
41a9f5:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
41a9f9:	8d 0c 4f             	lea    (%edi,%ecx,2),%ecx
41a9fc:	51                   	push   %ecx
41a9fd:	6a 01                	push   $0x1
41a9ff:	68 75 23 00 00       	push   $0x2375
41aa04:	eb 14                	jmp    0x41aa1a
41aa06:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41aa09:	0f b7 c1             	movzwl %cx,%eax
41aa0c:	83 c0 02             	add    $0x2,%eax
41aa0f:	8d 04 47             	lea    (%edi,%eax,2),%eax
41aa12:	50                   	push   %eax
41aa13:	6a 01                	push   $0x1
41aa15:	68 76 23 00 00       	push   $0x2376
41aa1a:	e8 c5 ce fe ff       	call   0x4078e4
41aa1f:	83 c4 0c             	add    $0xc,%esp
41aa22:	eb 20                	jmp    0x41aa44
41aa24:	e8 e5 ef 00 00       	call   0x429a0e
41aa29:	33 db                	xor    %ebx,%ebx
41aa2b:	53                   	push   %ebx
41aa2c:	68 81 23 00 00       	push   $0x2381
41aa31:	e8 87 b9 fe ff       	call   0x4063bd
41aa36:	59                   	pop    %ecx
41aa37:	59                   	pop    %ecx
41aa38:	88 1d 5b 90 44 00    	mov    %bl,0x44905b
41aa3e:	89 1d 0c 95 44 00    	mov    %ebx,0x44950c
41aa44:	33 c0                	xor    %eax,%eax
41aa46:	40                   	inc    %eax
41aa47:	e9 93 cb fe ff       	jmp    0x4075df
41aa4c:	e8 d1 ee 00 00       	call   0x429922
41aa51:	6a 01                	push   $0x1
41aa53:	68 30 0a 44 00       	push   $0x440a30
41aa58:	ff 15 30 a4 44 00    	call   *0x44a430
41aa5e:	cc                   	int3
41aa5f:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
41aa64:	e9 e5 cb fe ff       	jmp    0x40764e
41aa69:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
41aa6e:	e9 38 cc fe ff       	jmp    0x4076ab
41aa73:	68 f8 38 40 00       	push   $0x4038f8
41aa78:	56                   	push   %esi
41aa79:	ff 15 40 a4 44 00    	call   *0x44a440
41aa7f:	59                   	pop    %ecx
41aa80:	59                   	pop    %ecx
41aa81:	85 c0                	test   %eax,%eax
41aa83:	75 0a                	jne    0x41aa8f
41aa85:	a2 54 67 43 00       	mov    %al,0x436754
41aa8a:	e9 b3 cc fe ff       	jmp    0x407742
41aa8f:	33 c0                	xor    %eax,%eax
41aa91:	66 39 06             	cmp    %ax,(%esi)
41aa94:	0f 84 a8 cc fe ff    	je     0x407742
41aa9a:	50                   	push   %eax
41aa9b:	68 a6 23 00 40       	push   $0x400023a6
41aaa0:	e8 3f ce fe ff       	call   0x4078e4
41aaa5:	33 c0                	xor    %eax,%eax
41aaa7:	59                   	pop    %ecx
41aaa8:	40                   	inc    %eax
41aaa9:	59                   	pop    %ecx
41aaaa:	a3 dc 65 43 00       	mov    %eax,0x4365dc
41aaaf:	e9 bb cc fe ff       	jmp    0x40776f
41aab4:	6a 00                	push   $0x0
41aab6:	68 1c 27 00 40       	push   $0x4000271c
41aabb:	e8 24 ce fe ff       	call   0x4078e4
41aac0:	59                   	pop    %ecx
41aac1:	59                   	pop    %ecx
41aac2:	33 c0                	xor    %eax,%eax
41aac4:	40                   	inc    %eax
41aac5:	e9 a5 cc fe ff       	jmp    0x40776f
41aaca:	56                   	push   %esi
41aacb:	6a 08                	push   $0x8
41aacd:	e8 12 ce fe ff       	call   0x4078e4
41aad2:	59                   	pop    %ecx
41aad3:	59                   	pop    %ecx
41aad4:	6a 08                	push   $0x8
41aad6:	58                   	pop    %eax
41aad7:	e9 1d cd fe ff       	jmp    0x4077f9
41aadc:	ff 15 80 a0 44 00    	call   *0x44a080
41aae2:	8b f0                	mov    %eax,%esi
41aae4:	e9 07 cd fe ff       	jmp    0x4077f0
41aae9:	e8 34 ee 00 00       	call   0x429922
41aaee:	6a 01                	push   $0x1
41aaf0:	68 30 0a 44 00       	push   $0x440a30
41aaf5:	ff 15 30 a4 44 00    	call   *0x44a430
41aafb:	6a 5c                	push   $0x5c
41aafd:	5a                   	pop    %edx
41aafe:	8b cb                	mov    %ebx,%ecx
41ab00:	e8 f0 56 ff ff       	call   0x4101f5
41ab05:	6a 2e                	push   $0x2e
41ab07:	59                   	pop    %ecx
41ab08:	85 c0                	test   %eax,%eax
41ab0a:	75 26                	jne    0x41ab32
41ab0c:	66 39 0b             	cmp    %cx,(%ebx)
41ab0f:	0f 85 76 cd fe ff    	jne    0x40788b
41ab15:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41ab19:	66 85 c0             	test   %ax,%ax
41ab1c:	0f 84 69 cd fe ff    	je     0x40788b
41ab22:	66 3b c1             	cmp    %cx,%ax
41ab25:	0f 84 60 cd fe ff    	je     0x40788b
41ab2b:	33 c0                	xor    %eax,%eax
41ab2d:	66 89 07             	mov    %ax,(%edi)
41ab30:	eb 44                	jmp    0x41ab76
41ab32:	66 39 48 02          	cmp    %cx,0x2(%eax)
41ab36:	0f 85 4f cd fe ff    	jne    0x40788b
41ab3c:	0f b7 50 04          	movzwl 0x4(%eax),%edx
41ab40:	66 85 d2             	test   %dx,%dx
41ab43:	0f 84 42 cd fe ff    	je     0x40788b
41ab49:	66 3b d1             	cmp    %cx,%dx
41ab4c:	0f 84 39 cd fe ff    	je     0x40788b
41ab52:	2b c3                	sub    %ebx,%eax
41ab54:	d1 f8                	sar    $1,%eax
41ab56:	40                   	inc    %eax
41ab57:	0f b7 c0             	movzwl %ax,%eax
41ab5a:	0f b7 f0             	movzwl %ax,%esi
41ab5d:	03 f6                	add    %esi,%esi
41ab5f:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ab62:	56                   	push   %esi
41ab63:	53                   	push   %ebx
41ab64:	57                   	push   %edi
41ab65:	e8 d8 d0 ff ff       	call   0x417c42
41ab6a:	83 c4 0c             	add    $0xc,%esp
41ab6d:	33 c0                	xor    %eax,%eax
41ab6f:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
41ab73:	8b 75 f4             	mov    -0xc(%ebp),%esi
41ab76:	68 70 26 40 00       	push   $0x402670
41ab7b:	8b d6                	mov    %esi,%edx
41ab7d:	8b cf                	mov    %edi,%ecx
41ab7f:	e8 bc 50 ff ff       	call   0x40fc40
41ab84:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ab87:	8b d6                	mov    %esi,%edx
41ab89:	0f b7 c1             	movzwl %cx,%eax
41ab8c:	8b cf                	mov    %edi,%ecx
41ab8e:	8d 04 43             	lea    (%ebx,%eax,2),%eax
41ab91:	50                   	push   %eax
41ab92:	e8 a9 50 ff ff       	call   0x40fc40
41ab97:	e9 ef cc fe ff       	jmp    0x40788b
41ab9c:	8b 0d 0c 95 44 00    	mov    0x44950c,%ecx
41aba2:	3b cf                	cmp    %edi,%ecx
41aba4:	0f 82 c9 00 00 00    	jb     0x41ac73
41abaa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41abad:	33 f6                	xor    %esi,%esi
41abaf:	50                   	push   %eax
41abb0:	53                   	push   %ebx
41abb1:	89 35 0c 95 44 00    	mov    %esi,0x44950c
41abb7:	ff 15 28 a0 44 00    	call   *0x44a028
41abbd:	85 c0                	test   %eax,%eax
41abbf:	0f 84 a5 00 00 00    	je     0x41ac6a
41abc5:	56                   	push   %esi
41abc6:	8d 45 c8             	lea    -0x38(%ebp),%eax
41abc9:	50                   	push   %eax
41abca:	ff 35 04 95 44 00    	push   0x449504
41abd0:	ff 35 08 95 44 00    	push   0x449508
41abd6:	53                   	push   %ebx
41abd7:	ff 15 0c a0 44 00    	call   *0x44a00c
41abdd:	85 c0                	test   %eax,%eax
41abdf:	0f 84 85 00 00 00    	je     0x41ac6a
41abe5:	6a f6                	push   $0xfffffff6
41abe7:	ff 15 bc a1 44 00    	call   *0x44a1bc
41abed:	50                   	push   %eax
41abee:	ff 15 30 a0 44 00    	call   *0x44a030
41abf4:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41abf7:	50                   	push   %eax
41abf8:	53                   	push   %ebx
41abf9:	ff 15 10 a0 44 00    	call   *0x44a010
41abff:	56                   	push   %esi
41ac00:	53                   	push   %ebx
41ac01:	ff 15 14 a0 44 00    	call   *0x44a014
41ac07:	ff 15 a8 a3 44 00    	call   *0x44a3a8
41ac0d:	ff 75 b4             	push   -0x4c(%ebp)
41ac10:	0f b7 f8             	movzwl %ax,%edi
41ac13:	53                   	push   %ebx
41ac14:	ff 15 14 a0 44 00    	call   *0x44a014
41ac1a:	8d 45 cc             	lea    -0x34(%ebp),%eax
41ac1d:	50                   	push   %eax
41ac1e:	53                   	push   %ebx
41ac1f:	ff 15 28 a0 44 00    	call   *0x44a028
41ac25:	0f bf 4d ea          	movswl -0x16(%ebp),%ecx
41ac29:	8d 45 c8             	lea    -0x38(%ebp),%eax
41ac2c:	0f bf 55 e4          	movswl -0x1c(%ebp),%edx
41ac30:	0f bf 75 cc          	movswl -0x34(%ebp),%esi
41ac34:	0f af d1             	imul   %ecx,%edx
41ac37:	0f bf 4d d2          	movswl -0x2e(%ebp),%ecx
41ac3b:	50                   	push   %eax
41ac3c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ac3f:	0f af f1             	imul   %ecx,%esi
41ac42:	50                   	push   %eax
41ac43:	98                   	cwtl
41ac44:	2b f2                	sub    %edx,%esi
41ac46:	03 f0                	add    %eax,%esi
41ac48:	0f bf 45 d0          	movswl -0x30(%ebp),%eax
41ac4c:	03 f0                	add    %eax,%esi
41ac4e:	56                   	push   %esi
41ac4f:	6a 20                	push   $0x20
41ac51:	53                   	push   %ebx
41ac52:	ff 15 34 a0 44 00    	call   *0x44a034
41ac58:	ff 75 e8             	push   -0x18(%ebp)
41ac5b:	53                   	push   %ebx
41ac5c:	ff 15 38 a0 44 00    	call   *0x44a038
41ac62:	83 ff 03             	cmp    $0x3,%edi
41ac65:	74 3f                	je     0x41aca6
41ac67:	8b 7d bc             	mov    -0x44(%ebp),%edi
41ac6a:	8b 0d 0c 95 44 00    	mov    0x44950c,%ecx
41ac70:	8b 55 c0             	mov    -0x40(%ebp),%edx
41ac73:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41ac76:	8b f2                	mov    %edx,%esi
41ac78:	8d 04 42             	lea    (%edx,%eax,2),%eax
41ac7b:	89 45 b0             	mov    %eax,-0x50(%ebp)
41ac7e:	3b d0                	cmp    %eax,%edx
41ac80:	73 1b                	jae    0x41ac9d
41ac82:	3b cf                	cmp    %edi,%ecx
41ac84:	73 11                	jae    0x41ac97
41ac86:	0f b7 06             	movzwl (%esi),%eax
41ac89:	83 c6 02             	add    $0x2,%esi
41ac8c:	83 f8 0a             	cmp    $0xa,%eax
41ac8f:	75 01                	jne    0x41ac92
41ac91:	41                   	inc    %ecx
41ac92:	3b 75 b0             	cmp    -0x50(%ebp),%esi
41ac95:	72 eb                	jb     0x41ac82
41ac97:	89 0d 0c 95 44 00    	mov    %ecx,0x44950c
41ac9d:	2b f2                	sub    %edx,%esi
41ac9f:	d1 fe                	sar    $1,%esi
41aca1:	e9 0f cd fe ff       	jmp    0x4079b5
41aca6:	ff 35 a4 25 43 00    	push   0x4325a4
41acac:	ff 15 9c a2 44 00    	call   *0x44a29c
41acb2:	ff 35 a4 25 43 00    	push   0x4325a4
41acb8:	c7 05 9c 25 43 00 01 	movl   $0x1,0x43259c
41acbf:	00 00 00
41acc2:	ff 15 a8 a2 44 00    	call   *0x44a2a8
41acc8:	33 c0                	xor    %eax,%eax
41acca:	e9 19 cd fe ff       	jmp    0x4079e8
41accf:	83 7d b8 02          	cmpl   $0x2,-0x48(%ebp)
41acd3:	0f 85 0f cd fe ff    	jne    0x4079e8
41acd9:	6a 00                	push   $0x0
41acdb:	e8 90 71 ff ff       	call   0x411e70
41ace0:	85 c0                	test   %eax,%eax
41ace2:	74 f5                	je     0x41acd9
41ace4:	6a 01                	push   $0x1
41ace6:	ff 15 a4 a3 44 00    	call   *0x44a3a4
41acec:	cc                   	int3
41aced:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
41acf2:	e9 15 cf fe ff       	jmp    0x407c0c
41acf7:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41acfd:	e9 26 cf fe ff       	jmp    0x407c28
41ad02:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ad05:	85 c9                	test   %ecx,%ecx
41ad07:	75 06                	jne    0x41ad0f
41ad09:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41ad0f:	e8 94 a1 ff ff       	call   0x414ea8
41ad14:	66 83 38 2e          	cmpw   $0x2e,(%eax)
41ad18:	0f 85 30 cf fe ff    	jne    0x407c4e
41ad1e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ad21:	85 c9                	test   %ecx,%ecx
41ad23:	75 06                	jne    0x41ad2b
41ad25:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41ad2b:	33 c0                	xor    %eax,%eax
41ad2d:	66 89 44 71 fc       	mov    %ax,-0x4(%ecx,%esi,2)
41ad32:	e9 29 cf fe ff       	jmp    0x407c60
41ad37:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41ad3d:	e9 17 cf fe ff       	jmp    0x407c59
41ad42:	b8 70 26 40 00       	mov    $0x402670,%eax
41ad47:	e9 30 cf fe ff       	jmp    0x407c7c
41ad4c:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
41ad52:	e9 3f cf fe ff       	jmp    0x407c96
41ad57:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
41ad5d:	85 c9                	test   %ecx,%ecx
41ad5f:	75 06                	jne    0x41ad67
41ad61:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
41ad67:	8d 51 02             	lea    0x2(%ecx),%edx
41ad6a:	66 8b 01             	mov    (%ecx),%ax
41ad6d:	83 c1 02             	add    $0x2,%ecx
41ad70:	66 3b c6             	cmp    %si,%ax
41ad73:	75 f5                	jne    0x41ad6a
41ad75:	2b ca                	sub    %edx,%ecx
41ad77:	d1 f9                	sar    $1,%ecx
41ad79:	8d 41 03             	lea    0x3(%ecx),%eax
41ad7c:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
41ad81:	0f 87 53 cf fe ff    	ja     0x407cda
41ad87:	80 bd c6 fb ff ff 00 	cmpb   $0x0,-0x43a(%ebp)
41ad8e:	0f 84 46 cf fe ff    	je     0x407cda
41ad94:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
41ad98:	0f 84 3c cf fe ff    	je     0x407cda
41ad9e:	68 bc 24 40 00       	push   $0x4024bc
41ada3:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
41ada9:	e8 7e 75 ff ff       	call   0x41232c
41adae:	e9 27 cf fe ff       	jmp    0x407cda
41adb3:	50                   	push   %eax