415782:	85 db                	test   %ebx,%ebx
415784:	78 41                	js     0x4157c7
415786:	6a 3c                	push   $0x3c
415788:	8d 45 ac             	lea    -0x54(%ebp),%eax
41578b:	56                   	push   %esi
41578c:	50                   	push   %eax
41578d:	e8 8f 6e 00 00       	call   0x41c621
415792:	8b 45 0c             	mov    0xc(%ebp),%eax
415795:	83 c4 0c             	add    $0xc,%esp
415798:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41579b:	8b 45 14             	mov    0x14(%ebp),%eax
41579e:	89 45 c0             	mov    %eax,-0x40(%ebp)
4157a1:	8d 45 ac             	lea    -0x54(%ebp),%eax
4157a4:	50                   	push   %eax
4157a5:	56                   	push   %esi
4157a6:	68 4b 10 00 00       	push   $0x104b
4157ab:	ff 77 20             	push   0x20(%edi)
4157ae:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
4157b5:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4157b8:	c7 45 c4 04 01 00 00 	movl   $0x104,-0x3c(%ebp)
4157bf:	ff 15 40 34 42 00    	call   *0x423440
4157c5:	8b f0                	mov    %eax,%esi
4157c7:	5f                   	pop    %edi
4157c8:	8b c6                	mov    %esi,%eax
4157ca:	5e                   	pop    %esi
4157cb:	5b                   	pop    %ebx
4157cc:	c9                   	leave
4157cd:	c2 14 00             	ret    $0x14
4157d0:	6a 4c                	push   $0x4c
4157d2:	b8 f5 cc 41 00       	mov    $0x41ccf5,%eax
4157d7:	e8 8f 6c 00 00       	call   0x41c46b
4157dc:	8b f9                	mov    %ecx,%edi
4157de:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4157e1:	ff 15 40 32 42 00    	call   *0x423240
4157e7:	33 f6                	xor    %esi,%esi
4157e9:	89 75 fc             	mov    %esi,-0x4(%ebp)
4157ec:	8d 45 e0             	lea    -0x20(%ebp),%eax
4157ef:	50                   	push   %eax
4157f0:	ff b7 fc 01 00 00    	push   0x1fc(%edi)
4157f6:	ff 15 3c 34 42 00    	call   *0x42343c
4157fc:	6a 2c                	push   $0x2c
4157fe:	8d 45 a8             	lea    -0x58(%ebp),%eax
415801:	56                   	push   %esi
415802:	50                   	push   %eax
415803:	e8 19 6e 00 00       	call   0x41c621
415808:	83 c4 0c             	add    $0xc,%esp
41580b:	c7 45 a8 0f 00 00 00 	movl   $0xf,-0x58(%ebp)
415812:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415815:	89 75 ac             	mov    %esi,-0x54(%ebp)
415818:	68 01 01 00 00       	push   $0x101
41581d:	ff 15 74 33 42 00    	call   *0x423374
415823:	8b 45 e8             	mov    -0x18(%ebp),%eax
415826:	2b 45 e0             	sub    -0x20(%ebp),%eax
415829:	89 45 d8             	mov    %eax,-0x28(%ebp)
41582c:	db 45 d8             	fildl  -0x28(%ebp)
41582f:	89 75 bc             	mov    %esi,-0x44(%ebp)
415832:	dd 5d d4             	fstpl  -0x2c(%ebp)
415835:	dd 45 d4             	fldl   -0x2c(%ebp)
415838:	dc 0d 70 62 40 00    	fmull  0x406270
41583e:	e8 cc 6d 00 00       	call   0x41c60f
415843:	89 45 b0             	mov    %eax,-0x50(%ebp)
415846:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415849:	8b 45 dc             	mov    -0x24(%ebp),%eax
41584c:	8b 40 f8             	mov    -0x8(%eax),%eax
41584f:	40                   	inc    %eax
415850:	50                   	push   %eax
415851:	ff 15 78 33 42 00    	call   *0x423378
415857:	8b 8f fc 01 00 00    	mov    0x1fc(%edi),%ecx
41585d:	85 c0                	test   %eax,%eax
41585f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
415862:	8d 45 a8             	lea    -0x58(%ebp),%eax
415865:	50                   	push   %eax
415866:	56                   	push   %esi
415867:	be 61 10 00 00       	mov    $0x1061,%esi
41586c:	56                   	push   %esi
41586d:	51                   	push   %ecx
41586e:	74 13                	je     0x415883
415870:	ff 15 40 34 42 00    	call   *0x423440
415876:	6a ff                	push   $0xffffffff
415878:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41587b:	ff 15 7c 33 42 00    	call   *0x42337c
415881:	eb 0d                	jmp    0x415890
415883:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
41588a:	ff 15 40 34 42 00    	call   *0x423440
415890:	68 02 01 00 00       	push   $0x102
415895:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415898:	ff 15 74 33 42 00    	call   *0x423374
41589e:	8b 45 e8             	mov    -0x18(%ebp),%eax
4158a1:	33 db                	xor    %ebx,%ebx
4158a3:	2b 45 e0             	sub    -0x20(%ebp),%eax
4158a6:	43                   	inc    %ebx
4158a7:	89 45 d8             	mov    %eax,-0x28(%ebp)
4158aa:	db 45 d8             	fildl  -0x28(%ebp)
4158ad:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4158b0:	dd 5d d4             	fstpl  -0x2c(%ebp)
4158b3:	dd 45 d4             	fldl   -0x2c(%ebp)
4158b6:	dc 0d b0 62 40 00    	fmull  0x4062b0
4158bc:	e8 4e 6d 00 00       	call   0x41c60f
4158c1:	89 45 b0             	mov    %eax,-0x50(%ebp)
4158c4:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4158c7:	8b 45 dc             	mov    -0x24(%ebp),%eax
4158ca:	8b 40 f8             	mov    -0x8(%eax),%eax
4158cd:	40                   	inc    %eax
4158ce:	50                   	push   %eax
4158cf:	ff 15 78 33 42 00    	call   *0x423378
4158d5:	8b 8f fc 01 00 00    	mov    0x1fc(%edi),%ecx
4158db:	85 c0                	test   %eax,%eax
4158dd:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4158e0:	8d 45 a8             	lea    -0x58(%ebp),%eax
4158e3:	50                   	push   %eax
4158e4:	53                   	push   %ebx
4158e5:	56                   	push   %esi
4158e6:	51                   	push   %ecx
4158e7:	74 13                	je     0x4158fc
4158e9:	ff 15 40 34 42 00    	call   *0x423440
4158ef:	6a ff                	push   $0xffffffff
4158f1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4158f4:	ff 15 7c 33 42 00    	call   *0x42337c
4158fa:	eb 0d                	jmp    0x415909
4158fc:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
415903:	ff 15 40 34 42 00    	call   *0x423440
415909:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41590d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415910:	ff 15 44 32 42 00    	call   *0x423244
415916:	e8 ff 6a 00 00       	call   0x41c41a
41591b:	c3                   	ret
41591c:	a1 14 12 42 00       	mov    0x421214,%eax
415921:	53                   	push   %ebx
415922:	56                   	push   %esi
415923:	57                   	push   %edi
415924:	33 db                	xor    %ebx,%ebx
415926:	8b f9                	mov    %ecx,%edi
415928:	68 bc 02 00 00       	push   $0x2bc
41592d:	43                   	inc    %ebx
41592e:	23 c3                	and    %ebx,%eax
415930:	50                   	push   %eax
415931:	6a 00                	push   $0x0
415933:	e8 00 04 00 00       	call   0x415d38
415938:	a1 14 12 42 00       	mov    0x421214,%eax
41593d:	8b cf                	mov    %edi,%ecx
41593f:	d1 e8                	shr    $1,%eax
415941:	68 bd 02 00 00       	push   $0x2bd
415946:	23 c3                	and    %ebx,%eax
415948:	50                   	push   %eax
415949:	53                   	push   %ebx
41594a:	e8 e9 03 00 00       	call   0x415d38
41594f:	a1 14 12 42 00       	mov    0x421214,%eax
415954:	8b cf                	mov    %edi,%ecx
415956:	c1 e8 02             	shr    $0x2,%eax
415959:	68 be 02 00 00       	push   $0x2be
41595e:	23 c3                	and    %ebx,%eax
415960:	50                   	push   %eax
415961:	6a 02                	push   $0x2
415963:	e8 d0 03 00 00       	call   0x415d38
415968:	a1 14 12 42 00       	mov    0x421214,%eax
41596d:	8b cf                	mov    %edi,%ecx
41596f:	c1 e8 03             	shr    $0x3,%eax
415972:	68 bf 02 00 00       	push   $0x2bf
415977:	23 c3                	and    %ebx,%eax
415979:	50                   	push   %eax
41597a:	6a 03                	push   $0x3
41597c:	e8 b7 03 00 00       	call   0x415d38
415981:	a1 14 12 42 00       	mov    0x421214,%eax
415986:	8b cf                	mov    %edi,%ecx
415988:	c1 e8 04             	shr    $0x4,%eax
41598b:	68 c0 02 00 00       	push   $0x2c0
415990:	23 c3                	and    %ebx,%eax
415992:	50                   	push   %eax
415993:	6a 04                	push   $0x4
415995:	e8 9e 03 00 00       	call   0x415d38
41599a:	a1 14 12 42 00       	mov    0x421214,%eax
41599f:	8b cf                	mov    %edi,%ecx
4159a1:	c1 e8 05             	shr    $0x5,%eax
4159a4:	68 c1 02 00 00       	push   $0x2c1
4159a9:	23 c3                	and    %ebx,%eax
4159ab:	50                   	push   %eax
4159ac:	6a 05                	push   $0x5
4159ae:	e8 85 03 00 00       	call   0x415d38
4159b3:	a1 14 12 42 00       	mov    0x421214,%eax
4159b8:	8b cf                	mov    %edi,%ecx
4159ba:	c1 e8 07             	shr    $0x7,%eax
4159bd:	68 c3 02 00 00       	push   $0x2c3
4159c2:	23 c3                	and    %ebx,%eax
4159c4:	50                   	push   %eax
4159c5:	6a 06                	push   $0x6
4159c7:	e8 6c 03 00 00       	call   0x415d38
4159cc:	a1 14 12 42 00       	mov    0x421214,%eax
4159d1:	8b cf                	mov    %edi,%ecx
4159d3:	c1 e8 08             	shr    $0x8,%eax
4159d6:	68 c4 02 00 00       	push   $0x2c4
4159db:	23 c3                	and    %ebx,%eax
4159dd:	50                   	push   %eax
4159de:	6a 07                	push   $0x7
4159e0:	e8 53 03 00 00       	call   0x415d38
4159e5:	a1 14 12 42 00       	mov    0x421214,%eax
4159ea:	8b cf                	mov    %edi,%ecx
4159ec:	c1 e8 09             	shr    $0x9,%eax
4159ef:	68 c5 02 00 00       	push   $0x2c5
4159f4:	23 c3                	and    %ebx,%eax
4159f6:	50                   	push   %eax
4159f7:	6a 08                	push   $0x8
4159f9:	e8 3a 03 00 00       	call   0x415d38
4159fe:	a1 14 12 42 00       	mov    0x421214,%eax
415a03:	c1 e8 0a             	shr    $0xa,%eax
415a06:	68 c6 02 00 00       	push   $0x2c6
415a0b:	23 c3                	and    %ebx,%eax
415a0d:	50                   	push   %eax
415a0e:	6a 09                	push   $0x9
415a10:	8b cf                	mov    %edi,%ecx
415a12:	e8 21 03 00 00       	call   0x415d38
415a17:	a1 14 12 42 00       	mov    0x421214,%eax
415a1c:	8b cf                	mov    %edi,%ecx
415a1e:	c1 e8 0b             	shr    $0xb,%eax
415a21:	68 c7 02 00 00       	push   $0x2c7
415a26:	23 c3                	and    %ebx,%eax
415a28:	50                   	push   %eax
415a29:	6a 0a                	push   $0xa
415a2b:	e8 08 03 00 00       	call   0x415d38
415a30:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
415a37:	6a 0b                	push   $0xb
415a39:	5e                   	pop    %esi
415a3a:	74 1b                	je     0x415a57
415a3c:	a1 14 12 42 00       	mov    0x421214,%eax
415a41:	8b cf                	mov    %edi,%ecx
415a43:	c1 e8 0c             	shr    $0xc,%eax
415a46:	68 c8 02 00 00       	push   $0x2c8
415a4b:	23 c3                	and    %ebx,%eax
415a4d:	50                   	push   %eax
415a4e:	56                   	push   %esi
415a4f:	e8 e4 02 00 00       	call   0x415d38
415a54:	6a 0c                	push   $0xc
415a56:	5e                   	pop    %esi
415a57:	a1 14 12 42 00       	mov    0x421214,%eax
415a5c:	8b cf                	mov    %edi,%ecx
415a5e:	c1 e8 0d             	shr    $0xd,%eax
415a61:	68 c9 02 00 00       	push   $0x2c9
415a66:	23 c3                	and    %ebx,%eax
415a68:	50                   	push   %eax
415a69:	56                   	push   %esi
415a6a:	e8 c9 02 00 00       	call   0x415d38
415a6f:	a1 14 12 42 00       	mov    0x421214,%eax
415a74:	46                   	inc    %esi
415a75:	c1 e8 0e             	shr    $0xe,%eax
415a78:	8b cf                	mov    %edi,%ecx
415a7a:	68 ca 02 00 00       	push   $0x2ca
415a7f:	23 c3                	and    %ebx,%eax
415a81:	50                   	push   %eax
415a82:	56                   	push   %esi
415a83:	e8 b0 02 00 00       	call   0x415d38
415a88:	a1 14 12 42 00       	mov    0x421214,%eax
415a8d:	46                   	inc    %esi
415a8e:	c1 e8 0f             	shr    $0xf,%eax
415a91:	8b cf                	mov    %edi,%ecx
415a93:	68 cb 02 00 00       	push   $0x2cb
415a98:	23 c3                	and    %ebx,%eax
415a9a:	50                   	push   %eax
415a9b:	56                   	push   %esi
415a9c:	e8 97 02 00 00       	call   0x415d38
415aa1:	0f b7 05 16 12 42 00 	movzwl 0x421216,%eax
415aa8:	46                   	inc    %esi
415aa9:	68 cc 02 00 00       	push   $0x2cc
415aae:	23 c3                	and    %ebx,%eax
415ab0:	8b cf                	mov    %edi,%ecx
415ab2:	50                   	push   %eax
415ab3:	56                   	push   %esi
415ab4:	e8 7f 02 00 00       	call   0x415d38
415ab9:	a1 14 12 42 00       	mov    0x421214,%eax
415abe:	46                   	inc    %esi
415abf:	c1 e8 11             	shr    $0x11,%eax
415ac2:	8b cf                	mov    %edi,%ecx
415ac4:	68 cd 02 00 00       	push   $0x2cd
415ac9:	23 c3                	and    %ebx,%eax
415acb:	50                   	push   %eax
415acc:	56                   	push   %esi
415acd:	e8 66 02 00 00       	call   0x415d38
415ad2:	a1 14 12 42 00       	mov    0x421214,%eax
415ad7:	46                   	inc    %esi
415ad8:	c1 e8 12             	shr    $0x12,%eax
415adb:	8b cf                	mov    %edi,%ecx
415add:	68 ce 02 00 00       	push   $0x2ce
415ae2:	23 c3                	and    %ebx,%eax
415ae4:	50                   	push   %eax
415ae5:	56                   	push   %esi
415ae6:	e8 4d 02 00 00       	call   0x415d38
415aeb:	a1 14 12 42 00       	mov    0x421214,%eax
415af0:	46                   	inc    %esi
415af1:	c1 e8 13             	shr    $0x13,%eax
415af4:	8b cf                	mov    %edi,%ecx
415af6:	68 cf 02 00 00       	push   $0x2cf
415afb:	23 c3                	and    %ebx,%eax
415afd:	50                   	push   %eax
415afe:	56                   	push   %esi
415aff:	e8 34 02 00 00       	call   0x415d38
415b04:	46                   	inc    %esi
415b05:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
415b0c:	74 19                	je     0x415b27
415b0e:	a1 14 12 42 00       	mov    0x421214,%eax
415b13:	8b cf                	mov    %edi,%ecx
415b15:	c1 e8 14             	shr    $0x14,%eax
415b18:	68 d0 02 00 00       	push   $0x2d0
415b1d:	23 c3                	and    %ebx,%eax
415b1f:	50                   	push   %eax
415b20:	56                   	push   %esi
415b21:	e8 12 02 00 00       	call   0x415d38
415b26:	46                   	inc    %esi
415b27:	a1 14 12 42 00       	mov    0x421214,%eax
415b2c:	8b cf                	mov    %edi,%ecx
415b2e:	c1 e8 15             	shr    $0x15,%eax
415b31:	68 d1 02 00 00       	push   $0x2d1
415b36:	23 c3                	and    %ebx,%eax
415b38:	50                   	push   %eax
415b39:	56                   	push   %esi
415b3a:	e8 f9 01 00 00       	call   0x415d38
415b3f:	46                   	inc    %esi
415b40:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
415b47:	74 19                	je     0x415b62
415b49:	a1 14 12 42 00       	mov    0x421214,%eax
415b4e:	8b cf                	mov    %edi,%ecx
415b50:	c1 e8 16             	shr    $0x16,%eax
415b53:	68 d2 02 00 00       	push   $0x2d2
415b58:	23 c3                	and    %ebx,%eax
415b5a:	50                   	push   %eax
415b5b:	56                   	push   %esi
415b5c:	e8 d7 01 00 00       	call   0x415d38
415b61:	46                   	inc    %esi
415b62:	a1 14 12 42 00       	mov    0x421214,%eax
415b67:	8b cf                	mov    %edi,%ecx
415b69:	c1 e8 17             	shr    $0x17,%eax
415b6c:	68 d3 02 00 00       	push   $0x2d3
415b71:	23 c3                	and    %ebx,%eax
415b73:	50                   	push   %eax
415b74:	56                   	push   %esi
415b75:	e8 be 01 00 00       	call   0x415d38
415b7a:	0f b6 05 17 12 42 00 	movzbl 0x421217,%eax
415b81:	46                   	inc    %esi
415b82:	68 d4 02 00 00       	push   $0x2d4
415b87:	23 c3                	and    %ebx,%eax
415b89:	8b cf                	mov    %edi,%ecx
415b8b:	50                   	push   %eax
415b8c:	56                   	push   %esi
415b8d:	e8 a6 01 00 00       	call   0x415d38
415b92:	a1 14 12 42 00       	mov    0x421214,%eax
415b97:	8b cf                	mov    %edi,%ecx
415b99:	c1 e8 19             	shr    $0x19,%eax
415b9c:	68 d5 02 00 00       	push   $0x2d5
415ba1:	23 c3                	and    %ebx,%eax
415ba3:	50                   	push   %eax
415ba4:	8d 46 01             	lea    0x1(%esi),%eax
415ba7:	50                   	push   %eax
415ba8:	e8 8b 01 00 00       	call   0x415d38