40f819:	ff 75 08             	push   0x8(%ebp)
40f81c:	ff 75 30             	push   0x30(%ebp)
40f81f:	ff 75 2c             	push   0x2c(%ebp)
40f822:	e8 d9 d1 ff ff       	call   0x40ca00
40f827:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
40f82e:	0f 85 98 00 00 00    	jne    0x40f8cc
40f834:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40f83b:	00 00 00
40f83e:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
40f845:	00 00 00
40f848:	c7 85 ec ef ff ff 0f 	movl   $0xf,-0x1014(%ebp)
40f84f:	00 00 00
40f852:	c6 85 d8 ef ff ff 00 	movb   $0x0,-0x1028(%ebp)
40f859:	8d 95 d8 ef ff ff    	lea    -0x1028(%ebp),%edx
40f85f:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40f863:	8b ce                	mov    %esi,%ecx
40f865:	e8 06 5b 00 00       	call   0x415370
40f86a:	8b 07                	mov    (%edi),%eax
40f86c:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f872:	83 bd ec ef ff ff 10 	cmpl   $0x10,-0x1014(%ebp)
40f879:	0f 43 8d d8 ef ff ff 	cmovae -0x1028(%ebp),%ecx
40f880:	8b 70 1c             	mov    0x1c(%eax),%esi
40f883:	51                   	push   %ecx
40f884:	8b ce                	mov    %esi,%ecx
40f886:	ff 15 5c e2 43 00    	call   *0x43e25c
40f88c:	8b cf                	mov    %edi,%ecx
40f88e:	ff d6                	call   *%esi
40f890:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f896:	83 f9 10             	cmp    $0x10,%ecx
40f899:	72 57                	jb     0x40f8f2
40f89b:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f8a1:	41                   	inc    %ecx
40f8a2:	8b c2                	mov    %edx,%eax
40f8a4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f8aa:	72 14                	jb     0x40f8c0
40f8ac:	8b 50 fc             	mov    -0x4(%eax),%edx
40f8af:	83 c1 23             	add    $0x23,%ecx
40f8b2:	2b c2                	sub    %edx,%eax
40f8b4:	83 c0 fc             	add    $0xfffffffc,%eax
40f8b7:	83 f8 1f             	cmp    $0x1f,%eax
40f8ba:	0f 87 ab 01 00 00    	ja     0x40fa6b
40f8c0:	51                   	push   %ecx
40f8c1:	52                   	push   %edx
40f8c2:	e8 f1 a2 00 00       	call   0x419bb8
40f8c7:	83 c4 08             	add    $0x8,%esp
40f8ca:	eb 26                	jmp    0x40f8f2
40f8cc:	8b 07                	mov    (%edi),%eax
40f8ce:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
40f8d4:	83 bd d4 ef ff ff 08 	cmpl   $0x8,-0x102c(%ebp)
40f8db:	0f 43 8d c0 ef ff ff 	cmovae -0x1040(%ebp),%ecx
40f8e2:	8b 70 20             	mov    0x20(%eax),%esi
40f8e5:	51                   	push   %ecx
40f8e6:	8b ce                	mov    %esi,%ecx
40f8e8:	ff 15 5c e2 43 00    	call   *0x43e25c
40f8ee:	8b cf                	mov    %edi,%ecx
40f8f0:	ff d6                	call   *%esi
40f8f2:	80 7d 34 00          	cmpb   $0x0,0x34(%ebp)
40f8f6:	74 12                	je     0x40f90a
40f8f8:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40f8fe:	85 c0                	test   %eax,%eax
40f900:	74 08                	je     0x40f90a
40f902:	ff 30                	push   (%eax)
40f904:	ff 15 30 e1 43 00    	call   *0x43e130
40f90a:	8b 8d bc ef ff ff    	mov    -0x1044(%ebp),%ecx
40f910:	83 f9 08             	cmp    $0x8,%ecx
40f913:	72 35                	jb     0x40f94a
40f915:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
40f91b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f922:	8b c2                	mov    %edx,%eax
40f924:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f92a:	72 14                	jb     0x40f940
40f92c:	8b 50 fc             	mov    -0x4(%eax),%edx
40f92f:	83 c1 23             	add    $0x23,%ecx
40f932:	2b c2                	sub    %edx,%eax
40f934:	83 c0 fc             	add    $0xfffffffc,%eax
40f937:	83 f8 1f             	cmp    $0x1f,%eax
40f93a:	0f 87 30 01 00 00    	ja     0x40fa70
40f940:	51                   	push   %ecx
40f941:	52                   	push   %edx
40f942:	e8 71 a2 00 00       	call   0x419bb8
40f947:	83 c4 08             	add    $0x8,%esp
40f94a:	8b 8d d4 ef ff ff    	mov    -0x102c(%ebp),%ecx
40f950:	33 c0                	xor    %eax,%eax
40f952:	c7 85 b8 ef ff ff 00 	movl   $0x0,-0x1048(%ebp)
40f959:	00 00 00
40f95c:	c7 85 bc ef ff ff 07 	movl   $0x7,-0x1044(%ebp)
40f963:	00 00 00
40f966:	66 89 85 a8 ef ff ff 	mov    %ax,-0x1058(%ebp)
40f96d:	83 f9 08             	cmp    $0x8,%ecx
40f970:	72 35                	jb     0x40f9a7
40f972:	8b 95 c0 ef ff ff    	mov    -0x1040(%ebp),%edx
40f978:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f97f:	8b c2                	mov    %edx,%eax
40f981:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f987:	72 14                	jb     0x40f99d
40f989:	8b 50 fc             	mov    -0x4(%eax),%edx
40f98c:	83 c1 23             	add    $0x23,%ecx
40f98f:	2b c2                	sub    %edx,%eax
40f991:	83 c0 fc             	add    $0xfffffffc,%eax
40f994:	83 f8 1f             	cmp    $0x1f,%eax
40f997:	0f 87 d3 00 00 00    	ja     0x40fa70
40f99d:	51                   	push   %ecx
40f99e:	52                   	push   %edx
40f99f:	e8 14 a2 00 00       	call   0x419bb8
40f9a4:	83 c4 08             	add    $0x8,%esp
40f9a7:	8b 8d a4 ef ff ff    	mov    -0x105c(%ebp),%ecx
40f9ad:	33 c0                	xor    %eax,%eax
40f9af:	c7 85 d0 ef ff ff 00 	movl   $0x0,-0x1030(%ebp)
40f9b6:	00 00 00
40f9b9:	c7 85 d4 ef ff ff 07 	movl   $0x7,-0x102c(%ebp)
40f9c0:	00 00 00
40f9c3:	66 89 85 c0 ef ff ff 	mov    %ax,-0x1040(%ebp)
40f9ca:	83 f9 08             	cmp    $0x8,%ecx
40f9cd:	72 31                	jb     0x40fa00
40f9cf:	8b 95 90 ef ff ff    	mov    -0x1070(%ebp),%edx
40f9d5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f9dc:	8b c2                	mov    %edx,%eax
40f9de:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f9e4:	72 10                	jb     0x40f9f6
40f9e6:	8b 50 fc             	mov    -0x4(%eax),%edx
40f9e9:	83 c1 23             	add    $0x23,%ecx
40f9ec:	2b c2                	sub    %edx,%eax
40f9ee:	83 c0 fc             	add    $0xfffffffc,%eax
40f9f1:	83 f8 1f             	cmp    $0x1f,%eax
40f9f4:	77 7a                	ja     0x40fa70
40f9f6:	51                   	push   %ecx
40f9f7:	52                   	push   %edx
40f9f8:	e8 bb a1 00 00       	call   0x419bb8
40f9fd:	83 c4 08             	add    $0x8,%esp
40fa00:	8b 8d 8c ef ff ff    	mov    -0x1074(%ebp),%ecx
40fa06:	83 f9 08             	cmp    $0x8,%ecx
40fa09:	72 31                	jb     0x40fa3c
40fa0b:	8b 95 78 ef ff ff    	mov    -0x1088(%ebp),%edx
40fa11:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40fa18:	8b c2                	mov    %edx,%eax
40fa1a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40fa20:	72 10                	jb     0x40fa32
40fa22:	8b 50 fc             	mov    -0x4(%eax),%edx
40fa25:	83 c1 23             	add    $0x23,%ecx
40fa28:	2b c2                	sub    %edx,%eax
40fa2a:	83 c0 fc             	add    $0xfffffffc,%eax
40fa2d:	83 f8 1f             	cmp    $0x1f,%eax
40fa30:	77 3e                	ja     0x40fa70
40fa32:	51                   	push   %ecx
40fa33:	52                   	push   %edx
40fa34:	e8 7f a1 00 00       	call   0x419bb8
40fa39:	83 c4 08             	add    $0x8,%esp
40fa3c:	b0 01                	mov    $0x1,%al
40fa3e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40fa41:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40fa48:	59                   	pop    %ecx
40fa49:	5f                   	pop    %edi
40fa4a:	5e                   	pop    %esi
40fa4b:	5b                   	pop    %ebx
40fa4c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fa4f:	33 cd                	xor    %ebp,%ecx
40fa51:	e8 54 a1 00 00       	call   0x419baa
40fa56:	8b e5                	mov    %ebp,%esp
40fa58:	5d                   	pop    %ebp
40fa59:	c2 30 00             	ret    $0x30
40fa5c:	e8 32 ff 00 00       	call   0x41f993
40fa61:	e8 2d ff 00 00       	call   0x41f993
40fa66:	e8 28 ff 00 00       	call   0x41f993
40fa6b:	e8 23 ff 00 00       	call   0x41f993
40fa70:	e8 1e ff 00 00       	call   0x41f993
40fa75:	cc                   	int3
40fa76:	cc                   	int3
40fa77:	cc                   	int3
40fa78:	cc                   	int3
40fa79:	cc                   	int3
40fa7a:	cc                   	int3
40fa7b:	cc                   	int3
40fa7c:	cc                   	int3
40fa7d:	cc                   	int3
40fa7e:	cc                   	int3
40fa7f:	cc                   	int3
40fa80:	55                   	push   %ebp
40fa81:	8b ec                	mov    %esp,%ebp
40fa83:	6a ff                	push   $0xffffffff
40fa85:	68 45 c7 43 00       	push   $0x43c745
40fa8a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fa90:	50                   	push   %eax
40fa91:	83 ec 20             	sub    $0x20,%esp
40fa94:	53                   	push   %ebx
40fa95:	56                   	push   %esi
40fa96:	57                   	push   %edi
40fa97:	a1 14 50 45 00       	mov    0x455014,%eax
40fa9c:	33 c5                	xor    %ebp,%eax
40fa9e:	50                   	push   %eax
40fa9f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40faa2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40faa8:	89 65 f0             	mov    %esp,-0x10(%ebp)
40faab:	8b d9                	mov    %ecx,%ebx
40faad:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40fab0:	33 f6                	xor    %esi,%esi
40fab2:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40fab5:	53                   	push   %ebx
40fab6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40fab9:	e8 02 92 ff ff       	call   0x408cc0
40fabe:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fac1:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
40fac5:	0f 84 d6 00 00 00    	je     0x40fba1
40facb:	8b 03                	mov    (%ebx),%eax
40facd:	8b 40 04             	mov    0x4(%eax),%eax
40fad0:	8b 44 18 30          	mov    0x30(%eax,%ebx,1),%eax
40fad4:	8b 78 04             	mov    0x4(%eax),%edi
40fad7:	89 7d d8             	mov    %edi,-0x28(%ebp)
40fada:	8b 07                	mov    (%edi),%eax
40fadc:	8b 70 04             	mov    0x4(%eax),%esi
40fadf:	8b ce                	mov    %esi,%ecx
40fae1:	ff 15 5c e2 43 00    	call   *0x43e25c
40fae7:	8b cf                	mov    %edi,%ecx
40fae9:	ff d6                	call   *%esi
40faeb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40faee:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40faf2:	50                   	push   %eax
40faf3:	e8 58 a6 ff ff       	call   0x40a150
40faf8:	8b 7d d8             	mov    -0x28(%ebp),%edi
40fafb:	83 c4 04             	add    $0x4,%esp
40fafe:	89 45 e8             	mov    %eax,-0x18(%ebp)
40fb01:	85 ff                	test   %edi,%edi
40fb03:	74 29                	je     0x40fb2e
40fb05:	8b 17                	mov    (%edi),%edx
40fb07:	8b 72 08             	mov    0x8(%edx),%esi
40fb0a:	8b ce                	mov    %esi,%ecx
40fb0c:	ff 15 5c e2 43 00    	call   *0x43e25c
40fb12:	8b cf                	mov    %edi,%ecx
40fb14:	ff d6                	call   *%esi
40fb16:	8b f8                	mov    %eax,%edi
40fb18:	85 ff                	test   %edi,%edi
40fb1a:	74 12                	je     0x40fb2e
40fb1c:	8b 0f                	mov    (%edi),%ecx
40fb1e:	6a 01                	push   $0x1
40fb20:	8b 31                	mov    (%ecx),%esi
40fb22:	8b ce                	mov    %esi,%ecx
40fb24:	ff 15 5c e2 43 00    	call   *0x43e25c
40fb2a:	8b cf                	mov    %edi,%ecx
40fb2c:	ff d6                	call   *%esi
40fb2e:	ff 75 08             	push   0x8(%ebp)
40fb31:	8b 7d e8             	mov    -0x18(%ebp),%edi
40fb34:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40fb38:	8b 03                	mov    (%ebx),%eax
40fb3a:	8b 37                	mov    (%edi),%esi
40fb3c:	8b 48 04             	mov    0x4(%eax),%ecx
40fb3f:	03 cb                	add    %ebx,%ecx
40fb41:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40fb45:	8b 76 20             	mov    0x20(%esi),%esi
40fb48:	0f b7 41 40          	movzwl 0x40(%ecx),%eax
40fb4c:	50                   	push   %eax
40fb4d:	51                   	push   %ecx
40fb4e:	ff 71 38             	push   0x38(%ecx)
40fb51:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40fb54:	8b ce                	mov    %esi,%ecx
40fb56:	ff 75 d4             	push   -0x2c(%ebp)
40fb59:	50                   	push   %eax
40fb5a:	ff 15 5c e2 43 00    	call   *0x43e25c
40fb60:	8b cf                	mov    %edi,%ecx
40fb62:	ff d6                	call   *%esi
40fb64:	33 f6                	xor    %esi,%esi
40fb66:	ba 04 00 00 00       	mov    $0x4,%edx
40fb6b:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
40fb6f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fb76:	0f 45 f2             	cmovne %edx,%esi
40fb79:	eb 2b                	jmp    0x40fba6
40fb7b:	8b 55 ec             	mov    -0x14(%ebp),%edx
40fb7e:	6a 01                	push   $0x1
40fb80:	6a 04                	push   $0x4
40fb82:	8b 02                	mov    (%edx),%eax
40fb84:	8b 48 04             	mov    0x4(%eax),%ecx
40fb87:	03 ca                	add    %edx,%ecx
40fb89:	e8 22 92 ff ff       	call   0x408db0
40fb8e:	b8 94 fb 40 00       	mov    $0x40fb94,%eax
40fb93:	c3                   	ret
40fb94:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40fb97:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40fb9a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fba1:	ba 04 00 00 00       	mov    $0x4,%edx
40fba6:	8b 03                	mov    (%ebx),%eax
40fba8:	6a 00                	push   $0x0
40fbaa:	8b 48 04             	mov    0x4(%eax),%ecx
40fbad:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
40fbb1:	03 cb                	add    %ebx,%ecx
40fbb3:	0b c6                	or     %esi,%eax
40fbb5:	33 f6                	xor    %esi,%esi
40fbb7:	39 71 38             	cmp    %esi,0x38(%ecx)
40fbba:	0f 45 d6             	cmovne %esi,%edx
40fbbd:	0b d0                	or     %eax,%edx
40fbbf:	52                   	push   %edx
40fbc0:	e8 3b 64 ff ff       	call   0x406000
40fbc5:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
40fbcc:	e8 59 97 00 00       	call   0x41932a
40fbd1:	84 c0                	test   %al,%al
40fbd3:	75 08                	jne    0x40fbdd
40fbd5:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40fbd8:	e8 b3 a0 ff ff       	call   0x409c90
40fbdd:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40fbe1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40fbe4:	8b 01                	mov    (%ecx),%eax
40fbe6:	8b 40 04             	mov    0x4(%eax),%eax
40fbe9:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
40fbed:	85 ff                	test   %edi,%edi
40fbef:	74 11                	je     0x40fc02
40fbf1:	8b 07                	mov    (%edi),%eax
40fbf3:	8b 70 08             	mov    0x8(%eax),%esi
40fbf6:	8b ce                	mov    %esi,%ecx
40fbf8:	ff 15 5c e2 43 00    	call   *0x43e25c
40fbfe:	8b cf                	mov    %edi,%ecx
40fc00:	ff d6                	call   *%esi
40fc02:	8b c3                	mov    %ebx,%eax
40fc04:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40fc07:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40fc0e:	59                   	pop    %ecx
40fc0f:	5f                   	pop    %edi
40fc10:	5e                   	pop    %esi
40fc11:	5b                   	pop    %ebx
40fc12:	8b e5                	mov    %ebp,%esp
40fc14:	5d                   	pop    %ebp
40fc15:	c2 04 00             	ret    $0x4
40fc18:	cc                   	int3
40fc19:	cc                   	int3
40fc1a:	cc                   	int3
40fc1b:	cc                   	int3
40fc1c:	cc                   	int3
40fc1d:	cc                   	int3
40fc1e:	cc                   	int3
40fc1f:	cc                   	int3
40fc20:	55                   	push   %ebp
40fc21:	8b ec                	mov    %esp,%ebp
40fc23:	6a ff                	push   $0xffffffff
40fc25:	68 8e c7 43 00       	push   $0x43c78e
40fc2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fc30:	50                   	push   %eax
40fc31:	83 ec 10             	sub    $0x10,%esp
40fc34:	53                   	push   %ebx
40fc35:	56                   	push   %esi
40fc36:	57                   	push   %edi
40fc37:	a1 14 50 45 00       	mov    0x455014,%eax
40fc3c:	33 c5                	xor    %ebp,%eax
40fc3e:	50                   	push   %eax
40fc3f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fc42:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fc48:	8b f9                	mov    %ecx,%edi
40fc4a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40fc51:	33 c0                	xor    %eax,%eax
40fc53:	8b 75 08             	mov    0x8(%ebp),%esi
40fc56:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40fc5d:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40fc64:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40fc6a:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40fc71:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)