40d61a:	c2 2c 00             	ret    $0x2c
40d61d:	e8 3e 3d ff ff       	call   0x401360
40d622:	e8 6c 23 01 00       	call   0x41f993
40d627:	e8 67 23 01 00       	call   0x41f993
40d62c:	e8 62 23 01 00       	call   0x41f993
40d631:	0f 1f 00             	nopl   (%eax)
40d634:	56                   	push   %esi
40d635:	cb                   	lret
40d636:	40                   	inc    %eax
40d637:	00 4d cb             	add    %cl,-0x35(%ebp)
40d63a:	40                   	inc    %eax
40d63b:	00 44 cb 40          	add    %al,0x40(%ebx,%ecx,8)
40d63f:	00 01                	add    %al,(%ecx)
40d641:	cb                   	lret
40d642:	40                   	inc    %eax
40d643:	00 3b                	add    %bh,(%ebx)
40d645:	cb                   	lret
40d646:	40                   	inc    %eax
40d647:	00 32                	add    %dh,(%edx)
40d649:	cb                   	lret
40d64a:	40                   	inc    %eax
40d64b:	00 5f cb             	add    %bl,-0x35(%edi)
40d64e:	40                   	inc    %eax
40d64f:	00 68 cb             	add    %ch,-0x35(%eax)
40d652:	40                   	inc    %eax
40d653:	00 00                	add    %al,(%eax)
40d655:	07                   	pop    %es
40d656:	07                   	pop    %es
40d657:	07                   	pop    %es
40d658:	07                   	pop    %es
40d659:	07                   	pop    %es
40d65a:	07                   	pop    %es
40d65b:	07                   	pop    %es
40d65c:	07                   	pop    %es
40d65d:	07                   	pop    %es
40d65e:	01 07                	add    %eax,(%edi)
40d660:	07                   	pop    %es
40d661:	07                   	pop    %es
40d662:	07                   	pop    %es
40d663:	07                   	pop    %es
40d664:	07                   	pop    %es
40d665:	07                   	pop    %es
40d666:	07                   	pop    %es
40d667:	07                   	pop    %es
40d668:	02 07                	add    (%edi),%al
40d66a:	07                   	pop    %es
40d66b:	07                   	pop    %es
40d66c:	07                   	pop    %es
40d66d:	07                   	pop    %es
40d66e:	07                   	pop    %es
40d66f:	07                   	pop    %es
40d670:	07                   	pop    %es
40d671:	07                   	pop    %es
40d672:	03 07                	add    (%edi),%eax
40d674:	07                   	pop    %es
40d675:	07                   	pop    %es
40d676:	07                   	pop    %es
40d677:	07                   	pop    %es
40d678:	07                   	pop    %es
40d679:	07                   	pop    %es
40d67a:	07                   	pop    %es
40d67b:	07                   	pop    %es
40d67c:	04 07                	add    $0x7,%al
40d67e:	07                   	pop    %es
40d67f:	07                   	pop    %es
40d680:	07                   	pop    %es
40d681:	07                   	pop    %es
40d682:	07                   	pop    %es
40d683:	07                   	pop    %es
40d684:	07                   	pop    %es
40d685:	07                   	pop    %es
40d686:	05 07 07 07 07       	add    $0x7070707,%eax
40d68b:	07                   	pop    %es
40d68c:	07                   	pop    %es
40d68d:	07                   	pop    %es
40d68e:	07                   	pop    %es
40d68f:	07                   	pop    %es
40d690:	06                   	push   %es
40d691:	cc                   	int3
40d692:	cc                   	int3
40d693:	cc                   	int3
40d694:	cc                   	int3
40d695:	cc                   	int3
40d696:	cc                   	int3
40d697:	cc                   	int3
40d698:	cc                   	int3
40d699:	cc                   	int3
40d69a:	cc                   	int3
40d69b:	cc                   	int3
40d69c:	cc                   	int3
40d69d:	cc                   	int3
40d69e:	cc                   	int3
40d69f:	cc                   	int3
40d6a0:	55                   	push   %ebp
40d6a1:	8b ec                	mov    %esp,%ebp
40d6a3:	6a ff                	push   $0xffffffff
40d6a5:	68 fb c4 43 00       	push   $0x43c4fb
40d6aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d6b0:	50                   	push   %eax
40d6b1:	b8 5c 20 00 00       	mov    $0x205c,%eax
40d6b6:	e8 b5 d2 00 00       	call   0x41a970
40d6bb:	a1 14 50 45 00       	mov    0x455014,%eax
40d6c0:	33 c5                	xor    %ebp,%eax
40d6c2:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d6c5:	53                   	push   %ebx
40d6c6:	56                   	push   %esi
40d6c7:	57                   	push   %edi
40d6c8:	50                   	push   %eax
40d6c9:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d6cc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d6d2:	8b f9                	mov    %ecx,%edi
40d6d4:	8b 45 14             	mov    0x14(%ebp),%eax
40d6d7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d6da:	8b 55 10             	mov    0x10(%ebp),%edx
40d6dd:	8b 75 28             	mov    0x28(%ebp),%esi
40d6e0:	89 85 ac df ff ff    	mov    %eax,-0x2054(%ebp)
40d6e6:	8b 45 18             	mov    0x18(%ebp),%eax
40d6e9:	89 85 b0 df ff ff    	mov    %eax,-0x2050(%ebp)
40d6ef:	8b 45 1c             	mov    0x1c(%ebp),%eax
40d6f2:	89 85 a0 df ff ff    	mov    %eax,-0x2060(%ebp)
40d6f8:	8b 45 20             	mov    0x20(%ebp),%eax
40d6fb:	89 85 a4 df ff ff    	mov    %eax,-0x205c(%ebp)
40d701:	8b 45 24             	mov    0x24(%ebp),%eax
40d704:	89 85 b4 df ff ff    	mov    %eax,-0x204c(%ebp)
40d70a:	8b 45 08             	mov    0x8(%ebp),%eax
40d70d:	89 8d b8 df ff ff    	mov    %ecx,-0x2048(%ebp)
40d713:	89 95 bc df ff ff    	mov    %edx,-0x2044(%ebp)
40d719:	89 b5 a8 df ff ff    	mov    %esi,-0x2058(%ebp)
40d71f:	39 47 64             	cmp    %eax,0x64(%edi)
40d722:	0f 8f 99 02 00 00    	jg     0x40d9c1
40d728:	8a 5d 34             	mov    0x34(%ebp),%bl
40d72b:	84 db                	test   %bl,%bl
40d72d:	0f 84 98 00 00 00    	je     0x40d7cb
40d733:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40d739:	85 c0                	test   %eax,%eax
40d73b:	74 76                	je     0x40d7b3
40d73d:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40d744:	74 6d                	je     0x40d7b3
40d746:	8b 00                	mov    (%eax),%eax
40d748:	85 c0                	test   %eax,%eax
40d74a:	74 67                	je     0x40d7b3
40d74c:	68 d0 07 00 00       	push   $0x7d0
40d751:	50                   	push   %eax
40d752:	ff 15 2c e1 43 00    	call   *0x43e12c
40d758:	85 c0                	test   %eax,%eax
40d75a:	74 07                	je     0x40d763
40d75c:	3d 80 00 00 00       	cmp    $0x80,%eax
40d761:	75 50                	jne    0x40d7b3
40d763:	8b 8f f8 00 00 00    	mov    0xf8(%edi),%ecx
40d769:	2b 8f f0 00 00 00    	sub    0xf0(%edi),%ecx
40d76f:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
40d775:	1b 87 f4 00 00 00    	sbb    0xf4(%edi),%eax
40d77b:	78 42                	js     0x40d7bf
40d77d:	7f 08                	jg     0x40d787
40d77f:	81 f9 84 03 00 00    	cmp    $0x384,%ecx
40d785:	72 38                	jb     0x40d7bf
40d787:	51                   	push   %ecx
40d788:	8b cf                	mov    %edi,%ecx
40d78a:	e8 31 84 00 00       	call   0x415bc0
40d78f:	8b 95 bc df ff ff    	mov    -0x2044(%ebp),%edx
40d795:	84 c0                	test   %al,%al
40d797:	74 2c                	je     0x40d7c5
40d799:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
40d79f:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
40d7a5:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
40d7ab:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
40d7b1:	eb 12                	jmp    0x40d7c5
40d7b3:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
40d7ba:	e9 02 02 00 00       	jmp    0x40d9c1
40d7bf:	8b 95 bc df ff ff    	mov    -0x2044(%ebp),%edx
40d7c5:	8b 8d b8 df ff ff    	mov    -0x2048(%ebp),%ecx
40d7cb:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
40d7d2:	74 2b                	je     0x40d7ff
40d7d4:	8b 37                	mov    (%edi),%esi
40d7d6:	6a 00                	push   $0x0
40d7d8:	6a 00                	push   $0x0
40d7da:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
40d7e0:	8b 76 18             	mov    0x18(%esi),%esi
40d7e3:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
40d7e9:	52                   	push   %edx
40d7ea:	51                   	push   %ecx
40d7eb:	6a 1e                	push   $0x1e
40d7ed:	8b ce                	mov    %esi,%ecx
40d7ef:	ff 15 5c e2 43 00    	call   *0x43e25c
40d7f5:	8b cf                	mov    %edi,%ecx
40d7f7:	ff d6                	call   *%esi
40d7f9:	8b b5 a8 df ff ff    	mov    -0x2058(%ebp),%esi
40d7ff:	33 c0                	xor    %eax,%eax
40d801:	c7 85 d8 df ff ff 00 	movl   $0x0,-0x2028(%ebp)
40d808:	00 00 00
40d80b:	c7 85 e8 df ff ff 00 	movl   $0x0,-0x2018(%ebp)
40d812:	00 00 00
40d815:	c7 85 ec df ff ff 07 	movl   $0x7,-0x2014(%ebp)
40d81c:	00 00 00
40d81f:	66 89 85 d8 df ff ff 	mov    %ax,-0x2028(%ebp)
40d826:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d829:	85 f6                	test   %esi,%esi
40d82b:	75 08                	jne    0x40d835
40d82d:	8b 85 b4 df ff ff    	mov    -0x204c(%ebp),%eax
40d833:	eb 2f                	jmp    0x40d864
40d835:	56                   	push   %esi
40d836:	6a 00                	push   $0x0
40d838:	ff b5 b4 df ff ff    	push   -0x204c(%ebp)
40d83e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
40d844:	6a ff                	push   $0xffffffff
40d846:	68 ff 0f 00 00       	push   $0xfff
40d84b:	50                   	push   %eax
40d84c:	e8 8f 6e ff ff       	call   0x4046e0
40d851:	ff 70 04             	push   0x4(%eax)
40d854:	ff 30                	push   (%eax)
40d856:	e8 f3 5c 01 00       	call   0x42354e
40d85b:	83 c4 20             	add    $0x20,%esp
40d85e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
40d864:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d86a:	51                   	push   %ecx
40d86b:	50                   	push   %eax
40d86c:	ff b5 a4 df ff ff    	push   -0x205c(%ebp)
40d872:	8b cf                	mov    %edi,%ecx
40d874:	ff b5 a0 df ff ff    	push   -0x2060(%ebp)
40d87a:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
40d880:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
40d886:	ff b5 bc df ff ff    	push   -0x2044(%ebp)
40d88c:	ff b5 b8 df ff ff    	push   -0x2048(%ebp)
40d892:	ff 75 08             	push   0x8(%ebp)
40d895:	ff 75 30             	push   0x30(%ebp)
40d898:	ff 75 2c             	push   0x2c(%ebp)
40d89b:	e8 60 f1 ff ff       	call   0x40ca00
40d8a0:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
40d8a7:	0f 85 9c 00 00 00    	jne    0x40d949
40d8ad:	c7 85 c0 df ff ff 00 	movl   $0x0,-0x2040(%ebp)
40d8b4:	00 00 00
40d8b7:	c7 85 d0 df ff ff 00 	movl   $0x0,-0x2030(%ebp)
40d8be:	00 00 00
40d8c1:	c7 85 d4 df ff ff 0f 	movl   $0xf,-0x202c(%ebp)
40d8c8:	00 00 00
40d8cb:	c6 85 c0 df ff ff 00 	movb   $0x0,-0x2040(%ebp)
40d8d2:	8d 95 c0 df ff ff    	lea    -0x2040(%ebp),%edx
40d8d8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d8dc:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d8e2:	e8 89 7a 00 00       	call   0x415370
40d8e7:	8b 07                	mov    (%edi),%eax
40d8e9:	8d 8d c0 df ff ff    	lea    -0x2040(%ebp),%ecx
40d8ef:	83 bd d4 df ff ff 10 	cmpl   $0x10,-0x202c(%ebp)
40d8f6:	0f 43 8d c0 df ff ff 	cmovae -0x2040(%ebp),%ecx
40d8fd:	8b 70 1c             	mov    0x1c(%eax),%esi
40d900:	51                   	push   %ecx
40d901:	8b ce                	mov    %esi,%ecx
40d903:	ff 15 5c e2 43 00    	call   *0x43e25c
40d909:	8b cf                	mov    %edi,%ecx
40d90b:	ff d6                	call   *%esi
40d90d:	8b 8d d4 df ff ff    	mov    -0x202c(%ebp),%ecx
40d913:	83 f9 10             	cmp    $0x10,%ecx
40d916:	72 57                	jb     0x40d96f
40d918:	8b 95 c0 df ff ff    	mov    -0x2040(%ebp),%edx
40d91e:	41                   	inc    %ecx
40d91f:	8b c2                	mov    %edx,%eax
40d921:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d927:	72 14                	jb     0x40d93d
40d929:	8b 50 fc             	mov    -0x4(%eax),%edx
40d92c:	83 c1 23             	add    $0x23,%ecx
40d92f:	2b c2                	sub    %edx,%eax
40d931:	83 c0 fc             	add    $0xfffffffc,%eax
40d934:	83 f8 1f             	cmp    $0x1f,%eax
40d937:	0f 87 a4 00 00 00    	ja     0x40d9e1
40d93d:	51                   	push   %ecx
40d93e:	52                   	push   %edx
40d93f:	e8 74 c2 00 00       	call   0x419bb8
40d944:	83 c4 08             	add    $0x8,%esp
40d947:	eb 26                	jmp    0x40d96f
40d949:	8b 07                	mov    (%edi),%eax
40d94b:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d951:	83 bd ec df ff ff 08 	cmpl   $0x8,-0x2014(%ebp)
40d958:	0f 43 8d d8 df ff ff 	cmovae -0x2028(%ebp),%ecx
40d95f:	8b 70 20             	mov    0x20(%eax),%esi
40d962:	51                   	push   %ecx
40d963:	8b ce                	mov    %esi,%ecx
40d965:	ff 15 5c e2 43 00    	call   *0x43e25c
40d96b:	8b cf                	mov    %edi,%ecx
40d96d:	ff d6                	call   *%esi
40d96f:	84 db                	test   %bl,%bl
40d971:	74 12                	je     0x40d985
40d973:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40d979:	85 c0                	test   %eax,%eax
40d97b:	74 08                	je     0x40d985
40d97d:	ff 30                	push   (%eax)
40d97f:	ff 15 30 e1 43 00    	call   *0x43e130
40d985:	8b 8d ec df ff ff    	mov    -0x2014(%ebp),%ecx
40d98b:	83 f9 08             	cmp    $0x8,%ecx
40d98e:	72 31                	jb     0x40d9c1
40d990:	8b 95 d8 df ff ff    	mov    -0x2028(%ebp),%edx
40d996:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40d99d:	8b c2                	mov    %edx,%eax
40d99f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d9a5:	72 10                	jb     0x40d9b7
40d9a7:	8b 50 fc             	mov    -0x4(%eax),%edx
40d9aa:	83 c1 23             	add    $0x23,%ecx
40d9ad:	2b c2                	sub    %edx,%eax
40d9af:	83 c0 fc             	add    $0xfffffffc,%eax
40d9b2:	83 f8 1f             	cmp    $0x1f,%eax
40d9b5:	77 2f                	ja     0x40d9e6
40d9b7:	51                   	push   %ecx
40d9b8:	52                   	push   %edx
40d9b9:	e8 fa c1 00 00       	call   0x419bb8
40d9be:	83 c4 08             	add    $0x8,%esp
40d9c1:	b0 01                	mov    $0x1,%al
40d9c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d9c6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d9cd:	59                   	pop    %ecx
40d9ce:	5f                   	pop    %edi
40d9cf:	5e                   	pop    %esi
40d9d0:	5b                   	pop    %ebx
40d9d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d9d4:	33 cd                	xor    %ebp,%ecx
40d9d6:	e8 cf c1 00 00       	call   0x419baa
40d9db:	8b e5                	mov    %ebp,%esp
40d9dd:	5d                   	pop    %ebp
40d9de:	c2 30 00             	ret    $0x30
40d9e1:	e8 ad 1f 01 00       	call   0x41f993
40d9e6:	e8 a8 1f 01 00       	call   0x41f993
40d9eb:	cc                   	int3
40d9ec:	cc                   	int3
40d9ed:	cc                   	int3
40d9ee:	cc                   	int3
40d9ef:	cc                   	int3
40d9f0:	55                   	push   %ebp
40d9f1:	8b ec                	mov    %esp,%ebp
40d9f3:	6a ff                	push   $0xffffffff
40d9f5:	68 11 c6 43 00       	push   $0x43c611
40d9fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40da00:	50                   	push   %eax
40da01:	81 ec ec 05 00 00    	sub    $0x5ec,%esp
40da07:	a1 14 50 45 00       	mov    0x455014,%eax
40da0c:	33 c5                	xor    %ebp,%eax
40da0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40da11:	56                   	push   %esi
40da12:	57                   	push   %edi
40da13:	50                   	push   %eax
40da14:	8d 45 f4             	lea    -0xc(%ebp),%eax
40da17:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40da1d:	8b f1                	mov    %ecx,%esi
40da1f:	33 ff                	xor    %edi,%edi
40da21:	0f 57 c0             	xorps  %xmm0,%xmm0
40da24:	66 0f 13 85 98 fd ff 	movlpd %xmm0,-0x268(%ebp)
40da2b:	ff
40da2c:	6a 2c                	push   $0x2c
40da2e:	89 bd 38 fa ff ff    	mov    %edi,-0x5c8(%ebp)
40da34:	89 bd 98 fd ff ff    	mov    %edi,-0x268(%ebp)
40da3a:	89 bd 9c fd ff ff    	mov    %edi,-0x264(%ebp)
40da40:	e8 81 c1 00 00       	call   0x419bc6
40da45:	83 c4 04             	add    $0x4,%esp