4138f2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4138f5:	33 c0                	xor    %eax,%eax
4138f7:	51                   	push   %ecx
4138f8:	50                   	push   %eax
4138f9:	50                   	push   %eax
4138fa:	50                   	push   %eax
4138fb:	50                   	push   %eax
4138fc:	50                   	push   %eax
4138fd:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
413901:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
413908:	e8 64 9a ff ff       	call   0x40d371
41390d:	83 c4 18             	add    $0x18,%esp
413910:	83 c8 ff             	or     $0xffffffff,%eax
413913:	eb 47                	jmp    0x41395c
413915:	8b 4d 08             	mov    0x8(%ebp),%ecx
413918:	8d 51 01             	lea    0x1(%ecx),%edx
41391b:	8a 01                	mov    (%ecx),%al
41391d:	41                   	inc    %ecx
41391e:	84 c0                	test   %al,%al
413920:	75 f9                	jne    0x41391b
413922:	8d 45 0c             	lea    0xc(%ebp),%eax
413925:	2b ca                	sub    %edx,%ecx
413927:	89 45 e0             	mov    %eax,-0x20(%ebp)
41392a:	8b 45 10             	mov    0x10(%ebp),%eax
41392d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
413930:	8d 45 08             	lea    0x8(%ebp),%eax
413933:	89 45 e8             	mov    %eax,-0x18(%ebp)
413936:	8d 45 f8             	lea    -0x8(%ebp),%eax
413939:	89 45 ec             	mov    %eax,-0x14(%ebp)
41393c:	8b 45 0c             	mov    0xc(%ebp),%eax
41393f:	89 45 f4             	mov    %eax,-0xc(%ebp)
413942:	89 45 f0             	mov    %eax,-0x10(%ebp)
413945:	8d 45 f4             	lea    -0xc(%ebp),%eax
413948:	50                   	push   %eax
413949:	8d 45 e0             	lea    -0x20(%ebp),%eax
41394c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41394f:	50                   	push   %eax
413950:	8d 45 f0             	lea    -0x10(%ebp),%eax
413953:	50                   	push   %eax
413954:	8d 4d ff             	lea    -0x1(%ebp),%ecx
413957:	e8 44 fe ff ff       	call   0x4137a0
41395c:	5e                   	pop    %esi
41395d:	c9                   	leave
41395e:	c3                   	ret
41395f:	8b ff                	mov    %edi,%edi
413961:	55                   	push   %ebp
413962:	8b ec                	mov    %esp,%ebp
413964:	83 ec 28             	sub    $0x28,%esp
413967:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41396a:	56                   	push   %esi
41396b:	6a 00                	push   $0x0
41396d:	e8 70 97 ff ff       	call   0x40d0e2
413972:	8d 45 d8             	lea    -0x28(%ebp),%eax
413975:	50                   	push   %eax
413976:	ff 75 0c             	push   0xc(%ebp)
413979:	ff 75 08             	push   0x8(%ebp)
41397c:	e8 d2 fe ff ff       	call   0x413853
413981:	83 c4 0c             	add    $0xc,%esp
413984:	8d 4d d8             	lea    -0x28(%ebp),%ecx
413987:	8b f0                	mov    %eax,%esi
413989:	e8 9c 97 ff ff       	call   0x40d12a
41398e:	8b c6                	mov    %esi,%eax
413990:	5e                   	pop    %esi
413991:	c9                   	leave
413992:	c3                   	ret
413993:	6a 0c                	push   $0xc
413995:	68 b8 ab 43 00       	push   $0x43abb8
41399a:	e8 31 6b ff ff       	call   0x40a4d0
41399f:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4139a3:	8b 45 08             	mov    0x8(%ebp),%eax
4139a6:	ff 30                	push   (%eax)
4139a8:	e8 24 a0 00 00       	call   0x41d9d1
4139ad:	59                   	pop    %ecx
4139ae:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4139b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139b5:	e8 a6 14 00 00       	call   0x414e60
4139ba:	8b f0                	mov    %eax,%esi
4139bc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4139bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4139c6:	e8 17 00 00 00       	call   0x4139e2
4139cb:	8b c6                	mov    %esi,%eax
4139cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4139d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4139d7:	59                   	pop    %ecx
4139d8:	5f                   	pop    %edi
4139d9:	5e                   	pop    %esi
4139da:	5b                   	pop    %ebx
4139db:	c9                   	leave
4139dc:	c2 0c 00             	ret    $0xc
4139df:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4139e2:	8b 45 10             	mov    0x10(%ebp),%eax
4139e5:	ff 30                	push   (%eax)
4139e7:	e8 f9 9f 00 00       	call   0x41d9e5
4139ec:	59                   	pop    %ecx
4139ed:	c3                   	ret
4139ee:	8b ff                	mov    %edi,%edi
4139f0:	55                   	push   %ebp
4139f1:	8b ec                	mov    %esp,%ebp
4139f3:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
4139f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139fa:	99                   	cltd
4139fb:	33 d2                	xor    %edx,%edx
4139fd:	c1 e0 1f             	shl    $0x1f,%eax
413a00:	83 ca 01             	or     $0x1,%edx
413a03:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
413a08:	89 11                	mov    %edx,(%ecx)
413a0a:	89 41 04             	mov    %eax,0x4(%ecx)
413a0d:	5d                   	pop    %ebp
413a0e:	c3                   	ret
413a0f:	8b ff                	mov    %edi,%edi
413a11:	55                   	push   %ebp
413a12:	8b ec                	mov    %esp,%ebp
413a14:	8b 4d 0c             	mov    0xc(%ebp),%ecx
413a17:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
413a1b:	c1 e0 1f             	shl    $0x1f,%eax
413a1e:	8d 49 7f             	lea    0x7f(%ecx),%ecx
413a21:	c1 e1 17             	shl    $0x17,%ecx
413a24:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
413a2a:	0b c8                	or     %eax,%ecx
413a2c:	8b 45 10             	mov    0x10(%ebp),%eax
413a2f:	25 ff ff 7f 00       	and    $0x7fffff,%eax
413a34:	0b c8                	or     %eax,%ecx
413a36:	8b 45 18             	mov    0x18(%ebp),%eax
413a39:	89 08                	mov    %ecx,(%eax)
413a3b:	33 c0                	xor    %eax,%eax
413a3d:	5d                   	pop    %ebp
413a3e:	c3                   	ret
413a3f:	8b ff                	mov    %edi,%edi
413a41:	55                   	push   %ebp
413a42:	8b ec                	mov    %esp,%ebp
413a44:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
413a48:	33 c9                	xor    %ecx,%ecx
413a4a:	0b 4d 10             	or     0x10(%ebp),%ecx
413a4d:	56                   	push   %esi
413a4e:	8b 75 0c             	mov    0xc(%ebp),%esi
413a51:	99                   	cltd
413a52:	81 c6 ff 03 00 00    	add    $0x3ff,%esi
413a58:	0f a4 c2 0b          	shld   $0xb,%eax,%edx
413a5c:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
413a62:	c1 e0 0b             	shl    $0xb,%eax
413a65:	0b f0                	or     %eax,%esi
413a67:	8b 45 14             	mov    0x14(%ebp),%eax
413a6a:	c1 e6 14             	shl    $0x14,%esi
413a6d:	25 ff ff 0f 00       	and    $0xfffff,%eax
413a72:	0b f0                	or     %eax,%esi
413a74:	8b 45 18             	mov    0x18(%ebp),%eax
413a77:	89 70 04             	mov    %esi,0x4(%eax)
413a7a:	89 08                	mov    %ecx,(%eax)
413a7c:	33 c0                	xor    %eax,%eax
413a7e:	5e                   	pop    %esi
413a7f:	5d                   	pop    %ebp
413a80:	c3                   	ret
413a81:	8b ff                	mov    %edi,%edi
413a83:	55                   	push   %ebp
413a84:	8b ec                	mov    %esp,%ebp
413a86:	51                   	push   %ecx
413a87:	51                   	push   %ecx
413a88:	8b 45 0c             	mov    0xc(%ebp),%eax
413a8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
413a8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
413a91:	50                   	push   %eax
413a92:	ff 75 08             	push   0x8(%ebp)
413a95:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
413a99:	e8 04 1b 00 00       	call   0x4155a2
413a9e:	59                   	pop    %ecx
413a9f:	59                   	pop    %ecx
413aa0:	c9                   	leave
413aa1:	c3                   	ret
413aa2:	8b ff                	mov    %edi,%edi
413aa4:	55                   	push   %ebp
413aa5:	8b ec                	mov    %esp,%ebp
413aa7:	51                   	push   %ecx
413aa8:	51                   	push   %ecx
413aa9:	8b 45 0c             	mov    0xc(%ebp),%eax
413aac:	89 45 f8             	mov    %eax,-0x8(%ebp)
413aaf:	8d 45 f8             	lea    -0x8(%ebp),%eax
413ab2:	50                   	push   %eax
413ab3:	ff 75 08             	push   0x8(%ebp)
413ab6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
413aba:	e8 e3 1a 00 00       	call   0x4155a2
413abf:	59                   	pop    %ecx
413ac0:	59                   	pop    %ecx
413ac1:	c9                   	leave
413ac2:	c3                   	ret
413ac3:	8b ff                	mov    %edi,%edi
413ac5:	55                   	push   %ebp
413ac6:	8b ec                	mov    %esp,%ebp
413ac8:	51                   	push   %ecx
413ac9:	51                   	push   %ecx
413aca:	8b 45 0c             	mov    0xc(%ebp),%eax
413acd:	89 45 f8             	mov    %eax,-0x8(%ebp)
413ad0:	8d 45 f8             	lea    -0x8(%ebp),%eax
413ad3:	50                   	push   %eax
413ad4:	ff 75 08             	push   0x8(%ebp)
413ad7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
413adb:	e8 68 38 00 00       	call   0x417348
413ae0:	59                   	pop    %ecx
413ae1:	59                   	pop    %ecx
413ae2:	c9                   	leave
413ae3:	c3                   	ret
413ae4:	8b ff                	mov    %edi,%edi
413ae6:	55                   	push   %ebp
413ae7:	8b ec                	mov    %esp,%ebp
413ae9:	51                   	push   %ecx
413aea:	51                   	push   %ecx
413aeb:	8b 45 0c             	mov    0xc(%ebp),%eax
413aee:	89 45 f8             	mov    %eax,-0x8(%ebp)
413af1:	8d 45 f8             	lea    -0x8(%ebp),%eax
413af4:	50                   	push   %eax
413af5:	ff 75 08             	push   0x8(%ebp)
413af8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
413afc:	e8 47 38 00 00       	call   0x417348
413b01:	59                   	pop    %ecx
413b02:	59                   	pop    %ecx
413b03:	c9                   	leave
413b04:	c3                   	ret
413b05:	8b ff                	mov    %edi,%edi
413b07:	55                   	push   %ebp
413b08:	8b ec                	mov    %esp,%ebp
413b0a:	ff 75 18             	push   0x18(%ebp)
413b0d:	8b 4d 08             	mov    0x8(%ebp),%ecx
413b10:	ff 75 14             	push   0x14(%ebp)
413b13:	ff 75 10             	push   0x10(%ebp)
413b16:	ff 75 0c             	push   0xc(%ebp)
413b19:	e8 9e 12 00 00       	call   0x414dbc
413b1e:	8b 45 08             	mov    0x8(%ebp),%eax
413b21:	5d                   	pop    %ebp
413b22:	c3                   	ret
413b23:	8b ff                	mov    %edi,%edi
413b25:	55                   	push   %ebp
413b26:	8b ec                	mov    %esp,%ebp
413b28:	81 ec 10 03 00 00    	sub    $0x310,%esp
413b2e:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
413b33:	33 c5                	xor    %ebp,%eax
413b35:	89 45 fc             	mov    %eax,-0x4(%ebp)
413b38:	8b 45 08             	mov    0x8(%ebp),%eax
413b3b:	56                   	push   %esi
413b3c:	8b 75 2c             	mov    0x2c(%ebp),%esi
413b3f:	85 f6                	test   %esi,%esi
413b41:	74 04                	je     0x413b47
413b43:	85 c0                	test   %eax,%eax
413b45:	75 26                	jne    0x413b6d
413b47:	e8 25 8b 00 00       	call   0x41c671
413b4c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413b52:	e8 97 98 ff ff       	call   0x40d3ee
413b57:	8b 4d 24             	mov    0x24(%ebp),%ecx
413b5a:	85 c9                	test   %ecx,%ecx
413b5c:	74 0a                	je     0x413b68
413b5e:	8b 45 1c             	mov    0x1c(%ebp),%eax
413b61:	0b 45 20             	or     0x20(%ebp),%eax
413b64:	75 02                	jne    0x413b68
413b66:	88 01                	mov    %al,(%ecx)
413b68:	33 c0                	xor    %eax,%eax
413b6a:	40                   	inc    %eax
413b6b:	eb 33                	jmp    0x413ba0
413b6d:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
413b73:	51                   	push   %ecx
413b74:	8d 4d 0c             	lea    0xc(%ebp),%ecx
413b77:	51                   	push   %ecx
413b78:	50                   	push   %eax
413b79:	e8 b9 00 00 00       	call   0x413c37
413b7e:	56                   	push   %esi
413b7f:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
413b85:	51                   	push   %ecx
413b86:	50                   	push   %eax
413b87:	e8 48 07 00 00       	call   0x4142d4
413b8c:	8b 55 24             	mov    0x24(%ebp),%edx
413b8f:	83 c4 18             	add    $0x18,%esp
413b92:	85 d2                	test   %edx,%edx
413b94:	74 0a                	je     0x413ba0
413b96:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
413b99:	0b 4d 20             	or     0x20(%ebp),%ecx
413b9c:	75 02                	jne    0x413ba0
413b9e:	88 0a                	mov    %cl,(%edx)
413ba0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413ba3:	33 cd                	xor    %ebp,%ecx
413ba5:	5e                   	pop    %esi
413ba6:	e8 fc 60 ff ff       	call   0x409ca7
413bab:	c9                   	leave
413bac:	c3                   	ret
413bad:	8b ff                	mov    %edi,%edi
413baf:	55                   	push   %ebp
413bb0:	8b ec                	mov    %esp,%ebp
413bb2:	81 ec 10 03 00 00    	sub    $0x310,%esp
413bb8:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
413bbd:	33 c5                	xor    %ebp,%eax
413bbf:	89 45 fc             	mov    %eax,-0x4(%ebp)
413bc2:	8b 45 08             	mov    0x8(%ebp),%eax
413bc5:	56                   	push   %esi
413bc6:	8b 75 2c             	mov    0x2c(%ebp),%esi
413bc9:	85 f6                	test   %esi,%esi
413bcb:	74 04                	je     0x413bd1
413bcd:	85 c0                	test   %eax,%eax
413bcf:	75 26                	jne    0x413bf7
413bd1:	e8 9b 8a 00 00       	call   0x41c671
413bd6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413bdc:	e8 0d 98 ff ff       	call   0x40d3ee
413be1:	8b 4d 24             	mov    0x24(%ebp),%ecx
413be4:	85 c9                	test   %ecx,%ecx
413be6:	74 0a                	je     0x413bf2
413be8:	8b 45 1c             	mov    0x1c(%ebp),%eax
413beb:	0b 45 20             	or     0x20(%ebp),%eax
413bee:	75 02                	jne    0x413bf2
413bf0:	88 01                	mov    %al,(%ecx)
413bf2:	33 c0                	xor    %eax,%eax
413bf4:	40                   	inc    %eax
413bf5:	eb 33                	jmp    0x413c2a
413bf7:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
413bfd:	51                   	push   %ecx
413bfe:	8d 4d 0c             	lea    0xc(%ebp),%ecx
413c01:	51                   	push   %ecx
413c02:	50                   	push   %eax
413c03:	e8 2f 00 00 00       	call   0x413c37
413c08:	56                   	push   %esi
413c09:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
413c0f:	51                   	push   %ecx
413c10:	50                   	push   %eax
413c11:	e8 2a 08 00 00       	call   0x414440
413c16:	8b 55 24             	mov    0x24(%ebp),%edx
413c19:	83 c4 18             	add    $0x18,%esp
413c1c:	85 d2                	test   %edx,%edx
413c1e:	74 0a                	je     0x413c2a
413c20:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
413c23:	0b 4d 20             	or     0x20(%ebp),%ecx
413c26:	75 02                	jne    0x413c2a
413c28:	88 0a                	mov    %cl,(%edx)
413c2a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413c2d:	33 cd                	xor    %ebp,%ecx
413c2f:	5e                   	pop    %esi
413c30:	e8 72 60 ff ff       	call   0x409ca7
413c35:	c9                   	leave
413c36:	c3                   	ret
413c37:	8b ff                	mov    %edi,%edi
413c39:	55                   	push   %ebp
413c3a:	8b ec                	mov    %esp,%ebp
413c3c:	83 ec 28             	sub    $0x28,%esp
413c3f:	53                   	push   %ebx
413c40:	56                   	push   %esi
413c41:	8b 75 0c             	mov    0xc(%ebp),%esi
413c44:	8b ce                	mov    %esi,%ecx
413c46:	57                   	push   %edi
413c47:	e8 80 46 00 00       	call   0x4182cc
413c4c:	84 c0                	test   %al,%al
413c4e:	0f 84 4a 02 00 00    	je     0x413e9e
413c54:	8b 4e 14             	mov    0x14(%esi),%ecx
413c57:	8b 46 10             	mov    0x10(%esi),%eax
413c5a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
413c5d:	8b ce                	mov    %esi,%ecx
413c5f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
413c62:	e8 54 3c 00 00       	call   0x4178bb