40f582:	89 85 b8 ef ff ff    	mov    %eax,-0x1048(%ebp)
40f588:	c7 85 bc ef ff ff 07 	movl   $0x7,-0x1044(%ebp)
40f58f:	00 00 00
40f592:	66 89 85 a8 ef ff ff 	mov    %ax,-0x1058(%ebp)
40f599:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f59d:	85 db                	test   %ebx,%ebx
40f59f:	0f 84 86 00 00 00    	je     0x40f62b
40f5a5:	8b cb                	mov    %ebx,%ecx
40f5a7:	89 85 d8 ef ff ff    	mov    %eax,-0x1028(%ebp)
40f5ad:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
40f5b3:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
40f5b9:	8d 51 01             	lea    0x1(%ecx),%edx
40f5bc:	0f 1f 40 00          	nopl   0x0(%eax)
40f5c0:	8a 01                	mov    (%ecx),%al
40f5c2:	41                   	inc    %ecx
40f5c3:	84 c0                	test   %al,%al
40f5c5:	75 f9                	jne    0x40f5c0
40f5c7:	2b ca                	sub    %edx,%ecx
40f5c9:	51                   	push   %ecx
40f5ca:	53                   	push   %ebx
40f5cb:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f5d1:	e8 ba 70 ff ff       	call   0x406690
40f5d6:	8d 95 78 ef ff ff    	lea    -0x1088(%ebp),%edx
40f5dc:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40f5e0:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f5e6:	e8 25 5e 00 00       	call   0x415410
40f5eb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f5ef:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f5f5:	83 f9 10             	cmp    $0x10,%ecx
40f5f8:	72 43                	jb     0x40f63d
40f5fa:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f600:	41                   	inc    %ecx
40f601:	8b c2                	mov    %edx,%eax
40f603:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f609:	72 14                	jb     0x40f61f
40f60b:	8b 50 fc             	mov    -0x4(%eax),%edx
40f60e:	83 c1 23             	add    $0x23,%ecx
40f611:	2b c2                	sub    %edx,%eax
40f613:	83 c0 fc             	add    $0xfffffffc,%eax
40f616:	83 f8 1f             	cmp    $0x1f,%eax
40f619:	0f 87 3d 04 00 00    	ja     0x40fa5c
40f61f:	51                   	push   %ecx
40f620:	52                   	push   %edx
40f621:	e8 92 a5 00 00       	call   0x419bb8
40f626:	83 c4 08             	add    $0x8,%esp
40f629:	eb 12                	jmp    0x40f63d
40f62b:	6a 00                	push   $0x0
40f62d:	68 54 9f 44 00       	push   $0x449f54
40f632:	8d 8d 78 ef ff ff    	lea    -0x1088(%ebp),%ecx
40f638:	e8 b3 38 ff ff       	call   0x402ef0
40f63d:	85 f6                	test   %esi,%esi
40f63f:	0f 84 8e 00 00 00    	je     0x40f6d3
40f645:	8b ce                	mov    %esi,%ecx
40f647:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40f64e:	00 00 00
40f651:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
40f658:	00 00 00
40f65b:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
40f662:	00 00 00
40f665:	8d 51 01             	lea    0x1(%ecx),%edx
40f668:	8a 01                	mov    (%ecx),%al
40f66a:	41                   	inc    %ecx
40f66b:	84 c0                	test   %al,%al
40f66d:	75 f9                	jne    0x40f668
40f66f:	2b ca                	sub    %edx,%ecx
40f671:	51                   	push   %ecx
40f672:	56                   	push   %esi
40f673:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f679:	e8 12 70 ff ff       	call   0x406690
40f67e:	8d 95 90 ef ff ff    	lea    -0x1070(%ebp),%edx
40f684:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40f688:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f68e:	e8 7d 5d 00 00       	call   0x415410
40f693:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f697:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f69d:	83 f9 10             	cmp    $0x10,%ecx
40f6a0:	72 43                	jb     0x40f6e5
40f6a2:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f6a8:	41                   	inc    %ecx
40f6a9:	8b c2                	mov    %edx,%eax
40f6ab:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f6b1:	72 14                	jb     0x40f6c7
40f6b3:	8b 50 fc             	mov    -0x4(%eax),%edx
40f6b6:	83 c1 23             	add    $0x23,%ecx
40f6b9:	2b c2                	sub    %edx,%eax
40f6bb:	83 c0 fc             	add    $0xfffffffc,%eax
40f6be:	83 f8 1f             	cmp    $0x1f,%eax
40f6c1:	0f 87 9a 03 00 00    	ja     0x40fa61
40f6c7:	51                   	push   %ecx
40f6c8:	52                   	push   %edx
40f6c9:	e8 ea a4 00 00       	call   0x419bb8
40f6ce:	83 c4 08             	add    $0x8,%esp
40f6d1:	eb 12                	jmp    0x40f6e5
40f6d3:	6a 00                	push   $0x0
40f6d5:	68 54 9f 44 00       	push   $0x449f54
40f6da:	8d 8d 90 ef ff ff    	lea    -0x1070(%ebp),%ecx
40f6e0:	e8 0b 38 ff ff       	call   0x402ef0
40f6e5:	8b 85 5c ef ff ff    	mov    -0x10a4(%ebp),%eax
40f6eb:	85 c0                	test   %eax,%eax
40f6ed:	75 08                	jne    0x40f6f7
40f6ef:	8b 9d 6c ef ff ff    	mov    -0x1094(%ebp),%ebx
40f6f5:	eb 2f                	jmp    0x40f726
40f6f7:	50                   	push   %eax
40f6f8:	6a 00                	push   $0x0
40f6fa:	ff b5 6c ef ff ff    	push   -0x1094(%ebp)
40f700:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
40f706:	6a ff                	push   $0xffffffff
40f708:	68 ff 0f 00 00       	push   $0xfff
40f70d:	50                   	push   %eax
40f70e:	e8 cd 4f ff ff       	call   0x4046e0
40f713:	ff 70 04             	push   0x4(%eax)
40f716:	ff 30                	push   (%eax)
40f718:	e8 ed 3d 01 00       	call   0x42350a
40f71d:	83 c4 20             	add    $0x20,%esp
40f720:	8d 9d f0 ef ff ff    	lea    -0x1010(%ebp),%ebx
40f726:	8b cb                	mov    %ebx,%ecx
40f728:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40f72f:	00 00 00
40f732:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
40f739:	00 00 00
40f73c:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
40f743:	00 00 00
40f746:	8d 51 01             	lea    0x1(%ecx),%edx
40f749:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
40f750:	8a 01                	mov    (%ecx),%al
40f752:	41                   	inc    %ecx
40f753:	84 c0                	test   %al,%al
40f755:	75 f9                	jne    0x40f750
40f757:	2b ca                	sub    %edx,%ecx
40f759:	51                   	push   %ecx
40f75a:	53                   	push   %ebx
40f75b:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f761:	e8 2a 6f ff ff       	call   0x406690
40f766:	8d 95 a8 ef ff ff    	lea    -0x1058(%ebp),%edx
40f76c:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40f770:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f776:	e8 95 5c 00 00       	call   0x415410
40f77b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f77f:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f785:	83 f9 10             	cmp    $0x10,%ecx
40f788:	72 2f                	jb     0x40f7b9
40f78a:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f790:	41                   	inc    %ecx
40f791:	8b c2                	mov    %edx,%eax
40f793:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f799:	72 14                	jb     0x40f7af
40f79b:	8b 50 fc             	mov    -0x4(%eax),%edx
40f79e:	83 c1 23             	add    $0x23,%ecx
40f7a1:	2b c2                	sub    %edx,%eax
40f7a3:	83 c0 fc             	add    $0xfffffffc,%eax
40f7a6:	83 f8 1f             	cmp    $0x1f,%eax
40f7a9:	0f 87 b7 02 00 00    	ja     0x40fa66
40f7af:	51                   	push   %ecx
40f7b0:	52                   	push   %edx
40f7b1:	e8 02 a4 00 00       	call   0x419bb8
40f7b6:	83 c4 08             	add    $0x8,%esp
40f7b9:	83 bd bc ef ff ff 08 	cmpl   $0x8,-0x1044(%ebp)
40f7c0:	8d 95 a8 ef ff ff    	lea    -0x1058(%ebp),%edx
40f7c6:	8d 8d 90 ef ff ff    	lea    -0x1070(%ebp),%ecx
40f7cc:	0f 43 95 a8 ef ff ff 	cmovae -0x1058(%ebp),%edx
40f7d3:	8d b5 c0 ef ff ff    	lea    -0x1040(%ebp),%esi
40f7d9:	83 bd a4 ef ff ff 08 	cmpl   $0x8,-0x105c(%ebp)
40f7e0:	8d 85 78 ef ff ff    	lea    -0x1088(%ebp),%eax
40f7e6:	56                   	push   %esi
40f7e7:	0f 43 8d 90 ef ff ff 	cmovae -0x1070(%ebp),%ecx
40f7ee:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
40f7f5:	52                   	push   %edx
40f7f6:	0f 43 85 78 ef ff ff 	cmovae -0x1088(%ebp),%eax
40f7fd:	51                   	push   %ecx
40f7fe:	50                   	push   %eax
40f7ff:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
40f805:	8b cf                	mov    %edi,%ecx
40f807:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
40f80d:	ff b5 74 ef ff ff    	push   -0x108c(%ebp)
40f813:	ff b5 70 ef ff ff    	push   -0x1090(%ebp)
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