4167ac:	89 45 ec             	mov    %eax,-0x14(%ebp)
4167af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4167b2:	85 db                	test   %ebx,%ebx
4167b4:	0f 84 d2 00 00 00    	je     0x41688c
4167ba:	85 ff                	test   %edi,%edi
4167bc:	0f 84 ca 00 00 00    	je     0x41688c
4167c2:	8b cf                	mov    %edi,%ecx
4167c4:	e8 a3 cf ff ff       	call   0x41376c
4167c9:	85 c0                	test   %eax,%eax
4167cb:	0f 84 8e 00 00 00    	je     0x41685f
4167d1:	3b c7                	cmp    %edi,%eax
4167d3:	0f 84 86 00 00 00    	je     0x41685f
4167d9:	2b c7                	sub    %edi,%eax
4167db:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4167de:	d1 f8                	sar    $1,%eax
4167e0:	48                   	dec    %eax
4167e1:	50                   	push   %eax
4167e2:	57                   	push   %edi
4167e3:	e8 01 58 ff ff       	call   0x40bfe9
4167e8:	8b f0                	mov    %eax,%esi
4167ea:	85 f6                	test   %esi,%esi
4167ec:	79 33                	jns    0x416821
4167ee:	a1 00 b0 42 00       	mov    0x42b000,%eax
4167f3:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4167f8:	0f 84 b8 00 00 00    	je     0x4168b6
4167fe:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416802:	0f 84 ae 00 00 00    	je     0x4168b6
416808:	56                   	push   %esi
416809:	ff 70 14             	push   0x14(%eax)
41680c:	ff 70 10             	push   0x10(%eax)
41680f:	6a 0c                	push   $0xc
416811:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
416816:	59                   	pop    %ecx
416817:	e8 b2 0b ff ff       	call   0x4073ce
41681c:	e9 95 00 00 00       	jmp    0x4168b6
416821:	ff 75 e8             	push   -0x18(%ebp)
416824:	53                   	push   %ebx
416825:	ff 15 b0 c0 42 00    	call   *0x42c0b0
41682b:	85 c0                	test   %eax,%eax
41682d:	75 2c                	jne    0x41685b
41682f:	ff 15 18 c2 42 00    	call   *0x42c218
416835:	8b c8                	mov    %eax,%ecx
416837:	e8 6e 4d ff ff       	call   0x40b5aa
41683c:	8b f0                	mov    %eax,%esi
41683e:	a1 00 b0 42 00       	mov    0x42b000,%eax
416843:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416848:	74 6c                	je     0x4168b6
41684a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41684e:	74 66                	je     0x4168b6
416850:	56                   	push   %esi
416851:	ff 70 14             	push   0x14(%eax)
416854:	ff 70 10             	push   0x10(%eax)
416857:	6a 0d                	push   $0xd
416859:	eb b6                	jmp    0x416811
41685b:	33 f6                	xor    %esi,%esi
41685d:	eb 57                	jmp    0x4168b6
41685f:	be 57 00 07 80       	mov    $0x80070057,%esi
416864:	a1 00 b0 42 00       	mov    0x42b000,%eax
416869:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41686e:	74 46                	je     0x4168b6
416870:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
416874:	74 40                	je     0x4168b6
416876:	57                   	push   %edi
416877:	ff 70 14             	push   0x14(%eax)
41687a:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
41687f:	ff 70 10             	push   0x10(%eax)
416882:	6a 0b                	push   $0xb
416884:	59                   	pop    %ecx
416885:	e8 ce 10 ff ff       	call   0x407958
41688a:	eb 2a                	jmp    0x4168b6
41688c:	a1 00 b0 42 00       	mov    0x42b000,%eax
416891:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416896:	74 19                	je     0x4168b1
416898:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41689c:	74 13                	je     0x4168b1
41689e:	ff 70 14             	push   0x14(%eax)
4168a1:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
4168a6:	ff 70 10             	push   0x10(%eax)
4168a9:	6a 0a                	push   $0xa
4168ab:	59                   	pop    %ecx
4168ac:	e8 ff 0a ff ff       	call   0x4073b0
4168b1:	be 57 00 07 80       	mov    $0x80070057,%esi
4168b6:	6a 01                	push   $0x1
4168b8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4168bb:	e8 65 63 ff ff       	call   0x40cc25
4168c0:	8b c6                	mov    %esi,%eax
4168c2:	e8 6f 17 01 00       	call   0x428036
4168c7:	c3                   	ret
4168c8:	33 c0                	xor    %eax,%eax
4168ca:	89 41 08             	mov    %eax,0x8(%ecx)
4168cd:	89 41 10             	mov    %eax,0x10(%ecx)
4168d0:	89 41 0c             	mov    %eax,0xc(%ecx)
4168d3:	89 41 14             	mov    %eax,0x14(%ecx)
4168d6:	89 41 1c             	mov    %eax,0x1c(%ecx)
4168d9:	89 41 18             	mov    %eax,0x18(%ecx)
4168dc:	89 41 20             	mov    %eax,0x20(%ecx)
4168df:	89 41 28             	mov    %eax,0x28(%ecx)
4168e2:	89 41 24             	mov    %eax,0x24(%ecx)
4168e5:	89 41 48             	mov    %eax,0x48(%ecx)
4168e8:	89 41 50             	mov    %eax,0x50(%ecx)
4168eb:	89 41 4c             	mov    %eax,0x4c(%ecx)
4168ee:	89 41 54             	mov    %eax,0x54(%ecx)
4168f1:	89 41 5c             	mov    %eax,0x5c(%ecx)
4168f4:	89 41 58             	mov    %eax,0x58(%ecx)
4168f7:	89 41 60             	mov    %eax,0x60(%ecx)
4168fa:	89 41 68             	mov    %eax,0x68(%ecx)
4168fd:	89 41 64             	mov    %eax,0x64(%ecx)
416900:	89 41 6c             	mov    %eax,0x6c(%ecx)
416903:	89 41 74             	mov    %eax,0x74(%ecx)
416906:	89 41 70             	mov    %eax,0x70(%ecx)
416909:	89 81 88 00 00 00    	mov    %eax,0x88(%ecx)
41690f:	89 81 90 00 00 00    	mov    %eax,0x90(%ecx)
416915:	89 81 8c 00 00 00    	mov    %eax,0x8c(%ecx)
41691b:	89 81 94 00 00 00    	mov    %eax,0x94(%ecx)
416921:	89 81 9c 00 00 00    	mov    %eax,0x9c(%ecx)
416927:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
41692d:	89 81 ac 00 00 00    	mov    %eax,0xac(%ecx)
416933:	89 81 b4 00 00 00    	mov    %eax,0xb4(%ecx)
416939:	89 81 b0 00 00 00    	mov    %eax,0xb0(%ecx)
41693f:	89 81 b8 00 00 00    	mov    %eax,0xb8(%ecx)
416945:	89 81 c0 00 00 00    	mov    %eax,0xc0(%ecx)
41694b:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
416951:	89 81 d0 00 00 00    	mov    %eax,0xd0(%ecx)
416957:	89 81 d8 00 00 00    	mov    %eax,0xd8(%ecx)
41695d:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
416963:	89 81 dc 00 00 00    	mov    %eax,0xdc(%ecx)
416969:	89 81 e4 00 00 00    	mov    %eax,0xe4(%ecx)
41696f:	89 81 e0 00 00 00    	mov    %eax,0xe0(%ecx)
416975:	89 81 e8 00 00 00    	mov    %eax,0xe8(%ecx)
41697b:	89 81 f0 00 00 00    	mov    %eax,0xf0(%ecx)
416981:	89 81 ec 00 00 00    	mov    %eax,0xec(%ecx)
416987:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
41698d:	89 81 fc 00 00 00    	mov    %eax,0xfc(%ecx)
416993:	89 81 f8 00 00 00    	mov    %eax,0xf8(%ecx)
416999:	89 81 00 01 00 00    	mov    %eax,0x100(%ecx)
41699f:	89 81 08 01 00 00    	mov    %eax,0x108(%ecx)
4169a5:	89 81 04 01 00 00    	mov    %eax,0x104(%ecx)
4169ab:	89 81 0c 01 00 00    	mov    %eax,0x10c(%ecx)
4169b1:	89 81 14 01 00 00    	mov    %eax,0x114(%ecx)
4169b7:	89 81 10 01 00 00    	mov    %eax,0x110(%ecx)
4169bd:	89 41 2c             	mov    %eax,0x2c(%ecx)
4169c0:	89 41 30             	mov    %eax,0x30(%ecx)
4169c3:	89 41 78             	mov    %eax,0x78(%ecx)
4169c6:	89 41 7c             	mov    %eax,0x7c(%ecx)
4169c9:	83 89 28 01 00 00 ff 	orl    $0xffffffff,0x128(%ecx)
4169d0:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
4169d6:	89 41 34             	mov    %eax,0x34(%ecx)
4169d9:	89 81 a0 00 00 00    	mov    %eax,0xa0(%ecx)
4169df:	89 81 a4 00 00 00    	mov    %eax,0xa4(%ecx)
4169e5:	89 81 a8 00 00 00    	mov    %eax,0xa8(%ecx)
4169eb:	89 01                	mov    %eax,(%ecx)
4169ed:	89 41 38             	mov    %eax,0x38(%ecx)
4169f0:	89 41 40             	mov    %eax,0x40(%ecx)
4169f3:	89 41 44             	mov    %eax,0x44(%ecx)
4169f6:	89 41 04             	mov    %eax,0x4(%ecx)
4169f9:	89 81 c4 00 00 00    	mov    %eax,0xc4(%ecx)
4169ff:	89 81 cc 00 00 00    	mov    %eax,0xcc(%ecx)
416a05:	89 81 20 01 00 00    	mov    %eax,0x120(%ecx)
416a0b:	89 81 24 01 00 00    	mov    %eax,0x124(%ecx)
416a11:	89 81 84 00 00 00    	mov    %eax,0x84(%ecx)
416a17:	8b c1                	mov    %ecx,%eax
416a19:	c7 81 c8 00 00 00 03 	movl   $0x3,0xc8(%ecx)
416a20:	00 00 00
416a23:	c3                   	ret
416a24:	8b ff                	mov    %edi,%edi
416a26:	56                   	push   %esi
416a27:	8b f1                	mov    %ecx,%esi
416a29:	57                   	push   %edi
416a2a:	8b 86 28 01 00 00    	mov    0x128(%esi),%eax
416a30:	83 f8 ff             	cmp    $0xffffffff,%eax
416a33:	74 0e                	je     0x416a43
416a35:	50                   	push   %eax
416a36:	ff 15 30 c2 42 00    	call   *0x42c230
416a3c:	83 8e 28 01 00 00 ff 	orl    $0xffffffff,0x128(%esi)
416a43:	33 ff                	xor    %edi,%edi
416a45:	8d 8e 0c 01 00 00    	lea    0x10c(%esi),%ecx
416a4b:	47                   	inc    %edi
416a4c:	57                   	push   %edi
416a4d:	e8 d3 61 ff ff       	call   0x40cc25
416a52:	57                   	push   %edi
416a53:	8d 8e 00 01 00 00    	lea    0x100(%esi),%ecx
416a59:	e8 c7 61 ff ff       	call   0x40cc25
416a5e:	57                   	push   %edi
416a5f:	8d 8e f4 00 00 00    	lea    0xf4(%esi),%ecx
416a65:	e8 bb 61 ff ff       	call   0x40cc25
416a6a:	57                   	push   %edi
416a6b:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
416a71:	e8 af 61 ff ff       	call   0x40cc25
416a76:	57                   	push   %edi
416a77:	8d 8e dc 00 00 00    	lea    0xdc(%esi),%ecx
416a7d:	e8 a3 61 ff ff       	call   0x40cc25
416a82:	57                   	push   %edi
416a83:	8d 8e d0 00 00 00    	lea    0xd0(%esi),%ecx
416a89:	e8 97 61 ff ff       	call   0x40cc25
416a8e:	57                   	push   %edi
416a8f:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
416a95:	e8 8b 61 ff ff       	call   0x40cc25
416a9a:	57                   	push   %edi
416a9b:	8d 8e ac 00 00 00    	lea    0xac(%esi),%ecx
416aa1:	e8 7f 61 ff ff       	call   0x40cc25
416aa6:	57                   	push   %edi
416aa7:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
416aad:	e8 73 61 ff ff       	call   0x40cc25
416ab2:	57                   	push   %edi
416ab3:	8d 8e 88 00 00 00    	lea    0x88(%esi),%ecx
416ab9:	e8 67 61 ff ff       	call   0x40cc25
416abe:	57                   	push   %edi
416abf:	8d 4e 6c             	lea    0x6c(%esi),%ecx
416ac2:	e8 5e 61 ff ff       	call   0x40cc25
416ac7:	57                   	push   %edi
416ac8:	8d 4e 60             	lea    0x60(%esi),%ecx
416acb:	e8 55 61 ff ff       	call   0x40cc25
416ad0:	57                   	push   %edi
416ad1:	8d 4e 54             	lea    0x54(%esi),%ecx
416ad4:	e8 4c 61 ff ff       	call   0x40cc25
416ad9:	57                   	push   %edi
416ada:	8d 4e 48             	lea    0x48(%esi),%ecx
416add:	e8 43 61 ff ff       	call   0x40cc25
416ae2:	57                   	push   %edi
416ae3:	8d 4e 20             	lea    0x20(%esi),%ecx
416ae6:	e8 3a 61 ff ff       	call   0x40cc25
416aeb:	57                   	push   %edi
416aec:	8d 4e 14             	lea    0x14(%esi),%ecx
416aef:	e8 31 61 ff ff       	call   0x40cc25
416af4:	57                   	push   %edi
416af5:	8d 4e 08             	lea    0x8(%esi),%ecx
416af8:	e8 28 61 ff ff       	call   0x40cc25
416afd:	5f                   	pop    %edi
416afe:	5e                   	pop    %esi
416aff:	c3                   	ret
416b00:	8b ff                	mov    %edi,%edi
416b02:	55                   	push   %ebp
416b03:	8b ec                	mov    %esp,%ebp
416b05:	83 ec 38             	sub    $0x38,%esp
416b08:	8d 45 cc             	lea    -0x34(%ebp),%eax
416b0b:	53                   	push   %ebx
416b0c:	56                   	push   %esi
416b0d:	57                   	push   %edi
416b0e:	6a 34                	push   $0x34
416b10:	6a 00                	push   $0x0
416b12:	50                   	push   %eax
416b13:	e8 95 18 01 00       	call   0x4283ad
416b18:	83 c4 0c             	add    $0xc,%esp
416b1b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
416b1f:	0f 84 04 01 00 00    	je     0x416c29
416b25:	8b 5d 14             	mov    0x14(%ebp),%ebx
416b28:	85 db                	test   %ebx,%ebx
416b2a:	0f 84 f9 00 00 00    	je     0x416c29
416b30:	8b 75 18             	mov    0x18(%ebp),%esi
416b33:	85 f6                	test   %esi,%esi
416b35:	0f 84 ee 00 00 00    	je     0x416c29
416b3b:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
416b3f:	0f 84 e4 00 00 00    	je     0x416c29
416b45:	ff 75 0c             	push   0xc(%ebp)
416b48:	8b cb                	mov    %ebx,%ecx
416b4a:	e8 69 55 ff ff       	call   0x40c0b8
416b4f:	8b f8                	mov    %eax,%edi
416b51:	85 ff                	test   %edi,%edi
416b53:	79 34                	jns    0x416b89
416b55:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
416b5b:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
416b61:	0f 84 be 00 00 00    	je     0x416c25
416b67:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
416b6b:	0f 84 b4 00 00 00    	je     0x416c25
416b71:	ff 71 14             	push   0x14(%ecx)
416b74:	ff 71 10             	push   0x10(%ecx)
416b77:	6a 0f                	push   $0xf
416b79:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
416b7e:	59                   	pop    %ecx
416b7f:	e8 2c 08 ff ff       	call   0x4073b0
416b84:	e9 9c 00 00 00       	jmp    0x416c25
416b89:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416b8c:	e8 db cb ff ff       	call   0x41376c
416b91:	50                   	push   %eax
416b92:	8b ce                	mov    %esi,%ecx
416b94:	e8 1f 55 ff ff       	call   0x40c0b8
416b99:	8b f8                	mov    %eax,%edi
416b9b:	85 ff                	test   %edi,%edi
416b9d:	79 1c                	jns    0x416bbb
416b9f:	a1 00 b0 42 00       	mov    0x42b000,%eax
416ba4:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416ba9:	74 7a                	je     0x416c25
416bab:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416baf:	74 74                	je     0x416c25
416bb1:	ff 70 14             	push   0x14(%eax)
416bb4:	ff 70 10             	push   0x10(%eax)
416bb7:	6a 10                	push   $0x10
416bb9:	eb be                	jmp    0x416b79
416bbb:	6a 40                	push   $0x40
416bbd:	5a                   	pop    %edx
416bbe:	39 56 08             	cmp    %edx,0x8(%esi)
416bc1:	76 0e                	jbe    0x416bd1
416bc3:	8b 06                	mov    (%esi),%eax
416bc5:	33 c9                	xor    %ecx,%ecx
416bc7:	66 89 88 80 00 00 00 	mov    %cx,0x80(%eax)
416bce:	89 56 08             	mov    %edx,0x8(%esi)
416bd1:	8b 55 10             	mov    0x10(%ebp),%edx
416bd4:	8b 4d 08             	mov    0x8(%ebp),%ecx
416bd7:	e8 b3 b9 ff ff       	call   0x41258f
416bdc:	8b 75 20             	mov    0x20(%ebp),%esi
416bdf:	89 06                	mov    %eax,(%esi)
416be1:	85 c0                	test   %eax,%eax
416be3:	75 09                	jne    0x416bee
416be5:	8b 0b                	mov    (%ebx),%ecx
416be7:	e8 3e b9 ff ff       	call   0x41252a
416bec:	89 06                	mov    %eax,(%esi)
416bee:	8b 0b                	mov    (%ebx),%ecx
416bf0:	8d 55 cc             	lea    -0x34(%ebp),%edx
416bf3:	33 f6                	xor    %esi,%esi
416bf5:	56                   	push   %esi
416bf6:	56                   	push   %esi
416bf7:	56                   	push   %esi
416bf8:	e8 9a a9 ff ff       	call   0x411597
416bfd:	85 c0                	test   %eax,%eax
416bff:	78 22                	js     0x416c23
416c01:	8b 55 1c             	mov    0x1c(%ebp),%edx
416c04:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
416c07:	8b c1                	mov    %ecx,%eax
416c09:	c1 e8 10             	shr    $0x10,%eax
416c0c:	66 89 02             	mov    %ax,(%edx)
416c0f:	66 89 4a 02          	mov    %cx,0x2(%edx)
416c13:	8b 4d d8             	mov    -0x28(%ebp),%ecx
416c16:	8b c1                	mov    %ecx,%eax
416c18:	c1 e8 10             	shr    $0x10,%eax
416c1b:	66 89 42 04          	mov    %ax,0x4(%edx)
416c1f:	66 89 4a 06          	mov    %cx,0x6(%edx)
416c23:	8b fe                	mov    %esi,%edi
416c25:	8b c7                	mov    %edi,%eax
416c27:	eb 2a                	jmp    0x416c53
416c29:	a1 00 b0 42 00       	mov    0x42b000,%eax
416c2e:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
416c33:	74 19                	je     0x416c4e
416c35:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
416c39:	74 13                	je     0x416c4e
416c3b:	ff 70 14             	push   0x14(%eax)
416c3e:	ba f4 3c 40 00       	mov    $0x403cf4,%edx
416c43:	ff 70 10             	push   0x10(%eax)
416c46:	6a 0e                	push   $0xe
416c48:	59                   	pop    %ecx
416c49:	e8 62 07 ff ff       	call   0x4073b0
416c4e:	b8 57 00 07 80       	mov    $0x80070057,%eax
416c53:	5f                   	pop    %edi
416c54:	5e                   	pop    %esi
416c55:	5b                   	pop    %ebx
416c56:	c9                   	leave
416c57:	c2 1c 00             	ret    $0x1c
416c5a:	6a 0c                	push   $0xc
416c5c:	b8 7e 88 42 00       	mov    $0x42887e,%eax
416c61:	e8 02 14 01 00       	call   0x428068
416c66:	33 f6                	xor    %esi,%esi