407947:	66 89 06             	mov    %ax,(%esi)
40794a:	39 75 0c             	cmp    %esi,0xc(%ebp)
40794d:	74 17                	je     0x407966
40794f:	8b ce                	mov    %esi,%ecx
407951:	8d 51 02             	lea    0x2(%ecx),%edx
407954:	66 8b 01             	mov    (%ecx),%ax
407957:	83 c1 02             	add    $0x2,%ecx
40795a:	66 85 c0             	test   %ax,%ax
40795d:	75 f5                	jne    0x407954
40795f:	2b ca                	sub    %edx,%ecx
407961:	d1 f9                	sar    $1,%ecx
407963:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
407966:	5f                   	pop    %edi
407967:	8b c6                	mov    %esi,%eax
407969:	5e                   	pop    %esi
40796a:	5d                   	pop    %ebp
40796b:	c3                   	ret
40796c:	8b ff                	mov    %edi,%edi
40796e:	55                   	push   %ebp
40796f:	8b ec                	mov    %esp,%ebp
407971:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
407977:	a1 64 10 41 00       	mov    0x411064,%eax
40797c:	33 c5                	xor    %ebp,%eax
40797e:	89 45 fc             	mov    %eax,-0x4(%ebp)
407981:	53                   	push   %ebx
407982:	8b c2                	mov    %edx,%eax
407984:	8b d9                	mov    %ecx,%ebx
407986:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40798c:	56                   	push   %esi
40798d:	8b 75 08             	mov    0x8(%ebp),%esi
407990:	85 c0                	test   %eax,%eax
407992:	0f 84 cd 01 00 00    	je     0x407b65
407998:	85 db                	test   %ebx,%ebx
40799a:	0f 84 c5 01 00 00    	je     0x407b65
4079a0:	57                   	push   %edi
4079a1:	8b 3d 28 26 43 00    	mov    0x432628,%edi
4079a7:	33 c9                	xor    %ecx,%ecx
4079a9:	66 89 0b             	mov    %cx,(%ebx)
4079ac:	85 ff                	test   %edi,%edi
4079ae:	74 21                	je     0x4079d1
4079b0:	38 0d 18 26 43 00    	cmp    %cl,0x432618
4079b6:	74 19                	je     0x4079d1
4079b8:	50                   	push   %eax
4079b9:	53                   	push   %ebx
4079ba:	56                   	push   %esi
4079bb:	8b cf                	mov    %edi,%ecx
4079bd:	ff 15 18 34 43 00    	call   *0x433418
4079c3:	ff d7                	call   *%edi
4079c5:	0f b7 03             	movzwl (%ebx),%eax
4079c8:	66 85 c0             	test   %ax,%ax
4079cb:	0f 85 93 01 00 00    	jne    0x407b64
4079d1:	8b 06                	mov    (%esi),%eax
4079d3:	33 c9                	xor    %ecx,%ecx
4079d5:	c7 85 f8 fd ff ff b0 	movl   $0x4019b0,-0x208(%ebp)
4079dc:	19 40 00
4079df:	2b c1                	sub    %ecx,%eax
4079e1:	74 33                	je     0x407a16
4079e3:	83 e8 01             	sub    $0x1,%eax
4079e6:	74 22                	je     0x407a0a
4079e8:	83 e8 01             	sub    $0x1,%eax
4079eb:	74 11                	je     0x4079fe
4079ed:	83 e8 01             	sub    $0x1,%eax
4079f0:	75 2e                	jne    0x407a20
4079f2:	c7 85 f8 fd ff ff 90 	movl   $0x401590,-0x208(%ebp)
4079f9:	15 40 00
4079fc:	eb 22                	jmp    0x407a20
4079fe:	c7 85 f8 fd ff ff 88 	movl   $0x401588,-0x208(%ebp)
407a05:	15 40 00
407a08:	eb 16                	jmp    0x407a20
407a0a:	c7 85 f8 fd ff ff 7c 	movl   $0x40157c,-0x208(%ebp)
407a11:	15 40 00
407a14:	eb 0a                	jmp    0x407a20
407a16:	c7 85 f8 fd ff ff 70 	movl   $0x401570,-0x208(%ebp)
407a1d:	15 40 00
407a20:	51                   	push   %ecx
407a21:	33 c0                	xor    %eax,%eax
407a23:	68 00 01 00 00       	push   $0x100
407a28:	66 89 85 fc fd ff ff 	mov    %ax,-0x204(%ebp)
407a2f:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
407a35:	50                   	push   %eax
407a36:	68 00 04 00 00       	push   $0x400
407a3b:	ff 76 04             	push   0x4(%esi)
407a3e:	51                   	push   %ecx
407a3f:	68 00 12 00 00       	push   $0x1200
407a44:	ff 15 30 31 43 00    	call   *0x433130
407a4a:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
407a4e:	8b 85 f4 fd ff ff    	mov    -0x20c(%ebp),%eax
407a54:	ff 76 48             	push   0x48(%esi)
407a57:	ff 76 44             	push   0x44(%esi)
407a5a:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
407a5d:	74 17                	je     0x407a76
407a5f:	ff 76 20             	push   0x20(%esi)
407a62:	ff 76 1c             	push   0x1c(%esi)
407a65:	68 9c 15 40 00       	push   $0x40159c
407a6a:	57                   	push   %edi
407a6b:	53                   	push   %ebx
407a6c:	e8 8f fe ff ff       	call   0x407900
407a71:	83 c4 1c             	add    $0x1c,%esp
407a74:	eb 0f                	jmp    0x407a85
407a76:	68 c0 15 40 00       	push   $0x4015c0
407a7b:	57                   	push   %edi
407a7c:	53                   	push   %ebx
407a7d:	e8 7e fe ff ff       	call   0x407900
407a82:	83 c4 14             	add    $0x14,%esp
407a85:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
407a89:	8b d8                	mov    %eax,%ebx
407a8b:	74 14                	je     0x407aa1
407a8d:	ff 76 4c             	push   0x4c(%esi)
407a90:	68 d4 15 40 00       	push   $0x4015d4
407a95:	57                   	push   %edi
407a96:	53                   	push   %ebx
407a97:	e8 64 fe ff ff       	call   0x407900
407a9c:	83 c4 10             	add    $0x10,%esp
407a9f:	8b d8                	mov    %eax,%ebx
407aa1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
407aa7:	50                   	push   %eax
407aa8:	ff 76 04             	push   0x4(%esi)
407aab:	ff 15 50 31 43 00    	call   *0x433150
407ab1:	50                   	push   %eax
407ab2:	ff 76 24             	push   0x24(%esi)
407ab5:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
407abb:	68 f0 15 40 00       	push   $0x4015f0
407ac0:	57                   	push   %edi
407ac1:	53                   	push   %ebx
407ac2:	e8 39 fe ff ff       	call   0x407900
407ac7:	33 c9                	xor    %ecx,%ecx
407ac9:	83 c4 20             	add    $0x20,%esp
407acc:	39 4e 0c             	cmp    %ecx,0xc(%esi)
407acf:	75 0e                	jne    0x407adf
407ad1:	39 4e 28             	cmp    %ecx,0x28(%esi)
407ad4:	75 09                	jne    0x407adf
407ad6:	39 4e 18             	cmp    %ecx,0x18(%esi)
407ad9:	0f 84 85 00 00 00    	je     0x407b64
407adf:	68 24 16 40 00       	push   $0x401624
407ae4:	57                   	push   %edi
407ae5:	50                   	push   %eax
407ae6:	e8 15 fe ff ff       	call   0x407900
407aeb:	83 c4 0c             	add    $0xc,%esp
407aee:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
407af2:	74 12                	je     0x407b06
407af4:	ff 76 0c             	push   0xc(%esi)
407af7:	68 30 16 40 00       	push   $0x401630
407afc:	57                   	push   %edi
407afd:	50                   	push   %eax
407afe:	e8 fd fd ff ff       	call   0x407900
407b03:	83 c4 10             	add    $0x10,%esp
407b06:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
407b0a:	74 12                	je     0x407b1e
407b0c:	ff 76 28             	push   0x28(%esi)
407b0f:	68 48 16 40 00       	push   $0x401648
407b14:	57                   	push   %edi
407b15:	50                   	push   %eax
407b16:	e8 e5 fd ff ff       	call   0x407900
407b1b:	83 c4 10             	add    $0x10,%esp
407b1e:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
407b22:	74 17                	je     0x407b3b
407b24:	ff 76 14             	push   0x14(%esi)
407b27:	ff 76 18             	push   0x18(%esi)
407b2a:	68 70 16 40 00       	push   $0x401670
407b2f:	57                   	push   %edi
407b30:	50                   	push   %eax
407b31:	e8 ca fd ff ff       	call   0x407900
407b36:	83 c4 14             	add    $0x14,%esp
407b39:	eb 29                	jmp    0x407b64
407b3b:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
407b3f:	74 14                	je     0x407b55
407b41:	ff 76 18             	push   0x18(%esi)
407b44:	68 88 16 40 00       	push   $0x401688
407b49:	57                   	push   %edi
407b4a:	50                   	push   %eax
407b4b:	e8 b0 fd ff ff       	call   0x407900
407b50:	83 c4 10             	add    $0x10,%esp
407b53:	eb 0f                	jmp    0x407b64
407b55:	68 98 16 40 00       	push   $0x401698
407b5a:	57                   	push   %edi
407b5b:	50                   	push   %eax
407b5c:	e8 9f fd ff ff       	call   0x407900
407b61:	83 c4 0c             	add    $0xc,%esp
407b64:	5f                   	pop    %edi
407b65:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407b68:	33 c0                	xor    %eax,%eax
407b6a:	5e                   	pop    %esi
407b6b:	33 cd                	xor    %ebp,%ecx
407b6d:	5b                   	pop    %ebx
407b6e:	e8 bd 88 00 00       	call   0x410430
407b73:	c9                   	leave
407b74:	c2 04 00             	ret    $0x4
407b77:	8b ff                	mov    %edi,%edi
407b79:	57                   	push   %edi
407b7a:	52                   	push   %edx
407b7b:	51                   	push   %ecx
407b7c:	ff 15 44 31 43 00    	call   *0x433144
407b82:	50                   	push   %eax
407b83:	ff 15 34 31 43 00    	call   *0x433134
407b89:	83 3d e8 25 43 00 00 	cmpl   $0x0,0x4325e8
407b90:	8b f8                	mov    %eax,%edi
407b92:	74 1a                	je     0x407bae
407b94:	56                   	push   %esi
407b95:	57                   	push   %edi
407b96:	ff 15 44 31 43 00    	call   *0x433144
407b9c:	8b 35 e8 25 43 00    	mov    0x4325e8,%esi
407ba2:	8b ce                	mov    %esi,%ecx
407ba4:	50                   	push   %eax
407ba5:	ff 15 18 34 43 00    	call   *0x433418
407bab:	ff d6                	call   *%esi
407bad:	5e                   	pop    %esi
407bae:	8b c7                	mov    %edi,%eax
407bb0:	5f                   	pop    %edi
407bb1:	c3                   	ret
407bb2:	8b ff                	mov    %edi,%edi
407bb4:	56                   	push   %esi
407bb5:	8b f1                	mov    %ecx,%esi
407bb7:	8b 0e                	mov    (%esi),%ecx
407bb9:	85 c9                	test   %ecx,%ecx
407bbb:	74 21                	je     0x407bde
407bbd:	83 c8 ff             	or     $0xffffffff,%eax
407bc0:	f0 0f c1 01          	lock xadd %eax,(%ecx)
407bc4:	75 11                	jne    0x407bd7
407bc6:	ff 36                	push   (%esi)
407bc8:	6a 00                	push   $0x0
407bca:	ff 15 44 31 43 00    	call   *0x433144
407bd0:	50                   	push   %eax
407bd1:	ff 15 48 31 43 00    	call   *0x433148
407bd7:	83 26 00             	andl   $0x0,(%esi)
407bda:	83 66 04 00          	andl   $0x0,0x4(%esi)
407bde:	5e                   	pop    %esi
407bdf:	c3                   	ret
407be0:	33 c0                	xor    %eax,%eax
407be2:	89 0d b0 26 43 00    	mov    %ecx,0x4326b0
407be8:	40                   	inc    %eax
407be9:	f0 0f c1 05 ac 26 43 	lock xadd %eax,0x4326ac
407bf0:	00
407bf1:	40                   	inc    %eax
407bf2:	c3                   	ret
407bf3:	33 c0                	xor    %eax,%eax
407bf5:	89 0d a8 26 43 00    	mov    %ecx,0x4326a8
407bfb:	40                   	inc    %eax
407bfc:	f0 0f c1 05 a4 26 43 	lock xadd %eax,0x4326a4
407c03:	00
407c04:	40                   	inc    %eax
407c05:	c3                   	ret
407c06:	33 c0                	xor    %eax,%eax
407c08:	89 0d a0 26 43 00    	mov    %ecx,0x4326a0
407c0e:	40                   	inc    %eax
407c0f:	f0 0f c1 05 9c 26 43 	lock xadd %eax,0x43269c
407c16:	00
407c17:	40                   	inc    %eax
407c18:	c3                   	ret
407c19:	8b ff                	mov    %edi,%edi
407c1b:	55                   	push   %ebp
407c1c:	8b ec                	mov    %esp,%ebp
407c1e:	56                   	push   %esi
407c1f:	8b 35 f8 25 43 00    	mov    0x4325f8,%esi
407c25:	85 f6                	test   %esi,%esi
407c27:	74 10                	je     0x407c39
407c29:	ff 75 08             	push   0x8(%ebp)
407c2c:	6a 00                	push   $0x0
407c2e:	51                   	push   %ecx
407c2f:	8b ce                	mov    %esi,%ecx
407c31:	ff 15 18 34 43 00    	call   *0x433418
407c37:	ff d6                	call   *%esi
407c39:	6a 07                	push   $0x7
407c3b:	59                   	pop    %ecx
407c3c:	cd 29                	int    $0x29
407c3e:	5e                   	pop    %esi
407c3f:	5d                   	pop    %ebp
407c40:	c2 04 00             	ret    $0x4
407c43:	8b ff                	mov    %edi,%edi
407c45:	55                   	push   %ebp
407c46:	8b ec                	mov    %esp,%ebp
407c48:	56                   	push   %esi
407c49:	57                   	push   %edi
407c4a:	8b f2                	mov    %edx,%esi
407c4c:	8b f9                	mov    %ecx,%edi
407c4e:	ff 15 4c 31 43 00    	call   *0x43314c
407c54:	85 c0                	test   %eax,%eax
407c56:	75 1d                	jne    0x407c75
407c58:	68 9c 02 07 80       	push   $0x8007029c
407c5d:	6a 02                	push   $0x2
407c5f:	ff 75 14             	push   0x14(%ebp)
407c62:	8b d6                	mov    %esi,%edx
407c64:	8b cf                	mov    %edi,%ecx
407c66:	50                   	push   %eax
407c67:	50                   	push   %eax
407c68:	ff 75 08             	push   0x8(%ebp)
407c6b:	e8 9a 05 00 00       	call   0x40820a
407c70:	b8 9c 02 00 00       	mov    $0x29c,%eax
407c75:	5f                   	pop    %edi
407c76:	5e                   	pop    %esi
407c77:	5d                   	pop    %ebp
407c78:	c2 10 00             	ret    $0x10
407c7b:	8b ff                	mov    %edi,%edi
407c7d:	55                   	push   %ebp
407c7e:	8b ec                	mov    %esp,%ebp
407c80:	ff 75 04             	push   0x4(%ebp)
407c83:	33 d2                	xor    %edx,%edx
407c85:	51                   	push   %ecx
407c86:	51                   	push   %ecx
407c87:	6a 00                	push   $0x0
407c89:	33 c9                	xor    %ecx,%ecx
407c8b:	e8 b3 ff ff ff       	call   0x407c43
407c90:	85 c0                	test   %eax,%eax
407c92:	7e 08                	jle    0x407c9c
407c94:	0f b7 c0             	movzwl %ax,%eax
407c97:	0d 00 00 07 80       	or     $0x80070000,%eax
407c9c:	5d                   	pop    %ebp
407c9d:	c3                   	ret
407c9e:	85 c9                	test   %ecx,%ecx
407ca0:	75 04                	jne    0x407ca6
407ca2:	33 c0                	xor    %eax,%eax
407ca4:	40                   	inc    %eax
407ca5:	c3                   	ret
407ca6:	8d 51 01             	lea    0x1(%ecx),%edx
407ca9:	8a 01                	mov    (%ecx),%al
407cab:	41                   	inc    %ecx
407cac:	84 c0                	test   %al,%al
407cae:	75 f9                	jne    0x407ca9
407cb0:	2b ca                	sub    %edx,%ecx
407cb2:	8d 41 01             	lea    0x1(%ecx),%eax
407cb5:	c3                   	ret
407cb6:	85 c9                	test   %ecx,%ecx
407cb8:	75 04                	jne    0x407cbe
407cba:	6a 02                	push   $0x2
407cbc:	58                   	pop    %eax
407cbd:	c3                   	ret
407cbe:	8d 51 02             	lea    0x2(%ecx),%edx
407cc1:	66 8b 01             	mov    (%ecx),%ax
407cc4:	83 c1 02             	add    $0x2,%ecx
407cc7:	66 85 c0             	test   %ax,%ax
407cca:	75 f5                	jne    0x407cc1
407ccc:	2b ca                	sub    %edx,%ecx
407cce:	d1 f9                	sar    $1,%ecx
407cd0:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
407cd7:	c3                   	ret
407cd8:	8b ff                	mov    %edi,%edi
407cda:	55                   	push   %ebp
407cdb:	8b ec                	mov    %esp,%ebp
407cdd:	51                   	push   %ecx
407cde:	51                   	push   %ecx
407cdf:	53                   	push   %ebx
407ce0:	8b 5d 08             	mov    0x8(%ebp),%ebx
407ce3:	8b c1                	mov    %ecx,%eax
407ce5:	56                   	push   %esi
407ce6:	57                   	push   %edi
407ce7:	6a 14                	push   $0x14
407ce9:	59                   	pop    %ecx
407cea:	8b f8                	mov    %eax,%edi
407cec:	89 45 fc             	mov    %eax,-0x4(%ebp)
407cef:	8b f3                	mov    %ebx,%esi
407cf1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)