41e852:	ff d6                	call   *%esi
41e854:	8b f8                	mov    %eax,%edi
41e856:	85 ff                	test   %edi,%edi
41e858:	78 33                	js     0x41e88d
41e85a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e85d:	ff 75 f0             	push   -0x10(%ebp)
41e860:	68 b4 7a 40 00       	push   $0x407ab4
41e865:	8b 08                	mov    (%eax),%ecx
41e867:	50                   	push   %eax
41e868:	8b 31                	mov    (%ecx),%esi
41e86a:	8b ce                	mov    %esi,%ecx
41e86c:	ff 15 c4 12 45 00    	call   *0x4512c4
41e872:	ff d6                	call   *%esi
41e874:	8b f8                	mov    %eax,%edi
41e876:	85 ff                	test   %edi,%edi
41e878:	78 13                	js     0x41e88d
41e87a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41e87e:	0f 85 15 f4 00 00    	jne    0x42dc99
41e884:	83 3b 00             	cmpl   $0x0,(%ebx)
41e887:	0f 85 29 f4 00 00    	jne    0x42dcb6
41e88d:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e890:	50                   	push   %eax
41e891:	8b 08                	mov    (%eax),%ecx
41e893:	8b 71 08             	mov    0x8(%ecx),%esi
41e896:	8b ce                	mov    %esi,%ecx
41e898:	ff 15 c4 12 45 00    	call   *0x4512c4
41e89e:	ff d6                	call   *%esi
41e8a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8a3:	50                   	push   %eax
41e8a4:	8b 08                	mov    (%eax),%ecx
41e8a6:	8b 71 08             	mov    0x8(%ecx),%esi
41e8a9:	8b ce                	mov    %esi,%ecx
41e8ab:	ff 15 c4 12 45 00    	call   *0x4512c4
41e8b1:	ff d6                	call   *%esi
41e8b3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41e8b6:	85 c9                	test   %ecx,%ecx
41e8b8:	74 10                	je     0x41e8ca
41e8ba:	8b 01                	mov    (%ecx),%eax
41e8bc:	51                   	push   %ecx
41e8bd:	8b 70 08             	mov    0x8(%eax),%esi
41e8c0:	8b ce                	mov    %esi,%ecx
41e8c2:	ff 15 c4 12 45 00    	call   *0x4512c4
41e8c8:	ff d6                	call   *%esi
41e8ca:	8b c7                	mov    %edi,%eax
41e8cc:	5f                   	pop    %edi
41e8cd:	5e                   	pop    %esi
41e8ce:	5b                   	pop    %ebx
41e8cf:	c9                   	leave
41e8d0:	c2 08 00             	ret    $0x8
41e8d3:	8b ff                	mov    %edi,%edi
41e8d5:	55                   	push   %ebp
41e8d6:	8b ec                	mov    %esp,%ebp
41e8d8:	83 ec 30             	sub    $0x30,%esp
41e8db:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
41e8df:	8d 45 d0             	lea    -0x30(%ebp),%eax
41e8e2:	83 4d d4 ff          	orl    $0xffffffff,-0x2c(%ebp)
41e8e6:	53                   	push   %ebx
41e8e7:	57                   	push   %edi
41e8e8:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e8eb:	33 db                	xor    %ebx,%ebx
41e8ed:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e8f0:	89 5d d8             	mov    %ebx,-0x28(%ebp)
41e8f3:	50                   	push   %eax
41e8f4:	68 94 7a 40 00       	push   $0x407a94
41e8f9:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e8fc:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41e8ff:	50                   	push   %eax
41e900:	8b 45 08             	mov    0x8(%ebp),%eax
41e903:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
41e90a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41e90d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41e910:	ff 30                	push   (%eax)
41e912:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41e915:	51                   	push   %ecx
41e916:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41e919:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41e91c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41e91f:	ff 15 28 30 45 00    	call   *0x453028
41e925:	8b f8                	mov    %eax,%edi
41e927:	85 ff                	test   %edi,%edi
41e929:	78 30                	js     0x41e95b
41e92b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e92e:	56                   	push   %esi
41e92f:	ff 75 10             	push   0x10(%ebp)
41e932:	ff 75 0c             	push   0xc(%ebp)
41e935:	8b 30                	mov    (%eax),%esi
41e937:	53                   	push   %ebx
41e938:	50                   	push   %eax
41e939:	8b 4e 0c             	mov    0xc(%esi),%ecx
41e93c:	ff 15 c4 12 45 00    	call   *0x4512c4
41e942:	ff 56 0c             	call   *0xc(%esi)
41e945:	8b f8                	mov    %eax,%edi
41e947:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e94a:	50                   	push   %eax
41e94b:	8b 08                	mov    (%eax),%ecx
41e94d:	8b 71 08             	mov    0x8(%ecx),%esi
41e950:	8b ce                	mov    %esi,%ecx
41e952:	ff 15 c4 12 45 00    	call   *0x4512c4
41e958:	ff d6                	call   *%esi
41e95a:	5e                   	pop    %esi
41e95b:	8b c7                	mov    %edi,%eax
41e95d:	5f                   	pop    %edi
41e95e:	5b                   	pop    %ebx
41e95f:	c9                   	leave
41e960:	c2 0c 00             	ret    $0xc
41e963:	8b ff                	mov    %edi,%edi
41e965:	55                   	push   %ebp
41e966:	8b ec                	mov    %esp,%ebp
41e968:	83 e4 f8             	and    $0xfffffff8,%esp
41e96b:	83 ec 0c             	sub    $0xc,%esp
41e96e:	53                   	push   %ebx
41e96f:	56                   	push   %esi
41e970:	8b f1                	mov    %ecx,%esi
41e972:	57                   	push   %edi
41e973:	89 74 24 10          	mov    %esi,0x10(%esp)
41e977:	a1 00 f0 44 00       	mov    0x44f000,%eax
41e97c:	33 d2                	xor    %edx,%edx
41e97e:	8b 5d 18             	mov    0x18(%ebp),%ebx
41e981:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41e986:	74 0a                	je     0x41e992
41e988:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41e98c:	0f 85 3c f3 00 00    	jne    0x42dcce
41e992:	8b 7d 14             	mov    0x14(%ebp),%edi
41e995:	8b 86 e8 00 00 00    	mov    0xe8(%esi),%eax
41e99b:	85 c0                	test   %eax,%eax
41e99d:	0f 85 59 f3 00 00    	jne    0x42dcfc
41e9a3:	8b 03                	mov    (%ebx),%eax
41e9a5:	52                   	push   %edx
41e9a6:	52                   	push   %edx
41e9a7:	57                   	push   %edi
41e9a8:	8b 70 10             	mov    0x10(%eax),%esi
41e9ab:	52                   	push   %edx
41e9ac:	53                   	push   %ebx
41e9ad:	81 fe 50 cf 41 00    	cmp    $0x41cf50,%esi
41e9b3:	0f 85 57 f4 00 00    	jne    0x42de10
41e9b9:	e8 92 e5 ff ff       	call   0x41cf50
41e9be:	8b d8                	mov    %eax,%ebx
41e9c0:	85 db                	test   %ebx,%ebx
41e9c2:	0f 88 57 f4 00 00    	js     0x42de1f
41e9c8:	a1 00 f0 44 00       	mov    0x44f000,%eax
41e9cd:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41e9d2:	74 0a                	je     0x41e9de
41e9d4:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41e9d8:	0f 85 55 f4 00 00    	jne    0x42de33
41e9de:	5f                   	pop    %edi
41e9df:	5e                   	pop    %esi
41e9e0:	8b c3                	mov    %ebx,%eax
41e9e2:	5b                   	pop    %ebx
41e9e3:	8b e5                	mov    %ebp,%esp
41e9e5:	5d                   	pop    %ebp
41e9e6:	c2 14 00             	ret    $0x14
41e9e9:	8b ff                	mov    %edi,%edi
41e9eb:	55                   	push   %ebp
41e9ec:	8b ec                	mov    %esp,%ebp
41e9ee:	51                   	push   %ecx
41e9ef:	53                   	push   %ebx
41e9f0:	57                   	push   %edi
41e9f1:	8b 7d 10             	mov    0x10(%ebp),%edi
41e9f4:	33 db                	xor    %ebx,%ebx
41e9f6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41e9f9:	38 1f                	cmp    %bl,(%edi)
41e9fb:	74 15                	je     0x41ea12
41e9fd:	56                   	push   %esi
41e9fe:	8b 75 08             	mov    0x8(%ebp),%esi
41ea01:	8b 16                	mov    (%esi),%edx
41ea03:	8b 42 1c             	mov    0x1c(%edx),%eax
41ea06:	2b c3                	sub    %ebx,%eax
41ea08:	75 10                	jne    0x41ea1a
41ea0a:	c7 42 1c 01 00 00 00 	movl   $0x1,0x1c(%edx)
41ea11:	5e                   	pop    %esi
41ea12:	5f                   	pop    %edi
41ea13:	8b c3                	mov    %ebx,%eax
41ea15:	5b                   	pop    %ebx
41ea16:	c9                   	leave
41ea17:	c2 0c 00             	ret    $0xc
41ea1a:	83 e8 01             	sub    $0x1,%eax
41ea1d:	0f 85 33 f4 00 00    	jne    0x42de56
41ea23:	8b 55 0c             	mov    0xc(%ebp),%edx
41ea26:	88 1f                	mov    %bl,(%edi)
41ea28:	8b 42 1c             	mov    0x1c(%edx),%eax
41ea2b:	83 e8 00             	sub    $0x0,%eax
41ea2e:	74 e1                	je     0x41ea11
41ea30:	83 e8 01             	sub    $0x1,%eax
41ea33:	0f 85 2c f4 00 00    	jne    0x42de65
41ea39:	8b 06                	mov    (%esi),%eax
41ea3b:	8b 78 18             	mov    0x18(%eax),%edi
41ea3e:	85 ff                	test   %edi,%edi
41ea40:	0f 85 dc f4 00 00    	jne    0x42df22
41ea46:	89 11                	mov    %edx,(%ecx)
41ea48:	8b 4a 14             	mov    0x14(%edx),%ecx
41ea4b:	85 c9                	test   %ecx,%ecx
41ea4d:	75 21                	jne    0x41ea70
41ea4f:	8b 06                	mov    (%esi),%eax
41ea51:	21 58 1c             	and    %ebx,0x1c(%eax)
41ea54:	8b 0e                	mov    (%esi),%ecx
41ea56:	8b 42 14             	mov    0x14(%edx),%eax
41ea59:	89 41 10             	mov    %eax,0x10(%ecx)
41ea5c:	8b 06                	mov    (%esi),%eax
41ea5e:	89 50 18             	mov    %edx,0x18(%eax)
41ea61:	21 5a 1c             	and    %ebx,0x1c(%edx)
41ea64:	8b 06                	mov    (%esi),%eax
41ea66:	89 42 14             	mov    %eax,0x14(%edx)
41ea69:	89 7a 18             	mov    %edi,0x18(%edx)
41ea6c:	89 16                	mov    %edx,(%esi)
41ea6e:	eb a1                	jmp    0x41ea11
41ea70:	8b 06                	mov    (%esi),%eax
41ea72:	89 41 18             	mov    %eax,0x18(%ecx)
41ea75:	eb d8                	jmp    0x41ea4f
41ea77:	cc                   	int3
41ea78:	cc                   	int3
41ea79:	cc                   	int3
41ea7a:	cc                   	int3
41ea7b:	cc                   	int3
41ea7c:	cc                   	int3
41ea7d:	cc                   	int3
41ea7e:	cc                   	int3
41ea7f:	cc                   	int3
41ea80:	6a 20                	push   $0x20
41ea82:	b8 fb 39 42 00       	mov    $0x4239fb,%eax
41ea87:	e8 e1 0b 00 00       	call   0x41f66d
41ea8c:	a1 00 f0 44 00       	mov    0x44f000,%eax
41ea91:	bb 00 f0 44 00       	mov    $0x44f000,%ebx
41ea96:	3b c3                	cmp    %ebx,%eax
41ea98:	74 0a                	je     0x41eaa4
41ea9a:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41ea9e:	0f 85 93 f4 00 00    	jne    0x42df37
41eaa4:	8b 7d 08             	mov    0x8(%ebp),%edi
41eaa7:	33 c9                	xor    %ecx,%ecx
41eaa9:	be 24 10 04 80       	mov    $0x80041024,%esi
41eaae:	39 8f b8 00 00 00    	cmp    %ecx,0xb8(%edi)
41eab4:	0f 84 fb f4 00 00    	je     0x42dfb5
41eaba:	8b 87 34 01 00 00    	mov    0x134(%edi),%eax
41eac0:	39 88 9c 07 00 00    	cmp    %ecx,0x79c(%eax)
41eac6:	0f 84 e9 f4 00 00    	je     0x42dfb5
41eacc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41eacf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41ead2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ead5:	50                   	push   %eax
41ead6:	8d 45 e0             	lea    -0x20(%ebp),%eax
41ead9:	8b cf                	mov    %edi,%ecx
41eadb:	50                   	push   %eax
41eadc:	8d 45 ec             	lea    -0x14(%ebp),%eax
41eadf:	50                   	push   %eax
41eae0:	8d 45 e8             	lea    -0x18(%ebp),%eax
41eae3:	50                   	push   %eax
41eae4:	8d 45 dc             	lea    -0x24(%ebp),%eax
41eae7:	50                   	push   %eax
41eae8:	8d 45 d8             	lea    -0x28(%ebp),%eax
41eaeb:	50                   	push   %eax
41eaec:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41eaef:	50                   	push   %eax
41eaf0:	e8 4a ea ff ff       	call   0x41d53f
41eaf5:	8b f0                	mov    %eax,%esi
41eaf7:	85 f6                	test   %esi,%esi
41eaf9:	78 4e                	js     0x41eb49
41eafb:	ff 75 18             	push   0x18(%ebp)
41eafe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41eb01:	e8 8a 66 ff ff       	call   0x415190
41eb06:	8b f0                	mov    %eax,%esi
41eb08:	85 f6                	test   %esi,%esi
41eb0a:	0f 88 5b f4 00 00    	js     0x42df6b
41eb10:	ff 75 ec             	push   -0x14(%ebp)
41eb13:	8b cf                	mov    %edi,%ecx
41eb15:	ff 75 20             	push   0x20(%ebp)
41eb18:	ff 75 1c             	push   0x1c(%ebp)
41eb1b:	ff 75 18             	push   0x18(%ebp)
41eb1e:	ff 75 14             	push   0x14(%ebp)
41eb21:	ff 75 10             	push   0x10(%ebp)
41eb24:	ff 75 0c             	push   0xc(%ebp)
41eb27:	ff 75 e8             	push   -0x18(%ebp)
41eb2a:	e8 d9 f0 ff ff       	call   0x41dc08
41eb2f:	ff 75 e4             	push   -0x1c(%ebp)
41eb32:	8b f0                	mov    %eax,%esi
41eb34:	ff 75 e0             	push   -0x20(%ebp)
41eb37:	51                   	push   %ecx
41eb38:	51                   	push   %ecx
41eb39:	ff 75 dc             	push   -0x24(%ebp)
41eb3c:	8b cf                	mov    %edi,%ecx
41eb3e:	ff 75 d8             	push   -0x28(%ebp)
41eb41:	ff 75 d4             	push   -0x2c(%ebp)
41eb44:	e8 9d e9 ff ff       	call   0x41d4e6
41eb49:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41eb4d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41eb50:	e8 25 00 00 00       	call   0x41eb7a
41eb55:	85 f6                	test   %esi,%esi
41eb57:	0f 88 58 f4 00 00    	js     0x42dfb5
41eb5d:	a1 00 f0 44 00       	mov    0x44f000,%eax
41eb62:	3b c3                	cmp    %ebx,%eax
41eb64:	74 0a                	je     0x41eb70
41eb66:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41eb6a:	0f 85 59 f4 00 00    	jne    0x42dfc9
41eb70:	8b c6                	mov    %esi,%eax
41eb72:	e8 c4 0a 00 00       	call   0x41f63b
41eb77:	c2 1c 00             	ret    $0x1c
41eb7a:	8b ff                	mov    %edi,%edi
41eb7c:	55                   	push   %ebp
41eb7d:	8b ec                	mov    %esp,%ebp
41eb7f:	6a ff                	push   $0xffffffff
41eb81:	68 16 3a 42 00       	push   $0x423a16
41eb86:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41eb8c:	50                   	push   %eax
41eb8d:	51                   	push   %ecx
41eb8e:	56                   	push   %esi
41eb8f:	a1 54 02 45 00       	mov    0x450254,%eax
41eb94:	33 c5                	xor    %ebp,%eax
41eb96:	50                   	push   %eax
41eb97:	8d 45 f4             	lea    -0xc(%ebp),%eax
41eb9a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41eba0:	8b f1                	mov    %ecx,%esi
41eba2:	83 3e 00             	cmpl   $0x0,(%esi)
41eba5:	74 21                	je     0x41ebc8
41eba7:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41ebab:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ebae:	50                   	push   %eax
41ebaf:	ff 36                	push   (%esi)
41ebb1:	6a 08                	push   $0x8
41ebb3:	ff 15 bc 12 45 00    	call   *0x4512bc
41ebb9:	85 c0                	test   %eax,%eax
41ebbb:	78 0b                	js     0x41ebc8
41ebbd:	ff 36                	push   (%esi)
41ebbf:	ff 15 b8 12 45 00    	call   *0x4512b8
41ebc5:	83 26 00             	andl   $0x0,(%esi)
41ebc8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41ebcb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41ebd2:	59                   	pop    %ecx
41ebd3:	5e                   	pop    %esi
41ebd4:	c9                   	leave
41ebd5:	c3                   	ret
41ebd6:	8b ff                	mov    %edi,%edi
41ebd8:	55                   	push   %ebp
41ebd9:	8b ec                	mov    %esp,%ebp
41ebdb:	51                   	push   %ecx
41ebdc:	51                   	push   %ecx
41ebdd:	53                   	push   %ebx
41ebde:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ebe1:	8b c2                	mov    %edx,%eax
41ebe3:	56                   	push   %esi
41ebe4:	57                   	push   %edi
41ebe5:	8b 7d 14             	mov    0x14(%ebp),%edi
41ebe8:	53                   	push   %ebx
41ebe9:	ff 75 0c             	push   0xc(%ebp)
41ebec:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ebef:	ff 75 08             	push   0x8(%ebp)
41ebf2:	83 27 00             	andl   $0x0,(%edi)
41ebf5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41ebf8:	e8 22 00 00 00       	call   0x41ec1f
41ebfd:	8b f0                	mov    %eax,%esi
41ebff:	85 f6                	test   %esi,%esi
41ec01:	0f 89 e5 f3 00 00    	jns    0x42dfec
41ec07:	81 fe 02 10 04 80    	cmp    $0x80041002,%esi