4127f1:	8b 47 40             	mov    0x40(%edi),%eax
4127f4:	8d 77 40             	lea    0x40(%edi),%esi
4127f7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4127fa:	8b 40 18             	mov    0x18(%eax),%eax
4127fd:	89 45 d8             	mov    %eax,-0x28(%ebp)
412800:	3d 60 3c 41 00       	cmp    $0x413c60,%eax
412805:	0f 85 38 89 01 00    	jne    0x42b143
41280b:	8b ce                	mov    %esi,%ecx
41280d:	e8 4e 14 00 00       	call   0x413c60
412812:	8b 47 68             	mov    0x68(%edi),%eax
412815:	33 c9                	xor    %ecx,%ecx
412817:	ba 04 00 00 00       	mov    $0x4,%edx
41281c:	f7 e2                	mul    %edx
41281e:	0f 90 c1             	seto   %cl
412821:	f7 d9                	neg    %ecx
412823:	0b c8                	or     %eax,%ecx
412825:	a1 80 0b 45 00       	mov    0x450b80,%eax
41282a:	8b 50 08             	mov    0x8(%eax),%edx
41282d:	8b 40 04             	mov    0x4(%eax),%eax
412830:	83 e2 05             	and    $0x5,%edx
412833:	83 ca 08             	or     $0x8,%edx
412836:	85 c0                	test   %eax,%eax
412838:	0f 84 1d 89 01 00    	je     0x42b15b
41283e:	51                   	push   %ecx
41283f:	52                   	push   %edx
412840:	50                   	push   %eax
412841:	ff 15 78 10 45 00    	call   *0x451078
412847:	8b c8                	mov    %eax,%ecx
412849:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41284c:	85 c9                	test   %ecx,%ecx
41284e:	0f 84 01 89 01 00    	je     0x42b155
412854:	8b 47 64             	mov    0x64(%edi),%eax
412857:	85 c0                	test   %eax,%eax
412859:	0f 85 17 89 01 00    	jne    0x42b176
41285f:	89 45 e0             	mov    %eax,-0x20(%ebp)
412862:	8b d1                	mov    %ecx,%edx
412864:	33 f6                	xor    %esi,%esi
412866:	89 55 dc             	mov    %edx,-0x24(%ebp)
412869:	85 c0                	test   %eax,%eax
41286b:	0f 85 1e 89 01 00    	jne    0x42b18f
412871:	89 75 ec             	mov    %esi,-0x14(%ebp)
412874:	8b 75 e4             	mov    -0x1c(%ebp),%esi
412877:	8b 06                	mov    (%esi),%eax
412879:	8b 78 1c             	mov    0x1c(%eax),%edi
41287c:	81 ff 90 3c 41 00    	cmp    $0x413c90,%edi
412882:	0f 85 38 89 01 00    	jne    0x42b1c0
412888:	8b ce                	mov    %esi,%ecx
41288a:	e8 01 14 00 00       	call   0x413c90
41288f:	8b 45 ec             	mov    -0x14(%ebp),%eax
412892:	33 d2                	xor    %edx,%edx
412894:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412897:	89 55 e0             	mov    %edx,-0x20(%ebp)
41289a:	85 c0                	test   %eax,%eax
41289c:	0f 85 2f 89 01 00    	jne    0x42b1d1
4128a2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4128a9:	a1 80 0b 45 00       	mov    0x450b80,%eax
4128ae:	8b 40 04             	mov    0x4(%eax),%eax
4128b1:	85 c0                	test   %eax,%eax
4128b3:	74 12                	je     0x4128c7
4128b5:	51                   	push   %ecx
4128b6:	6a 00                	push   $0x0
4128b8:	50                   	push   %eax
4128b9:	ff 15 70 10 45 00    	call   *0x451070
4128bf:	85 c0                	test   %eax,%eax
4128c1:	0f 84 60 89 01 00    	je     0x42b227
4128c7:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4128ce:	8b 06                	mov    (%esi),%eax
4128d0:	8b 78 18             	mov    0x18(%eax),%edi
4128d3:	81 ff 60 3c 41 00    	cmp    $0x413c60,%edi
4128d9:	0f 85 53 89 01 00    	jne    0x42b232
4128df:	8b ce                	mov    %esi,%ecx
4128e1:	e8 7a 13 00 00       	call   0x413c60
4128e6:	8d 46 24             	lea    0x24(%esi),%eax
4128e9:	89 45 d8             	mov    %eax,-0x28(%ebp)
4128ec:	8b f0                	mov    %eax,%esi
4128ee:	8b 06                	mov    (%esi),%eax
4128f0:	85 c0                	test   %eax,%eax
4128f2:	0f 85 4b 89 01 00    	jne    0x42b243
4128f8:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4128fb:	8b 06                	mov    (%esi),%eax
4128fd:	8b 78 1c             	mov    0x1c(%eax),%edi
412900:	81 ff 90 3c 41 00    	cmp    $0x413c90,%edi
412906:	0f 85 7f 89 01 00    	jne    0x42b28b
41290c:	8b ce                	mov    %esi,%ecx
41290e:	e8 7d 13 00 00       	call   0x413c90
412913:	85 db                	test   %ebx,%ebx
412915:	0f 88 81 89 01 00    	js     0x42b29c
41291b:	a1 00 f0 44 00       	mov    0x44f000,%eax
412920:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
412925:	74 0a                	je     0x412931
412927:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41292b:	0f 85 7f 89 01 00    	jne    0x42b2b0
412931:	8b c3                	mov    %ebx,%eax
412933:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412936:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41293d:	59                   	pop    %ecx
41293e:	5f                   	pop    %edi
41293f:	5e                   	pop    %esi
412940:	5b                   	pop    %ebx
412941:	8b e5                	mov    %ebp,%esp
412943:	5d                   	pop    %ebp
412944:	c2 10 00             	ret    $0x10
412947:	6a 00                	push   $0x0
412949:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41294c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
412953:	50                   	push   %eax
412954:	8d 55 e0             	lea    -0x20(%ebp),%edx
412957:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
41295e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
412961:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
412968:	e8 27 be 00 00       	call   0x41e794
41296d:	8b d8                	mov    %eax,%ebx
41296f:	85 db                	test   %ebx,%ebx
412971:	78 6e                	js     0x4129e1
412973:	8d 4d e8             	lea    -0x18(%ebp),%ecx
412976:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
41297d:	51                   	push   %ecx
41297e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
412981:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
412988:	51                   	push   %ecx
412989:	ff 75 f0             	push   -0x10(%ebp)
41298c:	ba 15 00 00 00       	mov    $0x15,%edx
412991:	8d 8f ac 00 00 00    	lea    0xac(%edi),%ecx
412997:	68 08 6c 40 00       	push   $0x406c08
41299c:	e8 35 c2 00 00       	call   0x41ebd6
4129a1:	8b d8                	mov    %eax,%ebx
4129a3:	81 fb 02 10 04 80    	cmp    $0x80041002,%ebx
4129a9:	0f 85 29 87 01 00    	jne    0x42b0d8
4129af:	8b 45 f0             	mov    -0x10(%ebp),%eax
4129b2:	ff 75 14             	push   0x14(%ebp)
4129b5:	ff 75 10             	push   0x10(%ebp)
4129b8:	8b 30                	mov    (%eax),%esi
4129ba:	ff 75 0c             	push   0xc(%ebp)
4129bd:	50                   	push   %eax
4129be:	8b 76 0c             	mov    0xc(%esi),%esi
4129c1:	8b ce                	mov    %esi,%ecx
4129c3:	ff 15 c4 12 45 00    	call   *0x4512c4
4129c9:	ff d6                	call   *%esi
4129cb:	8b d8                	mov    %eax,%ebx
4129cd:	ff 15 64 30 45 00    	call   *0x453064
4129d3:	ff 75 e4             	push   -0x1c(%ebp)
4129d6:	8b 55 e0             	mov    -0x20(%ebp),%edx
4129d9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4129dc:	e8 71 c3 00 00       	call   0x41ed52
4129e1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4129e4:	50                   	push   %eax
4129e5:	8b 08                	mov    (%eax),%ecx
4129e7:	8b 71 08             	mov    0x8(%ecx),%esi
4129ea:	8b ce                	mov    %esi,%ecx
4129ec:	ff 15 c4 12 45 00    	call   *0x4512c4
4129f2:	ff d6                	call   *%esi
4129f4:	e9 98 fd ff ff       	jmp    0x412791
4129f9:	cc                   	int3
4129fa:	cc                   	int3
4129fb:	cc                   	int3
4129fc:	cc                   	int3
4129fd:	cc                   	int3
4129fe:	cc                   	int3
4129ff:	cc                   	int3
412a00:	8b ff                	mov    %edi,%edi
412a02:	55                   	push   %ebp
412a03:	8b ec                	mov    %esp,%ebp
412a05:	6a ff                	push   $0xffffffff
412a07:	68 31 36 42 00       	push   $0x423631
412a0c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
412a12:	50                   	push   %eax
412a13:	83 ec 40             	sub    $0x40,%esp
412a16:	a1 54 02 45 00       	mov    0x450254,%eax
412a1b:	33 c5                	xor    %ebp,%eax
412a1d:	89 45 f0             	mov    %eax,-0x10(%ebp)
412a20:	53                   	push   %ebx
412a21:	56                   	push   %esi
412a22:	57                   	push   %edi
412a23:	50                   	push   %eax
412a24:	8d 45 f4             	lea    -0xc(%ebp),%eax
412a27:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
412a2d:	8b f1                	mov    %ecx,%esi
412a2f:	8b 45 20             	mov    0x20(%ebp),%eax
412a32:	8b 5d 0c             	mov    0xc(%ebp),%ebx
412a35:	8b 7d 08             	mov    0x8(%ebp),%edi
412a38:	89 45 d4             	mov    %eax,-0x2c(%ebp)
412a3b:	8b 45 10             	mov    0x10(%ebp),%eax
412a3e:	89 45 c0             	mov    %eax,-0x40(%ebp)
412a41:	8b 45 18             	mov    0x18(%ebp),%eax
412a44:	89 45 c8             	mov    %eax,-0x38(%ebp)
412a47:	8b 45 1c             	mov    0x1c(%ebp),%eax
412a4a:	89 45 bc             	mov    %eax,-0x44(%ebp)
412a4d:	8b 45 24             	mov    0x24(%ebp),%eax
412a50:	89 45 cc             	mov    %eax,-0x34(%ebp)
412a53:	8b 45 30             	mov    0x30(%ebp),%eax
412a56:	89 45 b8             	mov    %eax,-0x48(%ebp)
412a59:	8b 45 34             	mov    0x34(%ebp),%eax
412a5c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
412a5f:	8d 45 e0             	lea    -0x20(%ebp),%eax
412a62:	50                   	push   %eax
412a63:	89 5d d0             	mov    %ebx,-0x30(%ebp)
412a66:	ff 15 2c 30 45 00    	call   *0x45302c
412a6c:	85 c0                	test   %eax,%eax
412a6e:	0f 88 52 8a 01 00    	js     0x42b4c6
412a74:	a1 80 0b 45 00       	mov    0x450b80,%eax
412a79:	8b 48 08             	mov    0x8(%eax),%ecx
412a7c:	8b 40 04             	mov    0x4(%eax),%eax
412a7f:	83 e1 05             	and    $0x5,%ecx
412a82:	83 c9 08             	or     $0x8,%ecx
412a85:	85 c0                	test   %eax,%eax
412a87:	0f 84 4e 88 01 00    	je     0x42b2db
412a8d:	68 30 02 00 00       	push   $0x230
412a92:	51                   	push   %ecx
412a93:	50                   	push   %eax
412a94:	ff 15 78 10 45 00    	call   *0x451078
412a9a:	85 c0                	test   %eax,%eax
412a9c:	0f 84 33 88 01 00    	je     0x42b2d5
412aa2:	89 45 d8             	mov    %eax,-0x28(%ebp)
412aa5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
412aac:	85 c0                	test   %eax,%eax
412aae:	0f 84 2e 88 01 00    	je     0x42b2e2
412ab4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
412ab7:	51                   	push   %ecx
412ab8:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
412abb:	51                   	push   %ecx
412abc:	ff 75 c8             	push   -0x38(%ebp)
412abf:	8b c8                	mov    %eax,%ecx
412ac1:	ff 35 14 0a 45 00    	push   0x450a14
412ac7:	57                   	push   %edi
412ac8:	53                   	push   %ebx
412ac9:	ff 76 0c             	push   0xc(%esi)
412acc:	e8 4f ed ff ff       	call   0x411820
412ad1:	8b d8                	mov    %eax,%ebx
412ad3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
412ada:	85 db                	test   %ebx,%ebx
412adc:	0f 84 dd 89 01 00    	je     0x42b4bf
412ae2:	a1 00 f0 44 00       	mov    0x44f000,%eax
412ae7:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
412aec:	74 0a                	je     0x412af8
412aee:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
412af2:	0f 85 f1 87 01 00    	jne    0x42b2e9
412af8:	8b 03                	mov    (%ebx),%eax
412afa:	53                   	push   %ebx
412afb:	8b 70 04             	mov    0x4(%eax),%esi
412afe:	81 fe 50 51 41 00    	cmp    $0x415150,%esi
412b04:	0f 85 07 88 01 00    	jne    0x42b311
412b0a:	e8 41 26 00 00       	call   0x415150
412b0f:	8b 35 14 0a 45 00    	mov    0x450a14,%esi
412b15:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
412b1c:	8b 06                	mov    (%esi),%eax
412b1e:	8b 78 18             	mov    0x18(%eax),%edi
412b21:	81 ff e0 41 41 00    	cmp    $0x4141e0,%edi
412b27:	0f 85 f3 87 01 00    	jne    0x42b320
412b2d:	8b ce                	mov    %esi,%ecx
412b2f:	e8 ac 16 00 00       	call   0x4141e0
412b34:	8b 35 14 0a 45 00    	mov    0x450a14,%esi
412b3a:	8d 4b 58             	lea    0x58(%ebx),%ecx
412b3d:	8b 06                	mov    (%esi),%eax
412b3f:	8b 78 20             	mov    0x20(%eax),%edi
412b42:	8d 45 d0             	lea    -0x30(%ebp),%eax
412b45:	50                   	push   %eax
412b46:	51                   	push   %ecx
412b47:	81 ff 50 25 41 00    	cmp    $0x412550,%edi
412b4d:	0f 85 de 87 01 00    	jne    0x42b331
412b53:	8b ce                	mov    %esi,%ecx
412b55:	e8 f6 f9 ff ff       	call   0x412550
412b5a:	85 c0                	test   %eax,%eax
412b5c:	0f 85 2d 89 01 00    	jne    0x42b48f
412b62:	8b 35 14 0a 45 00    	mov    0x450a14,%esi
412b68:	8b 06                	mov    (%esi),%eax
412b6a:	8b 78 1c             	mov    0x1c(%eax),%edi
412b6d:	81 ff 10 42 41 00    	cmp    $0x414210,%edi
412b73:	0f 85 c9 87 01 00    	jne    0x42b342
412b79:	8b ce                	mov    %esi,%ecx
412b7b:	e8 90 16 00 00       	call   0x414210
412b80:	8b 03                	mov    (%ebx),%eax
412b82:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
412b89:	8b 30                	mov    (%eax),%esi
412b8b:	8d 45 d8             	lea    -0x28(%ebp),%eax
412b8e:	50                   	push   %eax
412b8f:	68 e8 6b 40 00       	push   $0x406be8
412b94:	53                   	push   %ebx
412b95:	81 fe 90 30 41 00    	cmp    $0x413090,%esi
412b9b:	0f 85 b2 87 01 00    	jne    0x42b353
412ba1:	e8 ea 04 00 00       	call   0x413090
412ba6:	8b f0                	mov    %eax,%esi
412ba8:	85 f6                	test   %esi,%esi
412baa:	0f 88 a1 02 00 00    	js     0x412e51
412bb0:	a1 80 0b 45 00       	mov    0x450b80,%eax
412bb5:	8b 48 08             	mov    0x8(%eax),%ecx
412bb8:	8b 40 04             	mov    0x4(%eax),%eax
412bbb:	83 e1 05             	and    $0x5,%ecx
412bbe:	83 c9 08             	or     $0x8,%ecx
412bc1:	85 c0                	test   %eax,%eax
412bc3:	0f 84 9f 87 01 00    	je     0x42b368
412bc9:	6a 18                	push   $0x18
412bcb:	51                   	push   %ecx
412bcc:	50                   	push   %eax
412bcd:	ff 15 78 10 45 00    	call   *0x451078
412bd3:	8b f8                	mov    %eax,%edi
412bd5:	85 ff                	test   %edi,%edi
412bd7:	0f 84 85 87 01 00    	je     0x42b362
412bdd:	89 7d dc             	mov    %edi,-0x24(%ebp)
412be0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
412be7:	85 ff                	test   %edi,%edi
412be9:	0f 84 80 87 01 00    	je     0x42b36f
412bef:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
412bf3:	c7 07 ec 13 40 00    	movl   $0x4013ec,(%edi)
412bf9:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
412c00:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
412c07:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
412c0e:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
412c15:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
412c1c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
412c23:	85 ff                	test   %edi,%edi
412c25:	0f 84 5a 88 01 00    	je     0x42b485
412c2b:	8b 07                	mov    (%edi),%eax
412c2d:	57                   	push   %edi
412c2e:	8b 70 04             	mov    0x4(%eax),%esi
412c31:	8b ce                	mov    %esi,%ecx
412c33:	ff 15 c4 12 45 00    	call   *0x4512c4
412c39:	ff d6                	call   *%esi
412c3b:	33 f6                	xor    %esi,%esi
412c3d:	56                   	push   %esi
412c3e:	56                   	push   %esi
412c3f:	56                   	push   %esi
412c40:	56                   	push   %esi
412c41:	ff 15 34 11 45 00    	call   *0x451134
412c47:	89 47 0c             	mov    %eax,0xc(%edi)
412c4a:	85 c0                	test   %eax,%eax
412c4c:	0f 84 24 87 01 00    	je     0x42b376
412c52:	a1 00 f0 44 00       	mov    0x44f000,%eax
412c57:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
412c5c:	74 0a                	je     0x412c68
412c5e:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
412c62:	0f 85 27 87 01 00    	jne    0x42b38f
412c68:	85 f6                	test   %esi,%esi
412c6a:	0f 88 b5 01 00 00    	js     0x412e25
412c70:	a1 80 0b 45 00       	mov    0x450b80,%eax
412c75:	8b 48 08             	mov    0x8(%eax),%ecx
412c78:	8b 40 04             	mov    0x4(%eax),%eax
412c7b:	83 e1 05             	and    $0x5,%ecx
412c7e:	83 c9 08             	or     $0x8,%ecx
412c81:	85 c0                	test   %eax,%eax
412c83:	0f 84 31 87 01 00    	je     0x42b3ba
412c89:	6a 18                	push   $0x18
412c8b:	51                   	push   %ecx
412c8c:	50                   	push   %eax
412c8d:	ff 15 78 10 45 00    	call   *0x451078
412c93:	8b c8                	mov    %eax,%ecx
412c95:	89 45 dc             	mov    %eax,-0x24(%ebp)
412c98:	85 c9                	test   %ecx,%ecx
412c9a:	0f 84 14 87 01 00    	je     0x42b3b4
412ca0:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
412ca3:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)