4127d3:	57                   	push   %edi
4127d4:	e8 d1 f4 ff ff       	call   0x411caa
4127d9:	8b f0                	mov    %eax,%esi
4127db:	85 f6                	test   %esi,%esi
4127dd:	0f 88 df 00 00 00    	js     0x4128c2
4127e3:	8b 55 f4             	mov    -0xc(%ebp),%edx
4127e6:	8b 45 14             	mov    0x14(%ebp),%eax
4127e9:	53                   	push   %ebx
4127ea:	c7 02 0e 00 00 00    	movl   $0xe,(%edx)
4127f0:	89 42 08             	mov    %eax,0x8(%edx)
4127f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4127f6:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
4127fc:	89 42 10             	mov    %eax,0x10(%edx)
4127ff:	8b 81 9c 00 00 00    	mov    0x9c(%ecx),%eax
412805:	89 42 14             	mov    %eax,0x14(%edx)
412808:	8b 45 fc             	mov    -0x4(%ebp),%eax
41280b:	ff b0 90 00 00 00    	push   0x90(%eax)
412811:	8d 42 0c             	lea    0xc(%edx),%eax
412814:	50                   	push   %eax
412815:	e8 8b f9 fe ff       	call   0x4021a5
41281a:	8b f0                	mov    %eax,%esi
41281c:	85 f6                	test   %esi,%esi
41281e:	0f 88 94 00 00 00    	js     0x4128b8
412824:	8d 45 dc             	lea    -0x24(%ebp),%eax
412827:	50                   	push   %eax
412828:	8d 45 f8             	lea    -0x8(%ebp),%eax
41282b:	50                   	push   %eax
41282c:	ff 75 30             	push   0x30(%ebp)
41282f:	ff 75 2c             	push   0x2c(%ebp)
412832:	ff 75 28             	push   0x28(%ebp)
412835:	ff 75 24             	push   0x24(%ebp)
412838:	ff 75 1c             	push   0x1c(%ebp)
41283b:	ff 75 18             	push   0x18(%ebp)
41283e:	ff 75 fc             	push   -0x4(%ebp)
412841:	57                   	push   %edi
412842:	ff 75 0c             	push   0xc(%ebp)
412845:	6a 01                	push   $0x1
412847:	ff 75 f0             	push   -0x10(%ebp)
41284a:	e8 85 ef ff ff       	call   0x4117d4
41284f:	8b f0                	mov    %eax,%esi
412851:	85 f6                	test   %esi,%esi
412853:	78 59                	js     0x4128ae
412855:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412858:	83 79 5c 01          	cmpl   $0x1,0x5c(%ecx)
41285c:	75 20                	jne    0x41287e
41285e:	8b 45 14             	mov    0x14(%ebp),%eax
412861:	ff b0 90 00 00 00    	push   0x90(%eax)
412867:	ff b1 90 00 00 00    	push   0x90(%ecx)
41286d:	ff 30                	push   (%eax)
41286f:	68 d7 00 00 20       	push   $0x200000d7
412874:	6a 02                	push   $0x2
412876:	e8 94 2c ff ff       	call   0x40550f
41287b:	83 c4 14             	add    $0x14,%esp
41287e:	8b 55 10             	mov    0x10(%ebp),%edx
412881:	8b 4d ec             	mov    -0x14(%ebp),%ecx
412884:	41                   	inc    %ecx
412885:	89 4d ec             	mov    %ecx,-0x14(%ebp)
412888:	8b 42 0c             	mov    0xc(%edx),%eax
41288b:	3b c8                	cmp    %eax,%ecx
41288d:	0f 82 41 fe ff ff    	jb     0x4126d4
412893:	8b 45 e8             	mov    -0x18(%ebp),%eax
412896:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
412899:	8b 55 e0             	mov    -0x20(%ebp),%edx
41289c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41289f:	8b 45 dc             	mov    -0x24(%ebp),%eax
4128a2:	eb 4d                	jmp    0x4128f1
4128a4:	68 5c 24 45 00       	push   $0x45245c
4128a9:	e9 84 fe ff ff       	jmp    0x412732
4128ae:	68 2c 25 45 00       	push   $0x45252c
4128b3:	e9 7a fe ff ff       	jmp    0x412732
4128b8:	68 04 25 45 00       	push   $0x452504
4128bd:	e9 70 fe ff ff       	jmp    0x412732
4128c2:	68 e0 24 45 00       	push   $0x4524e0
4128c7:	e9 66 fe ff ff       	jmp    0x412732
4128cc:	8b 45 14             	mov    0x14(%ebp),%eax
4128cf:	ff 30                	push   (%eax)
4128d1:	68 ac 24 45 00       	push   $0x4524ac
4128d6:	56                   	push   %esi
4128d7:	e8 53 d8 02 00       	call   0x44012f
4128dc:	83 c4 0c             	add    $0xc,%esp
4128df:	e9 0b 01 00 00       	jmp    0x4129ef
4128e4:	68 90 24 45 00       	push   $0x452490
4128e9:	e9 44 fe ff ff       	jmp    0x412732
4128ee:	8b 55 fc             	mov    -0x4(%ebp),%edx
4128f1:	39 5d 20             	cmp    %ebx,0x20(%ebp)
4128f4:	75 34                	jne    0x41292a
4128f6:	83 3f 05             	cmpl   $0x5,(%edi)
4128f9:	74 0a                	je     0x412905
4128fb:	83 3f 06             	cmpl   $0x6,(%edi)
4128fe:	74 05                	je     0x412905
412900:	83 3f 07             	cmpl   $0x7,(%edi)
412903:	75 25                	jne    0x41292a
412905:	3d 00 00 00 80       	cmp    $0x80000000,%eax
41290a:	75 06                	jne    0x412912
41290c:	8b 47 60             	mov    0x60(%edi),%eax
41290f:	8b 57 68             	mov    0x68(%edi),%edx
412912:	52                   	push   %edx
412913:	50                   	push   %eax
412914:	57                   	push   %edi
412915:	e8 15 fa ff ff       	call   0x41232f
41291a:	8b f0                	mov    %eax,%esi
41291c:	85 f6                	test   %esi,%esi
41291e:	79 3a                	jns    0x41295a
412920:	68 54 25 45 00       	push   $0x452554
412925:	e9 08 fe ff ff       	jmp    0x412732
41292a:	83 3f 03             	cmpl   $0x3,(%edi)
41292d:	75 2b                	jne    0x41295a
41292f:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
412935:	75 08                	jne    0x41293f
412937:	8b 4f 60             	mov    0x60(%edi),%ecx
41293a:	8b 47 68             	mov    0x68(%edi),%eax
41293d:	eb 03                	jmp    0x412942
41293f:	8b 45 f4             	mov    -0xc(%ebp),%eax
412942:	50                   	push   %eax
412943:	51                   	push   %ecx
412944:	57                   	push   %edi
412945:	e8 7c 0b 00 00       	call   0x4134c6
41294a:	8b f0                	mov    %eax,%esi
41294c:	85 f6                	test   %esi,%esi
41294e:	79 0a                	jns    0x41295a
412950:	68 80 25 45 00       	push   $0x452580
412955:	e9 d8 fd ff ff       	jmp    0x412732
41295a:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
41295d:	74 16                	je     0x412975
41295f:	57                   	push   %edi
412960:	e8 91 0d 00 00       	call   0x4136f6
412965:	8b f0                	mov    %eax,%esi
412967:	85 f6                	test   %esi,%esi
412969:	79 0a                	jns    0x412975
41296b:	68 b0 25 45 00       	push   $0x4525b0
412970:	e9 bd fd ff ff       	jmp    0x412732
412975:	8b 55 10             	mov    0x10(%ebp),%edx
412978:	8b cb                	mov    %ebx,%ecx
41297a:	89 5d 14             	mov    %ebx,0x14(%ebp)
41297d:	8b 42 0c             	mov    0xc(%edx),%eax
412980:	85 c0                	test   %eax,%eax
412982:	74 33                	je     0x4129b7
412984:	83 3f 03             	cmpl   $0x3,(%edi)
412987:	75 05                	jne    0x41298e
412989:	2b c1                	sub    %ecx,%eax
41298b:	48                   	dec    %eax
41298c:	eb 02                	jmp    0x412990
41298e:	8b c1                	mov    %ecx,%eax
412990:	69 c0 e0 00 00 00    	imul   $0xe0,%eax,%eax
412996:	03 42 08             	add    0x8(%edx),%eax
412999:	50                   	push   %eax
41299a:	57                   	push   %edi
41299b:	e8 49 f4 ff ff       	call   0x411de9
4129a0:	8b f0                	mov    %eax,%esi
4129a2:	85 f6                	test   %esi,%esi
4129a4:	78 22                	js     0x4129c8
4129a6:	8b 55 10             	mov    0x10(%ebp),%edx
4129a9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4129ac:	41                   	inc    %ecx
4129ad:	89 4d 14             	mov    %ecx,0x14(%ebp)
4129b0:	8b 42 0c             	mov    0xc(%edx),%eax
4129b3:	3b c8                	cmp    %eax,%ecx
4129b5:	72 cd                	jb     0x412984
4129b7:	8b 42 14             	mov    0x14(%edx),%eax
4129ba:	85 c0                	test   %eax,%eax
4129bc:	74 31                	je     0x4129ef
4129be:	83 3f 03             	cmpl   $0x3,(%edi)
4129c1:	75 0f                	jne    0x4129d2
4129c3:	2b c3                	sub    %ebx,%eax
4129c5:	48                   	dec    %eax
4129c6:	eb 0c                	jmp    0x4129d4
4129c8:	68 d8 25 45 00       	push   $0x4525d8
4129cd:	e9 60 fd ff ff       	jmp    0x412732
4129d2:	8b c3                	mov    %ebx,%eax
4129d4:	69 c0 e0 00 00 00    	imul   $0xe0,%eax,%eax
4129da:	03 42 10             	add    0x10(%edx),%eax
4129dd:	50                   	push   %eax
4129de:	57                   	push   %edi
4129df:	e8 05 f4 ff ff       	call   0x411de9
4129e4:	8b 55 10             	mov    0x10(%ebp),%edx
4129e7:	43                   	inc    %ebx
4129e8:	8b 42 14             	mov    0x14(%edx),%eax
4129eb:	3b d8                	cmp    %eax,%ebx
4129ed:	72 cf                	jb     0x4129be
4129ef:	5f                   	pop    %edi
4129f0:	8b c6                	mov    %esi,%eax
4129f2:	5e                   	pop    %esi
4129f3:	5b                   	pop    %ebx
4129f4:	8b e5                	mov    %ebp,%esp
4129f6:	5d                   	pop    %ebp
4129f7:	c2 2c 00             	ret    $0x2c
4129fa:	55                   	push   %ebp
4129fb:	8b ec                	mov    %esp,%ebp
4129fd:	56                   	push   %esi
4129fe:	57                   	push   %edi
4129ff:	8b 7d 10             	mov    0x10(%ebp),%edi
412a02:	8d 45 10             	lea    0x10(%ebp),%eax
412a05:	33 c9                	xor    %ecx,%ecx
412a07:	51                   	push   %ecx
412a08:	50                   	push   %eax
412a09:	ff 75 24             	push   0x24(%ebp)
412a0c:	89 4d 10             	mov    %ecx,0x10(%ebp)
412a0f:	51                   	push   %ecx
412a10:	ff 75 20             	push   0x20(%ebp)
412a13:	ff 75 1c             	push   0x1c(%ebp)
412a16:	ff 75 18             	push   0x18(%ebp)
412a19:	ff 75 14             	push   0x14(%ebp)
412a1c:	ff 75 0c             	push   0xc(%ebp)
412a1f:	57                   	push   %edi
412a20:	ff 75 08             	push   0x8(%ebp)
412a23:	51                   	push   %ecx
412a24:	ff 77 0c             	push   0xc(%edi)
412a27:	e8 a8 ed ff ff       	call   0x4117d4
412a2c:	8b f0                	mov    %eax,%esi
412a2e:	85 f6                	test   %esi,%esi
412a30:	79 07                	jns    0x412a39
412a32:	68 a8 27 45 00       	push   $0x4527a8
412a37:	eb 17                	jmp    0x412a50
412a39:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
412a3d:	74 19                	je     0x412a58
412a3f:	57                   	push   %edi
412a40:	e8 b1 0c 00 00       	call   0x4136f6
412a45:	8b f0                	mov    %eax,%esi
412a47:	85 f6                	test   %esi,%esi
412a49:	79 0d                	jns    0x412a58
412a4b:	68 d0 27 45 00       	push   $0x4527d0
412a50:	56                   	push   %esi
412a51:	e8 d9 d6 02 00       	call   0x44012f
412a56:	59                   	pop    %ecx
412a57:	59                   	pop    %ecx
412a58:	5f                   	pop    %edi
412a59:	8b c6                	mov    %esi,%eax
412a5b:	5e                   	pop    %esi
412a5c:	5d                   	pop    %ebp
412a5d:	c2 20 00             	ret    $0x20
412a60:	55                   	push   %ebp
412a61:	8b ec                	mov    %esp,%ebp
412a63:	83 ec 14             	sub    $0x14,%esp
412a66:	53                   	push   %ebx
412a67:	8b 5d 08             	mov    0x8(%ebp),%ebx
412a6a:	33 d2                	xor    %edx,%edx
412a6c:	56                   	push   %esi
412a6d:	57                   	push   %edi
412a6e:	8b 7d 0c             	mov    0xc(%ebp),%edi
412a71:	33 c0                	xor    %eax,%eax
412a73:	40                   	inc    %eax
412a74:	89 55 fc             	mov    %edx,-0x4(%ebp)
412a77:	89 43 10             	mov    %eax,0x10(%ebx)
412a7a:	8b f2                	mov    %edx,%esi
412a7c:	89 55 f4             	mov    %edx,-0xc(%ebp)
412a7f:	89 55 f8             	mov    %edx,-0x8(%ebp)
412a82:	39 57 0c             	cmp    %edx,0xc(%edi)
412a85:	75 08                	jne    0x412a8f
412a87:	83 7d 10 04          	cmpl   $0x4,0x10(%ebp)
412a8b:	74 02                	je     0x412a8f
412a8d:	8b c2                	mov    %edx,%eax
412a8f:	89 43 18             	mov    %eax,0x18(%ebx)
412a92:	89 53 1c             	mov    %edx,0x1c(%ebx)
412a95:	8b 4f 40             	mov    0x40(%edi),%ecx
412a98:	85 c9                	test   %ecx,%ecx
412a9a:	75 05                	jne    0x412aa1
412a9c:	8b 47 10             	mov    0x10(%edi),%eax
412a9f:	eb 08                	jmp    0x412aa9
412aa1:	66 39 11             	cmp    %dx,(%ecx)
412aa4:	8b c2                	mov    %edx,%eax
412aa6:	0f 45 c1             	cmovne %ecx,%eax
412aa9:	83 3b 03             	cmpl   $0x3,(%ebx)
412aac:	89 45 08             	mov    %eax,0x8(%ebp)
412aaf:	0f 85 c8 01 00 00    	jne    0x412c7d
412ab5:	8b 87 bc 00 00 00    	mov    0xbc(%edi),%eax
412abb:	6a 02                	push   $0x2
412abd:	5e                   	pop    %esi
412abe:	85 c0                	test   %eax,%eax
412ac0:	74 1a                	je     0x412adc
412ac2:	6a ff                	push   $0xffffffff
412ac4:	50                   	push   %eax
412ac5:	6a ff                	push   $0xffffffff
412ac7:	ff 77 10             	push   0x10(%edi)
412aca:	6a 01                	push   $0x1
412acc:	52                   	push   %edx
412acd:	ff 15 28 b1 44 00    	call   *0x44b128
412ad3:	3b c6                	cmp    %esi,%eax
412ad5:	75 05                	jne    0x412adc
412ad7:	89 73 38             	mov    %esi,0x38(%ebx)
412ada:	eb 17                	jmp    0x412af3
412adc:	ff b7 bc 00 00 00    	push   0xbc(%edi)
412ae2:	ff 77 44             	push   0x44(%edi)
412ae5:	68 d1 00 00 a0       	push   $0xa00000d1
412aea:	56                   	push   %esi
412aeb:	e8 1f 2a ff ff       	call   0x40550f
412af0:	83 c4 10             	add    $0x10,%esp
412af3:	6a 01                	push   $0x1
412af5:	6a 05                	push   $0x5
412af7:	8d 45 fc             	lea    -0x4(%ebp),%eax
412afa:	50                   	push   %eax
412afb:	e8 23 28 03 00       	call   0x445323
412b00:	8b f0                	mov    %eax,%esi
412b02:	85 f6                	test   %esi,%esi
412b04:	79 0a                	jns    0x412b10
412b06:	68 f8 25 45 00       	push   $0x4525f8
412b0b:	e9 93 02 00 00       	jmp    0x412da3
412b10:	8b 45 08             	mov    0x8(%ebp),%eax
412b13:	85 c0                	test   %eax,%eax
412b15:	74 44                	je     0x412b5b
412b17:	50                   	push   %eax
412b18:	57                   	push   %edi
412b19:	e8 e2 4f 01 00       	call   0x427b00
412b1e:	85 c0                	test   %eax,%eax
412b20:	74 39                	je     0x412b5b
412b22:	ff 77 10             	push   0x10(%edi)
412b25:	ff 75 08             	push   0x8(%ebp)
412b28:	6a 02                	push   $0x2
412b2a:	53                   	push   %ebx
412b2b:	e8 5a e2 ff ff       	call   0x410d8a
412b30:	8b f0                	mov    %eax,%esi
412b32:	85 f6                	test   %esi,%esi
412b34:	79 0a                	jns    0x412b40
412b36:	68 20 26 45 00       	push   $0x452620
412b3b:	e9 63 02 00 00       	jmp    0x412da3
412b40:	ff 75 08             	push   0x8(%ebp)
412b43:	ff 75 fc             	push   -0x4(%ebp)
412b46:	e8 fe 4e 01 00       	call   0x427a49
412b4b:	8b f0                	mov    %eax,%esi
412b4d:	85 f6                	test   %esi,%esi
412b4f:	79 0a                	jns    0x412b5b
412b51:	68 48 26 45 00       	push   $0x452648
412b56:	e9 48 02 00 00       	jmp    0x412da3
412b5b:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
412b5f:	0f 84 46 02 00 00    	je     0x412dab
412b65:	8b 45 18             	mov    0x18(%ebp),%eax
412b68:	33 f6                	xor    %esi,%esi
412b6a:	85 c0                	test   %eax,%eax
412b6c:	74 20                	je     0x412b8e
412b6e:	66 39 30             	cmp    %si,(%eax)
412b71:	74 1b                	je     0x412b8e
412b73:	50                   	push   %eax
412b74:	ff 75 fc             	push   -0x4(%ebp)
412b77:	e8 cd 4e 01 00       	call   0x427a49
412b7c:	8b f0                	mov    %eax,%esi
412b7e:	85 f6                	test   %esi,%esi
412b80:	79 0a                	jns    0x412b8c
412b82:	68 7c 26 45 00       	push   $0x45267c
412b87:	e9 17 02 00 00       	jmp    0x412da3
412b8c:	33 f6                	xor    %esi,%esi
412b8e:	8b ce                	mov    %esi,%ecx
412b90:	89 4d 10             	mov    %ecx,0x10(%ebp)
412b93:	39 b7 b8 00 00 00    	cmp    %esi,0xb8(%edi)
412b99:	76 74                	jbe    0x412c0f
412b9b:	8b d6                	mov    %esi,%edx
412b9d:	89 75 14             	mov    %esi,0x14(%ebp)
412ba0:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
412ba6:	03 c2                	add    %edx,%eax
412ba8:	89 45 18             	mov    %eax,0x18(%ebp)
412bab:	83 38 05             	cmpl   $0x5,(%eax)
412bae:	75 4a                	jne    0x412bfa