407810:	e8 db f1 ff ff       	call   0x4069f0
407815:	83 c4 08             	add    $0x8,%esp
407818:	68 d8 00 00 00       	push   $0xd8
40781d:	e8 9e f1 ff ff       	call   0x4069c0
407822:	8b f0                	mov    %eax,%esi
407824:	83 c4 04             	add    $0x4,%esp
407827:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40782a:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40782e:	85 f6                	test   %esi,%esi
407830:	74 59                	je     0x40788b
407832:	33 c0                	xor    %eax,%eax
407834:	8d 4d cc             	lea    -0x34(%ebp),%ecx
407837:	6a 29                	push   $0x29
407839:	68 c0 14 43 00       	push   $0x4314c0
40783e:	89 45 cc             	mov    %eax,-0x34(%ebp)
407841:	89 45 d0             	mov    %eax,-0x30(%ebp)
407844:	89 45 d4             	mov    %eax,-0x2c(%ebp)
407847:	89 45 d8             	mov    %eax,-0x28(%ebp)
40784a:	89 45 dc             	mov    %eax,-0x24(%ebp)
40784d:	89 45 e0             	mov    %eax,-0x20(%ebp)
407850:	e8 3b f5 ff ff       	call   0x406d90
407855:	8b 45 ec             	mov    -0x14(%ebp),%eax
407858:	8b ce                	mov    %esi,%ecx
40785a:	57                   	push   %edi
40785b:	6a 01                	push   $0x1
40785d:	6a 00                	push   $0x0
40785f:	6a 00                	push   $0x0
407861:	6a 00                	push   $0x0
407863:	6a 00                	push   $0x0
407865:	53                   	push   %ebx
407866:	68 80 82 40 00       	push   $0x408280
40786b:	6a 00                	push   $0x0
40786d:	83 c8 02             	or     $0x2,%eax
407870:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
407874:	6a 00                	push   $0x0
407876:	89 45 ec             	mov    %eax,-0x14(%ebp)
407879:	89 45 e8             	mov    %eax,-0x18(%ebp)
40787c:	8d 45 cc             	lea    -0x34(%ebp),%eax
40787f:	6a 00                	push   $0x0
407881:	50                   	push   %eax
407882:	e8 c8 99 ff ff       	call   0x40124f
407887:	8b c8                	mov    %eax,%ecx
407889:	eb 02                	jmp    0x40788d
40788b:	33 c9                	xor    %ecx,%ecx
40788d:	8b 45 ec             	mov    -0x14(%ebp),%eax
407890:	89 4b 0c             	mov    %ecx,0xc(%ebx)
407893:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40789a:	a8 02                	test   $0x2,%al
40789c:	74 39                	je     0x4078d7
40789e:	8b 45 e0             	mov    -0x20(%ebp),%eax
4078a1:	83 f8 07             	cmp    $0x7,%eax
4078a4:	76 31                	jbe    0x4078d7
4078a6:	8b 55 cc             	mov    -0x34(%ebp),%edx
4078a9:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4078b0:	8b c2                	mov    %edx,%eax
4078b2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4078b8:	72 10                	jb     0x4078ca
4078ba:	8b 50 fc             	mov    -0x4(%eax),%edx
4078bd:	83 c1 23             	add    $0x23,%ecx
4078c0:	2b c2                	sub    %edx,%eax
4078c2:	83 c0 fc             	add    $0xfffffffc,%eax
4078c5:	83 f8 1f             	cmp    $0x1f,%eax
4078c8:	77 6d                	ja     0x407937
4078ca:	51                   	push   %ecx
4078cb:	52                   	push   %edx
4078cc:	e8 1f f1 ff ff       	call   0x4069f0
4078d1:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4078d4:	83 c4 08             	add    $0x8,%esp
4078d7:	e8 8b 9b ff ff       	call   0x401467
4078dc:	84 c0                	test   %al,%al
4078de:	75 38                	jne    0x407918
4078e0:	8b 73 0c             	mov    0xc(%ebx),%esi
4078e3:	85 f6                	test   %esi,%esi
4078e5:	74 15                	je     0x4078fc
4078e7:	8b ce                	mov    %esi,%ecx
4078e9:	e8 8c 9a ff ff       	call   0x40137a
4078ee:	68 d8 00 00 00       	push   $0xd8
4078f3:	56                   	push   %esi
4078f4:	e8 f7 f0 ff ff       	call   0x4069f0
4078f9:	83 c4 08             	add    $0x8,%esp
4078fc:	8b 4b 10             	mov    0x10(%ebx),%ecx
4078ff:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
407906:	85 c9                	test   %ecx,%ecx
407908:	74 07                	je     0x407911
40790a:	6a 01                	push   $0x1
40790c:	e8 df 04 00 00       	call   0x407df0
407911:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
407918:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40791b:	8b c3                	mov    %ebx,%eax
40791d:	5f                   	pop    %edi
40791e:	5e                   	pop    %esi
40791f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407926:	5b                   	pop    %ebx
407927:	8b e5                	mov    %ebp,%esp
407929:	5d                   	pop    %ebp
40792a:	c2 04 00             	ret    $0x4
40792d:	e8 1e 0f 00 00       	call   0x408850
407932:	e8 c7 5a 00 00       	call   0x40d3fe
407937:	e8 c2 5a 00 00       	call   0x40d3fe
40793c:	cc                   	int3
40793d:	cc                   	int3
40793e:	cc                   	int3
40793f:	cc                   	int3
407940:	55                   	push   %ebp
407941:	8b ec                	mov    %esp,%ebp
407943:	6a ff                	push   $0xffffffff
407945:	68 65 01 43 00       	push   $0x430165
40794a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407950:	50                   	push   %eax
407951:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
407958:	83 ec 0c             	sub    $0xc,%esp
40795b:	53                   	push   %ebx
40795c:	56                   	push   %esi
40795d:	8b f1                	mov    %ecx,%esi
40795f:	89 75 f0             	mov    %esi,-0x10(%ebp)
407962:	57                   	push   %edi
407963:	6a 40                	push   $0x40
407965:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40796b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
407972:	89 75 e8             	mov    %esi,-0x18(%ebp)
407975:	89 75 ec             	mov    %esi,-0x14(%ebp)
407978:	e8 43 f0 ff ff       	call   0x4069c0
40797d:	83 c4 04             	add    $0x4,%esp
407980:	89 00                	mov    %eax,(%eax)
407982:	89 40 04             	mov    %eax,0x4(%eax)
407985:	89 40 08             	mov    %eax,0x8(%eax)
407988:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
40798e:	89 06                	mov    %eax,(%esi)
407990:	8b 5d 08             	mov    0x8(%ebp),%ebx
407993:	8b ce                	mov    %esi,%ecx
407995:	50                   	push   %eax
407996:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40799d:	8b 03                	mov    (%ebx),%eax
40799f:	ff 70 04             	push   0x4(%eax)
4079a2:	e8 89 f4 ff ff       	call   0x406e30
4079a7:	8b 0e                	mov    (%esi),%ecx
4079a9:	89 41 04             	mov    %eax,0x4(%ecx)
4079ac:	8b 3e                	mov    (%esi),%edi
4079ae:	8b 43 04             	mov    0x4(%ebx),%eax
4079b1:	89 46 04             	mov    %eax,0x4(%esi)
4079b4:	8b 57 04             	mov    0x4(%edi),%edx
4079b7:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
4079bb:	75 34                	jne    0x4079f1
4079bd:	8b 0a                	mov    (%edx),%ecx
4079bf:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4079c3:	75 0c                	jne    0x4079d1
4079c5:	8b 01                	mov    (%ecx),%eax
4079c7:	8b d1                	mov    %ecx,%edx
4079c9:	8b c8                	mov    %eax,%ecx
4079cb:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4079cf:	74 f4                	je     0x4079c5
4079d1:	89 17                	mov    %edx,(%edi)
4079d3:	8b 16                	mov    (%esi),%edx
4079d5:	8b 4a 04             	mov    0x4(%edx),%ecx
4079d8:	8b 41 08             	mov    0x8(%ecx),%eax
4079db:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4079df:	75 0b                	jne    0x4079ec
4079e1:	8b c8                	mov    %eax,%ecx
4079e3:	8b 41 08             	mov    0x8(%ecx),%eax
4079e6:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
4079ea:	74 f5                	je     0x4079e1
4079ec:	89 4a 08             	mov    %ecx,0x8(%edx)
4079ef:	eb 07                	jmp    0x4079f8
4079f1:	89 3f                	mov    %edi,(%edi)
4079f3:	8b 06                	mov    (%esi),%eax
4079f5:	89 40 08             	mov    %eax,0x8(%eax)
4079f8:	8d 43 08             	lea    0x8(%ebx),%eax
4079fb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
407a02:	50                   	push   %eax
407a03:	8d 4e 08             	lea    0x8(%esi),%ecx
407a06:	e8 5f a6 ff ff       	call   0x40206a
407a0b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407a0e:	8b c6                	mov    %esi,%eax
407a10:	5f                   	pop    %edi
407a11:	5e                   	pop    %esi
407a12:	5b                   	pop    %ebx
407a13:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407a1a:	8b e5                	mov    %ebp,%esp
407a1c:	5d                   	pop    %ebp
407a1d:	c2 04 00             	ret    $0x4
407a20:	55                   	push   %ebp
407a21:	8b ec                	mov    %esp,%ebp
407a23:	56                   	push   %esi
407a24:	8b f1                	mov    %ecx,%esi
407a26:	33 c9                	xor    %ecx,%ecx
407a28:	8d 46 04             	lea    0x4(%esi),%eax
407a2b:	50                   	push   %eax
407a2c:	c7 06 44 13 43 00    	movl   $0x431344,(%esi)
407a32:	89 08                	mov    %ecx,(%eax)
407a34:	89 48 04             	mov    %ecx,0x4(%eax)
407a37:	8b 45 08             	mov    0x8(%ebp),%eax
407a3a:	83 c0 04             	add    $0x4,%eax
407a3d:	50                   	push   %eax
407a3e:	e8 48 3d 00 00       	call   0x40b78b
407a43:	83 c4 08             	add    $0x8,%esp
407a46:	c7 06 64 13 43 00    	movl   $0x431364,(%esi)
407a4c:	8b c6                	mov    %esi,%eax
407a4e:	5e                   	pop    %esi
407a4f:	5d                   	pop    %ebp
407a50:	c2 04 00             	ret    $0x4
407a53:	cc                   	int3
407a54:	cc                   	int3
407a55:	cc                   	int3
407a56:	cc                   	int3
407a57:	cc                   	int3
407a58:	cc                   	int3
407a59:	cc                   	int3
407a5a:	cc                   	int3
407a5b:	cc                   	int3
407a5c:	cc                   	int3
407a5d:	cc                   	int3
407a5e:	cc                   	int3
407a5f:	cc                   	int3
407a60:	55                   	push   %ebp
407a61:	8b ec                	mov    %esp,%ebp
407a63:	56                   	push   %esi
407a64:	8b f1                	mov    %ecx,%esi
407a66:	33 c9                	xor    %ecx,%ecx
407a68:	8d 46 04             	lea    0x4(%esi),%eax
407a6b:	50                   	push   %eax
407a6c:	c7 06 44 13 43 00    	movl   $0x431344,(%esi)
407a72:	89 08                	mov    %ecx,(%eax)
407a74:	89 48 04             	mov    %ecx,0x4(%eax)
407a77:	8b 45 08             	mov    0x8(%ebp),%eax
407a7a:	83 c0 04             	add    $0x4,%eax
407a7d:	50                   	push   %eax
407a7e:	e8 08 3d 00 00       	call   0x40b78b
407a83:	83 c4 08             	add    $0x8,%esp
407a86:	c7 06 70 13 43 00    	movl   $0x431370,(%esi)
407a8c:	8b c6                	mov    %esi,%eax
407a8e:	5e                   	pop    %esi
407a8f:	5d                   	pop    %ebp
407a90:	c2 04 00             	ret    $0x4
407a93:	cc                   	int3
407a94:	cc                   	int3
407a95:	cc                   	int3
407a96:	cc                   	int3
407a97:	cc                   	int3
407a98:	cc                   	int3
407a99:	cc                   	int3
407a9a:	cc                   	int3
407a9b:	cc                   	int3
407a9c:	cc                   	int3
407a9d:	cc                   	int3
407a9e:	cc                   	int3
407a9f:	cc                   	int3
407aa0:	33 c0                	xor    %eax,%eax
407aa2:	89 41 08             	mov    %eax,0x8(%ecx)
407aa5:	8b c1                	mov    %ecx,%eax
407aa7:	c7 41 04 78 13 43 00 	movl   $0x431378,0x4(%ecx)
407aae:	c7 01 70 13 43 00    	movl   $0x431370,(%ecx)
407ab4:	c3                   	ret
407ab5:	cc                   	int3
407ab6:	cc                   	int3
407ab7:	cc                   	int3
407ab8:	cc                   	int3
407ab9:	cc                   	int3
407aba:	cc                   	int3
407abb:	cc                   	int3
407abc:	cc                   	int3
407abd:	cc                   	int3
407abe:	cc                   	int3
407abf:	cc                   	int3
407ac0:	55                   	push   %ebp
407ac1:	8b ec                	mov    %esp,%ebp
407ac3:	56                   	push   %esi
407ac4:	8b f1                	mov    %ecx,%esi
407ac6:	33 c9                	xor    %ecx,%ecx
407ac8:	8d 46 04             	lea    0x4(%esi),%eax
407acb:	50                   	push   %eax
407acc:	c7 06 44 13 43 00    	movl   $0x431344,(%esi)
407ad2:	89 08                	mov    %ecx,(%eax)
407ad4:	89 48 04             	mov    %ecx,0x4(%eax)
407ad7:	8b 45 08             	mov    0x8(%ebp),%eax
407ada:	83 c0 04             	add    $0x4,%eax
407add:	50                   	push   %eax
407ade:	e8 a8 3c 00 00       	call   0x40b78b
407ae3:	83 c4 08             	add    $0x8,%esp
407ae6:	8b c6                	mov    %esi,%eax
407ae8:	5e                   	pop    %esi
407ae9:	5d                   	pop    %ebp
407aea:	c2 04 00             	ret    $0x4
407aed:	cc                   	int3
407aee:	cc                   	int3
407aef:	cc                   	int3
407af0:	ff 31                	push   (%ecx)
407af2:	ff 15 18 10 43 00    	call   *0x431018
407af8:	c3                   	ret
407af9:	cc                   	int3
407afa:	cc                   	int3
407afb:	cc                   	int3
407afc:	cc                   	int3
407afd:	cc                   	int3
407afe:	cc                   	int3
407aff:	cc                   	int3
407b00:	8b 41 04             	mov    0x4(%ecx),%eax
407b03:	85 c0                	test   %eax,%eax
407b05:	74 0b                	je     0x407b12
407b07:	6a 40                	push   $0x40
407b09:	50                   	push   %eax
407b0a:	e8 e1 ee ff ff       	call   0x4069f0
407b0f:	83 c4 08             	add    $0x8,%esp
407b12:	c3                   	ret
407b13:	cc                   	int3
407b14:	cc                   	int3
407b15:	cc                   	int3
407b16:	cc                   	int3
407b17:	cc                   	int3
407b18:	cc                   	int3
407b19:	cc                   	int3
407b1a:	cc                   	int3
407b1b:	cc                   	int3
407b1c:	cc                   	int3
407b1d:	cc                   	int3
407b1e:	cc                   	int3
407b1f:	cc                   	int3
407b20:	8b 01                	mov    (%ecx),%eax
407b22:	85 c0                	test   %eax,%eax
407b24:	74 0d                	je     0x407b33
407b26:	ff 71 08             	push   0x8(%ecx)
407b29:	ff 71 04             	push   0x4(%ecx)
407b2c:	8b c8                	mov    %eax,%ecx
407b2e:	e8 6d f7 ff ff       	call   0x4072a0
407b33:	c3                   	ret
407b34:	cc                   	int3
407b35:	cc                   	int3
407b36:	cc                   	int3
407b37:	cc                   	int3
407b38:	cc                   	int3
407b39:	cc                   	int3
407b3a:	cc                   	int3
407b3b:	cc                   	int3
407b3c:	cc                   	int3
407b3d:	cc                   	int3
407b3e:	cc                   	int3
407b3f:	cc                   	int3
407b40:	56                   	push   %esi
407b41:	8b 71 04             	mov    0x4(%ecx),%esi
407b44:	85 f6                	test   %esi,%esi
407b46:	74 1a                	je     0x407b62
407b48:	8b 06                	mov    (%esi),%eax
407b4a:	ff 70 04             	push   0x4(%eax)
407b4d:	ff 31                	push   (%ecx)
407b4f:	8b ce                	mov    %esi,%ecx
407b51:	e8 4a f7 ff ff       	call   0x4072a0
407b56:	6a 40                	push   $0x40
407b58:	ff 36                	push   (%esi)
407b5a:	e8 91 ee ff ff       	call   0x4069f0
407b5f:	83 c4 08             	add    $0x8,%esp
407b62:	5e                   	pop    %esi