8bf998:	cc                   	int3
8bf999:	cc                   	int3
8bf99a:	cc                   	int3
8bf99b:	cc                   	int3
8bf99c:	cc                   	int3
8bf99d:	cc                   	int3
8bf99e:	cc                   	int3
8bf99f:	cc                   	int3
8bf9a0:	55                   	push   %ebp
8bf9a1:	8b ec                	mov    %esp,%ebp
8bf9a3:	83 b9 ac 00 00 00 00 	cmpl   $0x0,0xac(%ecx)
8bf9aa:	75 07                	jne    0x8bf9b3
8bf9ac:	b8 01 40 00 80       	mov    $0x80004001,%eax
8bf9b1:	eb 37                	jmp    0x8bf9ea
8bf9b3:	53                   	push   %ebx
8bf9b4:	56                   	push   %esi
8bf9b5:	57                   	push   %edi
8bf9b6:	e8 ab 39 b7 ff       	call   0x433366
8bf9bb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8bf9be:	8b d8                	mov    %eax,%ebx
8bf9c0:	ff 31                	push   (%ecx)
8bf9c2:	8b 13                	mov    (%ebx),%edx
8bf9c4:	ff 75 08             	push   0x8(%ebp)
8bf9c7:	53                   	push   %ebx
8bf9c8:	8b 72 2c             	mov    0x2c(%edx),%esi
8bf9cb:	8b ce                	mov    %esi,%ecx
8bf9cd:	e8 93 cc b6 ff       	call   0x42c665
8bf9d2:	ff d6                	call   *%esi
8bf9d4:	8b 0b                	mov    (%ebx),%ecx
8bf9d6:	8b f8                	mov    %eax,%edi
8bf9d8:	53                   	push   %ebx
8bf9d9:	8b 71 08             	mov    0x8(%ecx),%esi
8bf9dc:	8b ce                	mov    %esi,%ecx
8bf9de:	e8 82 cc b6 ff       	call   0x42c665
8bf9e3:	ff d6                	call   *%esi
8bf9e5:	8b c7                	mov    %edi,%eax
8bf9e7:	5f                   	pop    %edi
8bf9e8:	5e                   	pop    %esi
8bf9e9:	5b                   	pop    %ebx
8bf9ea:	5d                   	pop    %ebp
8bf9eb:	c2 08 00             	ret    $0x8
8bf9ee:	cc                   	int3
8bf9ef:	cc                   	int3
8bf9f0:	cc                   	int3
8bf9f1:	cc                   	int3
8bf9f2:	cc                   	int3
8bf9f3:	cc                   	int3
8bf9f4:	cc                   	int3
8bf9f5:	cc                   	int3
8bf9f6:	cc                   	int3
8bf9f7:	cc                   	int3
8bf9f8:	cc                   	int3
8bf9f9:	cc                   	int3
8bf9fa:	cc                   	int3
8bf9fb:	cc                   	int3
8bf9fc:	cc                   	int3
8bf9fd:	cc                   	int3
8bf9fe:	cc                   	int3
8bf9ff:	cc                   	int3
8bfa00:	cc                   	int3
8bfa01:	6a 20                	push   $0x20
8bfa03:	b8 0a 1d ba 00       	mov    $0xba1d0a,%eax
8bfa08:	e8 7e a8 b4 ff       	call   0x40a28b
8bfa0d:	8b d9                	mov    %ecx,%ebx
8bfa0f:	89 5d d8             	mov    %ebx,-0x28(%ebp)
8bfa12:	83 bb ac 00 00 00 01 	cmpl   $0x1,0xac(%ebx)
8bfa19:	0f 85 94 05 00 00    	jne    0x8bffb3
8bfa1f:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
8bfa25:	33 ff                	xor    %edi,%edi
8bfa27:	39 7a 30             	cmp    %edi,0x30(%edx)
8bfa2a:	74 21                	je     0x8bfa4d
8bfa2c:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfa32:	ff 72 30             	push   0x30(%edx)
8bfa35:	50                   	push   %eax
8bfa36:	8b 08                	mov    (%eax),%ecx
8bfa38:	8b 71 44             	mov    0x44(%ecx),%esi
8bfa3b:	8b ce                	mov    %esi,%ecx
8bfa3d:	e8 23 cc b6 ff       	call   0x42c665
8bfa42:	ff d6                	call   *%esi
8bfa44:	85 c0                	test   %eax,%eax
8bfa46:	79 05                	jns    0x8bfa4d
8bfa48:	e8 19 25 b7 ff       	call   0x431f66
8bfa4d:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfa53:	39 78 3c             	cmp    %edi,0x3c(%eax)
8bfa56:	74 39                	je     0x8bfa91
8bfa58:	ff 70 3c             	push   0x3c(%eax)
8bfa5b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
8bfa5e:	e8 20 4f b6 ff       	call   0x424983
8bfa63:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfa69:	ff 75 e4             	push   -0x1c(%ebp)
8bfa6c:	89 7d fc             	mov    %edi,-0x4(%ebp)
8bfa6f:	50                   	push   %eax
8bfa70:	8b 08                	mov    (%eax),%ecx
8bfa72:	8b 71 58             	mov    0x58(%ecx),%esi
8bfa75:	8b ce                	mov    %esi,%ecx
8bfa77:	e8 e9 cb b6 ff       	call   0x42c665
8bfa7c:	ff d6                	call   *%esi
8bfa7e:	85 c0                	test   %eax,%eax
8bfa80:	78 c6                	js     0x8bfa48
8bfa82:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
8bfa85:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
8bfa89:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8bfa8c:	e8 83 51 b4 ff       	call   0x404c14
8bfa91:	8b b3 a8 00 00 00    	mov    0xa8(%ebx),%esi
8bfa97:	39 7e 0c             	cmp    %edi,0xc(%esi)
8bfa9a:	0f 84 19 02 00 00    	je     0x8bfcb9
8bfaa0:	8b 76 0c             	mov    0xc(%esi),%esi
8bfaa3:	33 c0                	xor    %eax,%eax
8bfaa5:	66 39 06             	cmp    %ax,(%esi)
8bfaa8:	0f 84 09 02 00 00    	je     0x8bfcb7
8bfaae:	33 db                	xor    %ebx,%ebx
8bfab0:	56                   	push   %esi
8bfab1:	e8 d6 50 b5 ff       	call   0x414b8c
8bfab6:	8d 34 46             	lea    (%esi,%eax,2),%esi
8bfab9:	83 c6 02             	add    $0x2,%esi
8bfabc:	56                   	push   %esi
8bfabd:	e8 ca 50 b5 ff       	call   0x414b8c
8bfac2:	59                   	pop    %ecx
8bfac3:	59                   	pop    %ecx
8bfac4:	8d 34 46             	lea    (%esi,%eax,2),%esi
8bfac7:	83 c6 02             	add    $0x2,%esi
8bfaca:	47                   	inc    %edi
8bfacb:	66 39 1e             	cmp    %bx,(%esi)
8bface:	75 e0                	jne    0x8bfab0
8bfad0:	8b 5d d8             	mov    -0x28(%ebp),%ebx
8bfad3:	85 ff                	test   %edi,%edi
8bfad5:	0f 84 dc 01 00 00    	je     0x8bfcb7
8bfadb:	33 c9                	xor    %ecx,%ecx
8bfadd:	8b c7                	mov    %edi,%eax
8bfadf:	6a 08                	push   $0x8
8bfae1:	5a                   	pop    %edx
8bfae2:	f7 e2                	mul    %edx
8bfae4:	0f 90 c1             	seto   %cl
8bfae7:	f7 d9                	neg    %ecx
8bfae9:	0b c8                	or     %eax,%ecx
8bfaeb:	51                   	push   %ecx
8bfaec:	e8 a6 5c b7 ff       	call   0x435797
8bfaf1:	8b f0                	mov    %eax,%esi
8bfaf3:	89 75 ec             	mov    %esi,-0x14(%ebp)
8bfaf6:	59                   	pop    %ecx
8bfaf7:	85 f6                	test   %esi,%esi
8bfaf9:	75 05                	jne    0x8bfb00
8bfafb:	e8 e6 72 b6 ff       	call   0x426de6
8bfb00:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfb06:	8b 40 0c             	mov    0xc(%eax),%eax
8bfb09:	89 45 e4             	mov    %eax,-0x1c(%ebp)
8bfb0c:	33 c0                	xor    %eax,%eax
8bfb0e:	89 45 e0             	mov    %eax,-0x20(%ebp)
8bfb11:	85 ff                	test   %edi,%edi
8bfb13:	0f 84 0c 01 00 00    	je     0x8bfc25
8bfb19:	e8 f7 6a b7 ff       	call   0x436615
8bfb1e:	50                   	push   %eax
8bfb1f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8bfb22:	e8 ed a0 b4 ff       	call   0x409c14
8bfb27:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
8bfb2a:	51                   	push   %ecx
8bfb2b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
8bfb32:	e8 55 50 b5 ff       	call   0x414b8c
8bfb37:	40                   	inc    %eax
8bfb38:	33 c9                	xor    %ecx,%ecx
8bfb3a:	6a 02                	push   $0x2
8bfb3c:	5a                   	pop    %edx
8bfb3d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
8bfb40:	f7 e2                	mul    %edx
8bfb42:	0f 90 c1             	seto   %cl
8bfb45:	f7 d9                	neg    %ecx
8bfb47:	0b c8                	or     %eax,%ecx
8bfb49:	51                   	push   %ecx
8bfb4a:	e8 48 5c b7 ff       	call   0x435797
8bfb4f:	89 45 dc             	mov    %eax,-0x24(%ebp)
8bfb52:	59                   	pop    %ecx
8bfb53:	59                   	pop    %ecx
8bfb54:	85 c0                	test   %eax,%eax
8bfb56:	74 a3                	je     0x8bfafb
8bfb58:	ff 75 e4             	push   -0x1c(%ebp)
8bfb5b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8bfb5e:	e8 27 39 b5 ff       	call   0x41348a
8bfb63:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8bfb66:	8b 51 f4             	mov    -0xc(%ecx),%edx
8bfb69:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
8bfb70:	50                   	push   %eax
8bfb71:	51                   	push   %ecx
8bfb72:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
8bfb79:	50                   	push   %eax
8bfb7a:	ff 75 dc             	push   -0x24(%ebp)
8bfb7d:	e8 24 2d 00 00       	call   0x8c28a6
8bfb82:	8b 45 e0             	mov    -0x20(%ebp),%eax
8bfb85:	8b 4d dc             	mov    -0x24(%ebp),%ecx
8bfb88:	89 0c c6             	mov    %ecx,(%esi,%eax,8)
8bfb8b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
8bfb8e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
8bfb91:	8d 34 41             	lea    (%ecx,%eax,2),%esi
8bfb94:	56                   	push   %esi
8bfb95:	89 75 d4             	mov    %esi,-0x2c(%ebp)
8bfb98:	e8 ef 4f b5 ff       	call   0x414b8c
8bfb9d:	40                   	inc    %eax
8bfb9e:	33 c9                	xor    %ecx,%ecx
8bfba0:	6a 02                	push   $0x2
8bfba2:	5a                   	pop    %edx
8bfba3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
8bfba6:	f7 e2                	mul    %edx
8bfba8:	0f 90 c1             	seto   %cl
8bfbab:	f7 d9                	neg    %ecx
8bfbad:	0b c8                	or     %eax,%ecx
8bfbaf:	51                   	push   %ecx
8bfbb0:	e8 e2 5b b7 ff       	call   0x435797
8bfbb5:	83 c4 18             	add    $0x18,%esp
8bfbb8:	89 45 dc             	mov    %eax,-0x24(%ebp)
8bfbbb:	85 c0                	test   %eax,%eax
8bfbbd:	0f 84 38 ff ff ff    	je     0x8bfafb
8bfbc3:	56                   	push   %esi
8bfbc4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
8bfbc7:	e8 be 38 b5 ff       	call   0x41348a
8bfbcc:	8b 75 e8             	mov    -0x18(%ebp),%esi
8bfbcf:	8b 4e f4             	mov    -0xc(%esi),%ecx
8bfbd2:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
8bfbd9:	50                   	push   %eax
8bfbda:	56                   	push   %esi
8bfbdb:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
8bfbe2:	50                   	push   %eax
8bfbe3:	ff 75 dc             	push   -0x24(%ebp)
8bfbe6:	e8 bb 2c 00 00       	call   0x8c28a6
8bfbeb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
8bfbee:	83 c4 10             	add    $0x10,%esp
8bfbf1:	8b 45 ec             	mov    -0x14(%ebp),%eax
8bfbf4:	8b 55 dc             	mov    -0x24(%ebp),%edx
8bfbf7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
8bfbfb:	89 54 c8 04          	mov    %edx,0x4(%eax,%ecx,8)
8bfbff:	41                   	inc    %ecx
8bfc00:	8b 55 e4             	mov    -0x1c(%ebp),%edx
8bfc03:	8b 45 d4             	mov    -0x2c(%ebp),%eax
8bfc06:	89 4d e0             	mov    %ecx,-0x20(%ebp)
8bfc09:	8d 4e f0             	lea    -0x10(%esi),%ecx
8bfc0c:	8d 04 50             	lea    (%eax,%edx,2),%eax
8bfc0f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
8bfc12:	e8 fd 4f b4 ff       	call   0x404c14
8bfc17:	8b 75 ec             	mov    -0x14(%ebp),%esi
8bfc1a:	39 7d e0             	cmp    %edi,-0x20(%ebp)
8bfc1d:	0f 82 f6 fe ff ff    	jb     0x8bfb19
8bfc23:	33 c0                	xor    %eax,%eax
8bfc25:	39 83 d8 04 00 00    	cmp    %eax,0x4d8(%ebx)
8bfc2b:	75 2b                	jne    0x8bfc58
8bfc2d:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfc33:	56                   	push   %esi
8bfc34:	57                   	push   %edi
8bfc35:	50                   	push   %eax
8bfc36:	8b 08                	mov    (%eax),%ecx
8bfc38:	8b 71 10             	mov    0x10(%ecx),%esi
8bfc3b:	8b ce                	mov    %esi,%ecx
8bfc3d:	e8 23 ca b6 ff       	call   0x42c665
8bfc42:	ff d6                	call   *%esi
8bfc44:	85 c0                	test   %eax,%eax
8bfc46:	0f 88 fc fd ff ff    	js     0x8bfa48
8bfc4c:	c7 83 d8 04 00 00 01 	movl   $0x1,0x4d8(%ebx)
8bfc53:	00 00 00
8bfc56:	33 c0                	xor    %eax,%eax
8bfc58:	8b f0                	mov    %eax,%esi
8bfc5a:	85 ff                	test   %edi,%edi
8bfc5c:	74 1e                	je     0x8bfc7c
8bfc5e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
8bfc61:	ff 34 f3             	push   (%ebx,%esi,8)
8bfc64:	e8 a9 e9 b7 ff       	call   0x43e612
8bfc69:	ff 74 f3 04          	push   0x4(%ebx,%esi,8)
8bfc6d:	e8 a0 e9 b7 ff       	call   0x43e612
8bfc72:	46                   	inc    %esi
8bfc73:	59                   	pop    %ecx
8bfc74:	59                   	pop    %ecx
8bfc75:	3b f7                	cmp    %edi,%esi
8bfc77:	72 e8                	jb     0x8bfc61
8bfc79:	8b 5d d8             	mov    -0x28(%ebp),%ebx
8bfc7c:	ff 75 ec             	push   -0x14(%ebp)
8bfc7f:	e8 8e e9 b7 ff       	call   0x43e612
8bfc84:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfc8a:	59                   	pop    %ecx
8bfc8b:	83 78 18 01          	cmpl   $0x1,0x18(%eax)
8bfc8f:	76 05                	jbe    0x8bfc96
8bfc91:	8b 50 18             	mov    0x18(%eax),%edx
8bfc94:	eb 03                	jmp    0x8bfc99
8bfc96:	33 d2                	xor    %edx,%edx
8bfc98:	42                   	inc    %edx
8bfc99:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfc9f:	52                   	push   %edx
8bfca0:	50                   	push   %eax
8bfca1:	8b 08                	mov    (%eax),%ecx
8bfca3:	8b 71 14             	mov    0x14(%ecx),%esi
8bfca6:	8b ce                	mov    %esi,%ecx
8bfca8:	e8 b8 c9 b6 ff       	call   0x42c665
8bfcad:	ff d6                	call   *%esi
8bfcaf:	85 c0                	test   %eax,%eax
8bfcb1:	0f 88 91 fd ff ff    	js     0x8bfa48
8bfcb7:	33 ff                	xor    %edi,%edi
8bfcb9:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfcbf:	39 78 1c             	cmp    %edi,0x1c(%eax)
8bfcc2:	75 09                	jne    0x8bfccd
8bfcc4:	39 78 2c             	cmp    %edi,0x2c(%eax)
8bfcc7:	0f 84 3c 01 00 00    	je     0x8bfe09
8bfccd:	e8 43 69 b7 ff       	call   0x436615
8bfcd2:	50                   	push   %eax
8bfcd3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8bfcd6:	e8 39 9f b4 ff       	call   0x409c14
8bfcdb:	6a 02                	push   $0x2
8bfcdd:	58                   	pop    %eax
8bfcde:	89 45 fc             	mov    %eax,-0x4(%ebp)
8bfce1:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfce7:	39 78 1c             	cmp    %edi,0x1c(%eax)
8bfcea:	0f 84 97 00 00 00    	je     0x8bfd87
8bfcf0:	ff 70 1c             	push   0x1c(%eax)
8bfcf3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
8bfcf6:	e8 88 4c b6 ff       	call   0x424983
8bfcfb:	8d 45 e0             	lea    -0x20(%ebp),%eax
8bfcfe:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
8bfd02:	50                   	push   %eax
8bfd03:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8bfd06:	e8 e2 29 b5 ff       	call   0x4126ed
8bfd0b:	8b 75 ec             	mov    -0x14(%ebp),%esi
8bfd0e:	83 7e fc 01          	cmpl   $0x1,-0x4(%esi)
8bfd12:	7e 0e                	jle    0x8bfd22
8bfd14:	ff 76 f4             	push   -0xc(%esi)
8bfd17:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8bfd1a:	e8 cb a2 b7 ff       	call   0x439fea
8bfd1f:	8b 75 ec             	mov    -0x14(%ebp),%esi
8bfd22:	56                   	push   %esi
8bfd23:	ff 15 b8 3c d8 00    	call   *0xd83cb8
8bfd29:	6a ff                	push   $0xffffffff
8bfd2b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8bfd2e:	e8 f9 65 b7 ff       	call   0x43632c
8bfd33:	8b 7e f4             	mov    -0xc(%esi),%edi
8bfd36:	8d 4d e0             	lea    -0x20(%ebp),%ecx
8bfd39:	57                   	push   %edi
8bfd3a:	89 7d d8             	mov    %edi,-0x28(%ebp)
8bfd3d:	e8 36 2f b6 ff       	call   0x422c78
8bfd42:	66 83 f8 5c          	cmp    $0x5c,%ax
8bfd46:	75 04                	jne    0x8bfd4c
8bfd48:	47                   	inc    %edi
8bfd49:	89 7d d8             	mov    %edi,-0x28(%ebp)
8bfd4c:	8b 8b bc 00 00 00    	mov    0xbc(%ebx),%ecx
8bfd52:	8b 55 d8             	mov    -0x28(%ebp),%edx
8bfd55:	8b 45 e0             	mov    -0x20(%ebp),%eax
8bfd58:	8b 39                	mov    (%ecx),%edi
8bfd5a:	8d 04 50             	lea    (%eax,%edx,2),%eax
8bfd5d:	50                   	push   %eax
8bfd5e:	51                   	push   %ecx
8bfd5f:	8b 4f 3c             	mov    0x3c(%edi),%ecx
8bfd62:	e8 fe c8 b6 ff       	call   0x42c665
8bfd67:	ff 57 3c             	call   *0x3c(%edi)
8bfd6a:	85 c0                	test   %eax,%eax
8bfd6c:	0f 88 d6 fc ff ff    	js     0x8bfa48
8bfd72:	8b 4d e0             	mov    -0x20(%ebp),%ecx
8bfd75:	6a 02                	push   $0x2
8bfd77:	58                   	pop    %eax