40c623:	33 c0                	xor    %eax,%eax
40c625:	8b ce                	mov    %esi,%ecx
40c627:	40                   	inc    %eax
40c628:	50                   	push   %eax
40c629:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40c62f:	89 86 b4 00 00 00    	mov    %eax,0xb4(%esi)
40c635:	e8 86 fa ff ff       	call   0x40c0c0
40c63a:	39 9e d4 00 00 00    	cmp    %ebx,0xd4(%esi)
40c640:	74 36                	je     0x40c678
40c642:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
40c648:	75 2e                	jne    0x40c678
40c64a:	57                   	push   %edi
40c64b:	6a 04                	push   $0x4
40c64d:	68 6b 01 00 00       	push   $0x16b
40c652:	ff 15 18 31 42 00    	call   *0x423118
40c658:	83 f8 06             	cmp    $0x6,%eax
40c65b:	0f 85 56 01 00 00    	jne    0x40c7b7
40c661:	33 c0                	xor    %eax,%eax
40c663:	8b ce                	mov    %esi,%ecx
40c665:	40                   	inc    %eax
40c666:	50                   	push   %eax
40c667:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40c66d:	89 86 b4 00 00 00    	mov    %eax,0xb4(%esi)
40c673:	e8 48 fa ff ff       	call   0x40c0c0
40c678:	39 9e d8 00 00 00    	cmp    %ebx,0xd8(%esi)
40c67e:	74 36                	je     0x40c6b6
40c680:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
40c686:	75 2e                	jne    0x40c6b6
40c688:	57                   	push   %edi
40c689:	6a 04                	push   $0x4
40c68b:	68 6c 01 00 00       	push   $0x16c
40c690:	ff 15 18 31 42 00    	call   *0x423118
40c696:	83 f8 06             	cmp    $0x6,%eax
40c699:	0f 85 18 01 00 00    	jne    0x40c7b7
40c69f:	33 c0                	xor    %eax,%eax
40c6a1:	8b ce                	mov    %esi,%ecx
40c6a3:	40                   	inc    %eax
40c6a4:	50                   	push   %eax
40c6a5:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40c6ab:	89 86 b4 00 00 00    	mov    %eax,0xb4(%esi)
40c6b1:	e8 0a fa ff ff       	call   0x40c0c0
40c6b6:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40c6bc:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
40c6c2:	89 41 0c             	mov    %eax,0xc(%ecx)
40c6c5:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
40c6cb:	89 41 10             	mov    %eax,0x10(%ecx)
40c6ce:	8b 86 ac 00 00 00    	mov    0xac(%esi),%eax
40c6d4:	89 41 14             	mov    %eax,0x14(%ecx)
40c6d7:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
40c6dd:	89 41 18             	mov    %eax,0x18(%ecx)
40c6e0:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
40c6e6:	89 41 1c             	mov    %eax,0x1c(%ecx)
40c6e9:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
40c6ef:	89 41 20             	mov    %eax,0x20(%ecx)
40c6f2:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
40c6f8:	89 41 24             	mov    %eax,0x24(%ecx)
40c6fb:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
40c701:	89 41 28             	mov    %eax,0x28(%ecx)
40c704:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
40c70a:	89 41 2c             	mov    %eax,0x2c(%ecx)
40c70d:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
40c713:	89 41 30             	mov    %eax,0x30(%ecx)
40c716:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
40c71c:	89 41 34             	mov    %eax,0x34(%ecx)
40c71f:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
40c725:	89 41 38             	mov    %eax,0x38(%ecx)
40c728:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
40c72e:	89 41 3c             	mov    %eax,0x3c(%ecx)
40c731:	8b 86 d8 00 00 00    	mov    0xd8(%esi),%eax
40c737:	89 41 40             	mov    %eax,0x40(%ecx)
40c73a:	8b 86 dc 00 00 00    	mov    0xdc(%esi),%eax
40c740:	89 41 44             	mov    %eax,0x44(%ecx)
40c743:	8b 86 e0 00 00 00    	mov    0xe0(%esi),%eax
40c749:	89 41 48             	mov    %eax,0x48(%ecx)
40c74c:	8b 86 e4 00 00 00    	mov    0xe4(%esi),%eax
40c752:	89 41 4c             	mov    %eax,0x4c(%ecx)
40c755:	8b 86 e8 00 00 00    	mov    0xe8(%esi),%eax
40c75b:	89 41 50             	mov    %eax,0x50(%ecx)
40c75e:	8b 86 ec 00 00 00    	mov    0xec(%esi),%eax
40c764:	89 41 54             	mov    %eax,0x54(%ecx)
40c767:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
40c76d:	89 41 58             	mov    %eax,0x58(%ecx)
40c770:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
40c776:	89 41 5c             	mov    %eax,0x5c(%ecx)
40c779:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
40c77f:	89 41 60             	mov    %eax,0x60(%ecx)
40c782:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
40c788:	89 41 64             	mov    %eax,0x64(%ecx)
40c78b:	8b 86 00 01 00 00    	mov    0x100(%esi),%eax
40c791:	89 41 68             	mov    %eax,0x68(%ecx)
40c794:	8b 86 04 01 00 00    	mov    0x104(%esi),%eax
40c79a:	89 41 6c             	mov    %eax,0x6c(%ecx)
40c79d:	8b be ac 00 00 00    	mov    0xac(%esi),%edi
40c7a3:	8b ce                	mov    %esi,%ecx
40c7a5:	e8 8c 18 00 00       	call   0x40e036
40c7aa:	f7 df                	neg    %edi
40c7ac:	1b ff                	sbb    %edi,%edi
40c7ae:	83 e7 07             	and    $0x7,%edi
40c7b1:	81 c7 5e 02 00 00    	add    $0x25e,%edi
40c7b7:	8b c7                	mov    %edi,%eax
40c7b9:	5f                   	pop    %edi
40c7ba:	5e                   	pop    %esi
40c7bb:	5b                   	pop    %ebx
40c7bc:	8b e5                	mov    %ebp,%esp
40c7be:	5d                   	pop    %ebp
40c7bf:	c3                   	ret
40c7c0:	8b ff                	mov    %edi,%edi
40c7c2:	56                   	push   %esi
40c7c3:	57                   	push   %edi
40c7c4:	8b f1                	mov    %ecx,%esi
40c7c6:	ff 15 90 33 42 00    	call   *0x423390
40c7cc:	33 ff                	xor    %edi,%edi
40c7ce:	57                   	push   %edi
40c7cf:	57                   	push   %edi
40c7d0:	68 37 10 00 00       	push   $0x1037
40c7d5:	ff b6 28 01 00 00    	push   0x128(%esi)
40c7db:	ff 15 40 34 42 00    	call   *0x423440
40c7e1:	83 c8 25             	or     $0x25,%eax
40c7e4:	50                   	push   %eax
40c7e5:	57                   	push   %edi
40c7e6:	68 36 10 00 00       	push   $0x1036
40c7eb:	ff b6 28 01 00 00    	push   0x128(%esi)
40c7f1:	ff 15 40 34 42 00    	call   *0x423440
40c7f7:	8b ce                	mov    %esi,%ecx
40c7f9:	e8 28 f3 ff ff       	call   0x40bb26
40c7fe:	8b ce                	mov    %esi,%ecx
40c800:	e8 ea f4 ff ff       	call   0x40bcef
40c805:	57                   	push   %edi
40c806:	57                   	push   %edi
40c807:	68 04 10 00 00       	push   $0x1004
40c80c:	ff b6 28 01 00 00    	push   0x128(%esi)
40c812:	ff 15 40 34 42 00    	call   *0x423440
40c818:	85 c0                	test   %eax,%eax
40c81a:	7e 11                	jle    0x40c82d
40c81c:	6a 03                	push   $0x3
40c81e:	6a 03                	push   $0x3
40c820:	57                   	push   %edi
40c821:	8d 8e 08 01 00 00    	lea    0x108(%esi),%ecx
40c827:	ff 15 88 33 42 00    	call   *0x423388
40c82d:	8d 8e 48 01 00 00    	lea    0x148(%esi),%ecx
40c833:	ba 90 00 00 00       	mov    $0x90,%edx
40c838:	e8 11 24 00 00       	call   0x40ec4e
40c83d:	33 c0                	xor    %eax,%eax
40c83f:	5f                   	pop    %edi
40c840:	40                   	inc    %eax
40c841:	5e                   	pop    %esi
40c842:	c3                   	ret
40c843:	cc                   	int3
40c844:	cc                   	int3
40c845:	cc                   	int3
40c846:	cc                   	int3
40c847:	cc                   	int3
40c848:	cc                   	int3
40c849:	cc                   	int3
40c84a:	cc                   	int3
40c84b:	cc                   	int3
40c84c:	cc                   	int3
40c84d:	cc                   	int3
40c84e:	cc                   	int3
40c84f:	cc                   	int3
40c850:	8b ff                	mov    %edi,%edi
40c852:	55                   	push   %ebp
40c853:	8b ec                	mov    %esp,%ebp
40c855:	8b 55 08             	mov    0x8(%ebp),%edx
40c858:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
40c85e:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
40c862:	74 18                	je     0x40c87c
40c864:	3b 42 10             	cmp    0x10(%edx),%eax
40c867:	75 26                	jne    0x40c88f
40c869:	33 c0                	xor    %eax,%eax
40c86b:	39 81 9c 00 00 00    	cmp    %eax,0x9c(%ecx)
40c871:	0f 94 c0             	sete   %al
40c874:	89 81 9c 00 00 00    	mov    %eax,0x9c(%ecx)
40c87a:	eb 13                	jmp    0x40c88f
40c87c:	85 c0                	test   %eax,%eax
40c87e:	75 0f                	jne    0x40c88f
40c880:	39 81 98 00 00 00    	cmp    %eax,0x98(%ecx)
40c886:	0f 94 c0             	sete   %al
40c889:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
40c88f:	8b 42 10             	mov    0x10(%edx),%eax
40c892:	8b 91 28 01 00 00    	mov    0x128(%ecx),%edx
40c898:	89 81 94 00 00 00    	mov    %eax,0x94(%ecx)
40c89e:	85 c0                	test   %eax,%eax
40c8a0:	74 07                	je     0x40c8a9
40c8a2:	68 70 c3 40 00       	push   $0x40c370
40c8a7:	eb 05                	jmp    0x40c8ae
40c8a9:	68 f0 c3 40 00       	push   $0x40c3f0
40c8ae:	51                   	push   %ecx
40c8af:	68 30 10 00 00       	push   $0x1030
40c8b4:	52                   	push   %edx
40c8b5:	ff 15 40 34 42 00    	call   *0x423440
40c8bb:	8b 45 0c             	mov    0xc(%ebp),%eax
40c8be:	83 20 00             	andl   $0x0,(%eax)
40c8c1:	5d                   	pop    %ebp
40c8c2:	c2 08 00             	ret    $0x8
40c8c5:	cc                   	int3
40c8c6:	cc                   	int3
40c8c7:	cc                   	int3
40c8c8:	cc                   	int3
40c8c9:	cc                   	int3
40c8ca:	cc                   	int3
40c8cb:	cc                   	int3
40c8cc:	cc                   	int3
40c8cd:	cc                   	int3
40c8ce:	cc                   	int3
40c8cf:	cc                   	int3
40c8d0:	8b ff                	mov    %edi,%edi
40c8d2:	55                   	push   %ebp
40c8d3:	8b ec                	mov    %esp,%ebp
40c8d5:	56                   	push   %esi
40c8d6:	8b f1                	mov    %ecx,%esi
40c8d8:	e8 14 00 00 00       	call   0x40c8f1
40c8dd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40c8e1:	74 07                	je     0x40c8ea
40c8e3:	56                   	push   %esi
40c8e4:	e8 ba e9 00 00       	call   0x41b2a3
40c8e9:	59                   	pop    %ecx
40c8ea:	8b c6                	mov    %esi,%eax
40c8ec:	5e                   	pop    %esi
40c8ed:	5d                   	pop    %ebp
40c8ee:	c2 04 00             	ret    $0x4
40c8f1:	8b ff                	mov    %edi,%edi
40c8f3:	55                   	push   %ebp
40c8f4:	8b ec                	mov    %esp,%ebp
40c8f6:	6a ff                	push   $0xffffffff
40c8f8:	68 b3 cf 41 00       	push   $0x41cfb3
40c8fd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c903:	50                   	push   %eax
40c904:	51                   	push   %ecx
40c905:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40c90a:	33 c5                	xor    %ebp,%eax
40c90c:	50                   	push   %eax
40c90d:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c910:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c916:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c919:	c7 01 e4 1a 40 00    	movl   $0x401ae4,(%ecx)
40c91f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c923:	ff 15 28 32 42 00    	call   *0x423228
40c929:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c92c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c933:	59                   	pop    %ecx
40c934:	c9                   	leave
40c935:	c3                   	ret
40c936:	cc                   	int3
40c937:	cc                   	int3
40c938:	cc                   	int3
40c939:	cc                   	int3
40c93a:	cc                   	int3
40c93b:	cc                   	int3
40c93c:	cc                   	int3
40c93d:	cc                   	int3
40c93e:	cc                   	int3
40c93f:	cc                   	int3
40c940:	a1 0c 31 42 00       	mov    0x42310c,%eax
40c945:	c3                   	ret
40c946:	cc                   	int3
40c947:	cc                   	int3
40c948:	cc                   	int3
40c949:	cc                   	int3
40c94a:	cc                   	int3
40c94b:	cc                   	int3
40c94c:	cc                   	int3
40c94d:	cc                   	int3
40c94e:	cc                   	int3
40c94f:	cc                   	int3
40c950:	b8 d8 1a 40 00       	mov    $0x401ad8,%eax
40c955:	c3                   	ret
40c956:	cc                   	int3
40c957:	cc                   	int3
40c958:	cc                   	int3
40c959:	cc                   	int3
40c95a:	cc                   	int3
40c95b:	cc                   	int3
40c95c:	cc                   	int3
40c95d:	cc                   	int3
40c95e:	cc                   	int3
40c95f:	cc                   	int3
40c960:	8b ff                	mov    %edi,%edi
40c962:	55                   	push   %ebp
40c963:	8b ec                	mov    %esp,%ebp
40c965:	56                   	push   %esi
40c966:	8b f1                	mov    %ecx,%esi
40c968:	ff 15 28 32 42 00    	call   *0x423228
40c96e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40c972:	74 07                	je     0x40c97b
40c974:	56                   	push   %esi
40c975:	e8 29 e9 00 00       	call   0x41b2a3
40c97a:	59                   	pop    %ecx
40c97b:	8b c6                	mov    %esi,%eax
40c97d:	5e                   	pop    %esi
40c97e:	5d                   	pop    %ebp
40c97f:	c2 04 00             	ret    $0x4
40c982:	cc                   	int3
40c983:	cc                   	int3
40c984:	cc                   	int3
40c985:	cc                   	int3
40c986:	cc                   	int3
40c987:	cc                   	int3
40c988:	cc                   	int3
40c989:	cc                   	int3
40c98a:	cc                   	int3
40c98b:	cc                   	int3
40c98c:	cc                   	int3
40c98d:	cc                   	int3
40c98e:	cc                   	int3
40c98f:	cc                   	int3
40c990:	b8 5c 02 00 00       	mov    $0x25c,%eax
40c995:	c3                   	ret
40c996:	cc                   	int3
40c997:	cc                   	int3
40c998:	cc                   	int3
40c999:	cc                   	int3
40c99a:	cc                   	int3
40c99b:	cc                   	int3
40c99c:	cc                   	int3
40c99d:	cc                   	int3
40c99e:	cc                   	int3
40c99f:	cc                   	int3
40c9a0:	6a 04                	push   $0x4
40c9a2:	b8 ae c6 41 00       	mov    $0x41c6ae,%eax
40c9a7:	e8 8c fa 00 00       	call   0x41c438
40c9ac:	68 28 01 00 00       	push   $0x128
40c9b1:	e8 f2 e8 00 00       	call   0x41b2a8
40c9b6:	59                   	pop    %ecx
40c9b7:	8b c8                	mov    %eax,%ecx
40c9b9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40c9bc:	33 c0                	xor    %eax,%eax
40c9be:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c9c1:	85 c9                	test   %ecx,%ecx
40c9c3:	74 05                	je     0x40c9ca
40c9c5:	e8 1c 00 00 00       	call   0x40c9e6
40c9ca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c9ce:	e8 33 fa 00 00       	call   0x41c406
40c9d3:	c3                   	ret
40c9d4:	cc                   	int3
40c9d5:	cc                   	int3
40c9d6:	cc                   	int3
40c9d7:	cc                   	int3
40c9d8:	cc                   	int3
40c9d9:	cc                   	int3
40c9da:	cc                   	int3
40c9db:	cc                   	int3
40c9dc:	cc                   	int3
40c9dd:	cc                   	int3
40c9de:	cc                   	int3
40c9df:	cc                   	int3
40c9e0:	b8 00 1e 40 00       	mov    $0x401e00,%eax
40c9e5:	c3                   	ret
40c9e6:	6a 04                	push   $0x4
40c9e8:	b8 f4 cf 41 00       	mov    $0x41cff4,%eax