4078c8:	e8 ca ba 00 00       	call   0x413397
4078cd:	59                   	pop    %ecx
4078ce:	85 c0                	test   %eax,%eax
4078d0:	74 04                	je     0x4078d6
4078d2:	5d                   	pop    %ebp
4078d3:	c2 04 00             	ret    $0x4
4078d6:	e8 f6 bb 00 00       	call   0x4134d1
4078db:	cc                   	int3
4078dc:	8b ff                	mov    %edi,%edi
4078de:	55                   	push   %ebp
4078df:	8b ec                	mov    %esp,%ebp
4078e1:	51                   	push   %ecx
4078e2:	53                   	push   %ebx
4078e3:	56                   	push   %esi
4078e4:	8b f1                	mov    %ecx,%esi
4078e6:	8b da                	mov    %edx,%ebx
4078e8:	33 c9                	xor    %ecx,%ecx
4078ea:	57                   	push   %edi
4078eb:	3b f3                	cmp    %ebx,%esi
4078ed:	74 45                	je     0x407934
4078ef:	8b 7d 08             	mov    0x8(%ebp),%edi
4078f2:	85 ff                	test   %edi,%edi
4078f4:	74 3e                	je     0x407934
4078f6:	66 39 0f             	cmp    %cx,(%edi)
4078f9:	74 39                	je     0x407934
4078fb:	8b cf                	mov    %edi,%ecx
4078fd:	e8 50 e6 ff ff       	call   0x405f52
407902:	2b de                	sub    %esi,%ebx
407904:	89 45 fc             	mov    %eax,-0x4(%ebp)
407907:	3b d8                	cmp    %eax,%ebx
407909:	73 0c                	jae    0x407917
40790b:	8b 45 0c             	mov    0xc(%ebp),%eax
40790e:	85 c0                	test   %eax,%eax
407910:	74 2b                	je     0x40793d
407912:	83 20 00             	andl   $0x0,(%eax)
407915:	eb 26                	jmp    0x40793d
407917:	50                   	push   %eax
407918:	57                   	push   %edi
407919:	53                   	push   %ebx
40791a:	56                   	push   %esi
40791b:	ff 15 74 b3 41 00    	call   *0x41b374
407921:	8b 45 0c             	mov    0xc(%ebp),%eax
407924:	83 c4 10             	add    $0x10,%esp
407927:	85 c0                	test   %eax,%eax
407929:	74 02                	je     0x40792d
40792b:	89 30                	mov    %esi,(%eax)
40792d:	8b 45 fc             	mov    -0x4(%ebp),%eax
407930:	03 c6                	add    %esi,%eax
407932:	eb 0b                	jmp    0x40793f
407934:	8b 45 0c             	mov    0xc(%ebp),%eax
407937:	85 c0                	test   %eax,%eax
407939:	74 02                	je     0x40793d
40793b:	89 08                	mov    %ecx,(%eax)
40793d:	8b c6                	mov    %esi,%eax
40793f:	5f                   	pop    %edi
407940:	5e                   	pop    %esi
407941:	5b                   	pop    %ebx
407942:	c9                   	leave
407943:	c2 08 00             	ret    $0x8
407946:	8b ff                	mov    %edi,%edi
407948:	55                   	push   %ebp
407949:	8b ec                	mov    %esp,%ebp
40794b:	51                   	push   %ecx
40794c:	53                   	push   %ebx
40794d:	56                   	push   %esi
40794e:	8b da                	mov    %edx,%ebx
407950:	8b f1                	mov    %ecx,%esi
407952:	57                   	push   %edi
407953:	3b f3                	cmp    %ebx,%esi
407955:	74 39                	je     0x407990
407957:	8b 7d 08             	mov    0x8(%ebp),%edi
40795a:	85 ff                	test   %edi,%edi
40795c:	74 32                	je     0x407990
40795e:	80 3f 00             	cmpb   $0x0,(%edi)
407961:	74 2d                	je     0x407990
407963:	8b cf                	mov    %edi,%ecx
407965:	e8 d0 e5 ff ff       	call   0x405f3a
40796a:	2b de                	sub    %esi,%ebx
40796c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40796f:	3b d8                	cmp    %eax,%ebx
407971:	72 1d                	jb     0x407990
407973:	50                   	push   %eax
407974:	57                   	push   %edi
407975:	53                   	push   %ebx
407976:	56                   	push   %esi
407977:	ff 15 74 b3 41 00    	call   *0x41b374
40797d:	8b 45 0c             	mov    0xc(%ebp),%eax
407980:	83 c4 10             	add    $0x10,%esp
407983:	85 c0                	test   %eax,%eax
407985:	74 02                	je     0x407989
407987:	89 30                	mov    %esi,(%eax)
407989:	8b 45 fc             	mov    -0x4(%ebp),%eax
40798c:	03 c6                	add    %esi,%eax
40798e:	eb 0c                	jmp    0x40799c
407990:	8b 45 0c             	mov    0xc(%ebp),%eax
407993:	85 c0                	test   %eax,%eax
407995:	74 03                	je     0x40799a
407997:	83 20 00             	andl   $0x0,(%eax)
40799a:	8b c6                	mov    %esi,%eax
40799c:	5f                   	pop    %edi
40799d:	5e                   	pop    %esi
40799e:	5b                   	pop    %ebx
40799f:	c9                   	leave
4079a0:	c2 08 00             	ret    $0x8
4079a3:	8b ff                	mov    %edi,%edi
4079a5:	55                   	push   %ebp
4079a6:	8b ec                	mov    %esp,%ebp
4079a8:	81 ec 10 08 00 00    	sub    $0x810,%esp
4079ae:	a1 18 51 41 00       	mov    0x415118,%eax
4079b3:	33 c5                	xor    %ebp,%eax
4079b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4079b8:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4079be:	53                   	push   %ebx
4079bf:	56                   	push   %esi
4079c0:	57                   	push   %edi
4079c1:	8b 30                	mov    (%eax),%esi
4079c3:	33 ff                	xor    %edi,%edi
4079c5:	a1 08 98 41 00       	mov    0x419808,%eax
4079ca:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
4079d0:	7e 47                	jle    0x407a19
4079d2:	bb 08 98 41 00       	mov    $0x419808,%ebx
4079d7:	53                   	push   %ebx
4079d8:	e8 b8 c1 00 00       	call   0x413b95
4079dd:	83 3d 08 98 41 00 ff 	cmpl   $0xffffffff,0x419808
4079e4:	59                   	pop    %ecx
4079e5:	75 32                	jne    0x407a19
4079e7:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
4079ed:	89 bd f4 f7 ff ff    	mov    %edi,-0x80c(%ebp)
4079f3:	e8 55 ad 00 00       	call   0x41274d
4079f8:	85 c0                	test   %eax,%eax
4079fa:	75 04                	jne    0x407a00
4079fc:	8b c7                	mov    %edi,%eax
4079fe:	eb 0d                	jmp    0x407a0d
407a00:	81 bd f4 f7 ff ff 00 	cmpl   $0x3000,-0x80c(%ebp)
407a07:	30 00 00
407a0a:	1b c0                	sbb    %eax,%eax
407a0c:	40                   	inc    %eax
407a0d:	53                   	push   %ebx
407a0e:	a3 04 98 41 00       	mov    %eax,0x419804
407a13:	e8 2a c1 00 00       	call   0x413b42
407a18:	59                   	pop    %ecx
407a19:	a1 00 98 41 00       	mov    0x419800,%eax
407a1e:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
407a24:	7e 26                	jle    0x407a4c
407a26:	bb 00 98 41 00       	mov    $0x419800,%ebx
407a2b:	53                   	push   %ebx
407a2c:	e8 64 c1 00 00       	call   0x413b95
407a31:	83 3d 00 98 41 00 ff 	cmpl   $0xffffffff,0x419800
407a38:	59                   	pop    %ecx
407a39:	75 11                	jne    0x407a4c
407a3b:	e8 e8 ad 00 00       	call   0x412828
407a40:	53                   	push   %ebx
407a41:	a3 fc 97 41 00       	mov    %eax,0x4197fc
407a46:	e8 f7 c0 00 00       	call   0x413b42
407a4b:	59                   	pop    %ecx
407a4c:	a1 f8 97 41 00       	mov    0x4197f8,%eax
407a51:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
407a57:	7e 26                	jle    0x407a7f
407a59:	be f8 97 41 00       	mov    $0x4197f8,%esi
407a5e:	56                   	push   %esi
407a5f:	e8 31 c1 00 00       	call   0x413b95
407a64:	83 3d f8 97 41 00 ff 	cmpl   $0xffffffff,0x4197f8
407a6b:	59                   	pop    %ecx
407a6c:	75 11                	jne    0x407a7f
407a6e:	e8 da ad 00 00       	call   0x41284d
407a73:	56                   	push   %esi
407a74:	a3 f4 97 41 00       	mov    %eax,0x4197f4
407a79:	e8 c4 c0 00 00       	call   0x413b42
407a7e:	59                   	pop    %ecx
407a7f:	be 04 01 00 00       	mov    $0x104,%esi
407a84:	89 bd f8 f7 ff ff    	mov    %edi,-0x808(%ebp)
407a8a:	8b d6                	mov    %esi,%edx
407a8c:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
407a92:	e8 b4 b0 00 00       	call   0x412b4b
407a97:	85 c0                	test   %eax,%eax
407a99:	0f 84 be 00 00 00    	je     0x407b5d
407a9f:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
407aa5:	50                   	push   %eax
407aa6:	50                   	push   %eax
407aa7:	68 08 28 40 00       	push   $0x402808
407aac:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
407ab2:	56                   	push   %esi
407ab3:	50                   	push   %eax
407ab4:	e8 eb 0c 00 00       	call   0x4087a4
407ab9:	83 c4 14             	add    $0x14,%esp
407abc:	85 c0                	test   %eax,%eax
407abe:	0f 88 99 00 00 00    	js     0x407b5d
407ac4:	39 3d 30 a2 41 00    	cmp    %edi,0x41a230
407aca:	75 09                	jne    0x407ad5
407acc:	e8 95 af 00 00       	call   0x412a66
407ad1:	85 c0                	test   %eax,%eax
407ad3:	74 0f                	je     0x407ae4
407ad5:	39 3d 3c a2 41 00    	cmp    %edi,0x41a23c
407adb:	74 07                	je     0x407ae4
407add:	b8 78 28 40 00       	mov    $0x402878,%eax
407ae2:	eb 1a                	jmp    0x407afe
407ae4:	39 3d f4 97 41 00    	cmp    %edi,0x4197f4
407aea:	74 0d                	je     0x407af9
407aec:	b8 f8 29 40 00       	mov    $0x4029f8,%eax
407af1:	39 3d fc 97 41 00    	cmp    %edi,0x4197fc
407af7:	75 05                	jne    0x407afe
407af9:	b8 88 2a 40 00       	mov    $0x402a88,%eax
407afe:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
407b04:	51                   	push   %ecx
407b05:	51                   	push   %ecx
407b06:	50                   	push   %eax
407b07:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
407b0d:	68 f4 01 00 00       	push   $0x1f4
407b12:	50                   	push   %eax
407b13:	e8 8c 0c 00 00       	call   0x4087a4
407b18:	83 c4 14             	add    $0x14,%esp
407b1b:	85 c0                	test   %eax,%eax
407b1d:	78 3e                	js     0x407b5d
407b1f:	57                   	push   %edi
407b20:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
407b26:	50                   	push   %eax
407b27:	6a 01                	push   $0x1
407b29:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
407b2f:	50                   	push   %eax
407b30:	ff 15 00 b0 41 00    	call   *0x41b000
407b36:	85 c0                	test   %eax,%eax
407b38:	75 23                	jne    0x407b5d
407b3a:	57                   	push   %edi
407b3b:	8d 85 f8 f7 ff ff    	lea    -0x808(%ebp),%eax
407b41:	50                   	push   %eax
407b42:	6a 01                	push   $0x1
407b44:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
407b4a:	50                   	push   %eax
407b4b:	ff 15 00 b0 41 00    	call   *0x41b000
407b51:	f7 d8                	neg    %eax
407b53:	1b c0                	sbb    %eax,%eax
407b55:	23 85 f8 f7 ff ff    	and    -0x808(%ebp),%eax
407b5b:	eb 06                	jmp    0x407b63
407b5d:	8b 85 f8 f7 ff ff    	mov    -0x808(%ebp),%eax
407b63:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407b66:	5f                   	pop    %edi
407b67:	5e                   	pop    %esi
407b68:	33 cd                	xor    %ebp,%ecx
407b6a:	5b                   	pop    %ebx
407b6b:	e8 70 bd 00 00       	call   0x4138e0
407b70:	c9                   	leave
407b71:	c2 04 00             	ret    $0x4
407b74:	8b ff                	mov    %edi,%edi
407b76:	51                   	push   %ecx
407b77:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
407b7d:	56                   	push   %esi
407b7e:	57                   	push   %edi
407b7f:	8b 08                	mov    (%eax),%ecx
407b81:	a1 f0 97 41 00       	mov    0x4197f0,%eax
407b86:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
407b8c:	7f 09                	jg     0x407b97
407b8e:	a1 ec 97 41 00       	mov    0x4197ec,%eax
407b93:	5f                   	pop    %edi
407b94:	5e                   	pop    %esi
407b95:	59                   	pop    %ecx
407b96:	c3                   	ret
407b97:	bf f0 97 41 00       	mov    $0x4197f0,%edi
407b9c:	57                   	push   %edi
407b9d:	e8 f3 bf 00 00       	call   0x413b95
407ba2:	83 3d f0 97 41 00 ff 	cmpl   $0xffffffff,0x4197f0
407ba9:	59                   	pop    %ecx
407baa:	75 e2                	jne    0x407b8e
407bac:	33 f6                	xor    %esi,%esi
407bae:	c7 05 e0 97 41 00 0c 	movl   $0xc,0x4197e0
407bb5:	00 00 00
407bb8:	51                   	push   %ecx
407bb9:	89 35 ec 97 41 00    	mov    %esi,0x4197ec
407bbf:	89 35 e4 97 41 00    	mov    %esi,0x4197e4
407bc5:	89 35 e8 97 41 00    	mov    %esi,0x4197e8
407bcb:	e8 d3 fd ff ff       	call   0x4079a3
407bd0:	68 b0 46 41 00       	push   $0x4146b0
407bd5:	a3 e4 97 41 00       	mov    %eax,0x4197e4
407bda:	89 35 e8 97 41 00    	mov    %esi,0x4197e8
407be0:	c7 05 ec 97 41 00 e0 	movl   $0x4197e0,0x4197ec
407be7:	97 41 00
407bea:	e8 dc be 00 00       	call   0x413acb
407bef:	59                   	pop    %ecx
407bf0:	57                   	push   %edi
407bf1:	e8 4c bf 00 00       	call   0x413b42
407bf6:	59                   	pop    %ecx
407bf7:	eb 95                	jmp    0x407b8e
407bf9:	8b ff                	mov    %edi,%edi
407bfb:	55                   	push   %ebp
407bfc:	8b ec                	mov    %esp,%ebp
407bfe:	6a ff                	push   $0xffffffff
407c00:	68 1b 42 41 00       	push   $0x41421b
407c05:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407c0b:	50                   	push   %eax
407c0c:	a1 18 51 41 00       	mov    0x415118,%eax
407c11:	33 c5                	xor    %ebp,%eax
407c13:	50                   	push   %eax
407c14:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c17:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407c1d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407c21:	b9 3c 50 41 00       	mov    $0x41503c,%ecx
407c26:	c7 05 3c 50 41 00 54 	movl   $0x401554,0x41503c
407c2d:	15 40 00
407c30:	e8 51 0b 00 00       	call   0x408786
407c35:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407c38:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407c3f:	59                   	pop    %ecx
407c40:	c9                   	leave
407c41:	c3                   	ret
407c42:	8b ff                	mov    %edi,%edi
407c44:	55                   	push   %ebp
407c45:	8b ec                	mov    %esp,%ebp
407c47:	6a ff                	push   $0xffffffff
407c49:	68 1b 42 41 00       	push   $0x41421b
407c4e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407c54:	50                   	push   %eax
407c55:	a1 18 51 41 00       	mov    0x415118,%eax
407c5a:	33 c5                	xor    %ebp,%eax
407c5c:	50                   	push   %eax
407c5d:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c60:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407c66:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407c6a:	b9 44 50 41 00       	mov    $0x415044,%ecx
407c6f:	c7 05 44 50 41 00 54 	movl   $0x401554,0x415044
407c76:	15 40 00
407c79:	e8 08 0b 00 00       	call   0x408786
407c7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407c81:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407c88:	59                   	pop    %ecx
407c89:	c9                   	leave
407c8a:	c3                   	ret
407c8b:	8b ff                	mov    %edi,%edi
407c8d:	53                   	push   %ebx
407c8e:	56                   	push   %esi
407c8f:	57                   	push   %edi
407c90:	bf 44 50 41 00       	mov    $0x415044,%edi
407c95:	8b cf                	mov    %edi,%ecx
407c97:	e8 ea 0a 00 00       	call   0x408786
407c9c:	68 48 50 41 00       	push   $0x415048
407ca1:	68 d4 27 40 00       	push   $0x4027d4
407ca6:	6a 01                	push   $0x1
407ca8:	33 f6                	xor    %esi,%esi
407caa:	56                   	push   %esi
407cab:	68 e4 27 40 00       	push   $0x4027e4
407cb0:	ff 15 88 b3 41 00    	call   *0x41b388
407cb6:	85 c0                	test   %eax,%eax
407cb8:	0f 88 86 00 00 00    	js     0x407d44
407cbe:	39 35 48 50 41 00    	cmp    %esi,0x415048
407cc4:	74 7e                	je     0x407d44
407cc6:	bb 3c 50 41 00       	mov    $0x41503c,%ebx
407ccb:	8b cb                	mov    %ebx,%ecx
407ccd:	e8 b4 0a 00 00       	call   0x408786
407cd2:	8b 0d 48 50 41 00    	mov    0x415048,%ecx
407cd8:	89 35 40 50 41 00    	mov    %esi,0x415040
407cde:	85 c9                	test   %ecx,%ecx
407ce0:	74 21                	je     0x407d03