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
8bfd78:	88 45 fc             	mov    %al,-0x4(%ebp)
8bfd7b:	8d 49 f0             	lea    -0x10(%ecx),%ecx
8bfd7e:	e8 91 4e b4 ff       	call   0x404c14
8bfd83:	33 ff                	xor    %edi,%edi
8bfd85:	eb 03                	jmp    0x8bfd8a
8bfd87:	8b 75 ec             	mov    -0x14(%ebp),%esi
8bfd8a:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfd90:	39 78 2c             	cmp    %edi,0x2c(%eax)
8bfd93:	74 14                	je     0x8bfda9
8bfd95:	83 7e f4 00          	cmpl   $0x0,-0xc(%esi)
8bfd99:	75 14                	jne    0x8bfdaf
8bfd9b:	ff 70 2c             	push   0x2c(%eax)
8bfd9e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
8bfda1:	e8 e4 36 b5 ff       	call   0x41348a
8bfda6:	8b 75 ec             	mov    -0x14(%ebp),%esi
8bfda9:	83 7e f4 00          	cmpl   $0x0,-0xc(%esi)
8bfdad:	74 4e                	je     0x8bfdfd
8bfdaf:	8d 45 e0             	lea    -0x20(%ebp),%eax
8bfdb2:	89 7d e0             	mov    %edi,-0x20(%ebp)
8bfdb5:	50                   	push   %eax
8bfdb6:	68 38 87 c4 00       	push   $0xc48738
8bfdbb:	57                   	push   %edi
8bfdbc:	56                   	push   %esi
8bfdbd:	e8 52 74 b6 ff       	call   0x427214
8bfdc2:	83 c4 10             	add    $0x10,%esp
8bfdc5:	85 c0                	test   %eax,%eax
8bfdc7:	78 34                	js     0x8bfdfd
8bfdc9:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfdcf:	ff 75 e0             	push   -0x20(%ebp)
8bfdd2:	50                   	push   %eax
8bfdd3:	8b 08                	mov    (%eax),%ecx
8bfdd5:	8b 79 30             	mov    0x30(%ecx),%edi
8bfdd8:	8b cf                	mov    %edi,%ecx
8bfdda:	e8 86 c8 b6 ff       	call   0x42c665
8bfddf:	ff d7                	call   *%edi
8bfde1:	85 c0                	test   %eax,%eax
8bfde3:	0f 88 5f fc ff ff    	js     0x8bfa48
8bfde9:	8b 45 e0             	mov    -0x20(%ebp),%eax
8bfdec:	50                   	push   %eax
8bfded:	8b 08                	mov    (%eax),%ecx
8bfdef:	8b 79 08             	mov    0x8(%ecx),%edi
8bfdf2:	8b cf                	mov    %edi,%ecx
8bfdf4:	e8 6c c8 b6 ff       	call   0x42c665
8bfdf9:	ff d7                	call   *%edi
8bfdfb:	33 ff                	xor    %edi,%edi
8bfdfd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
8bfe01:	8d 4e f0             	lea    -0x10(%esi),%ecx
8bfe04:	e8 0b 4e b4 ff       	call   0x404c14
8bfe09:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bfe0f:	8d 55 f0             	lea    -0x10(%ebp),%edx
8bfe12:	89 7d f0             	mov    %edi,-0x10(%ebp)
8bfe15:	52                   	push   %edx
8bfe16:	50                   	push   %eax
8bfe17:	8b 08                	mov    (%eax),%ecx
8bfe19:	8b 71 28             	mov    0x28(%ecx),%esi
8bfe1c:	8b ce                	mov    %esi,%ecx
8bfe1e:	e8 42 c8 b6 ff       	call   0x42c665
8bfe23:	ff d6                	call   *%esi
8bfe25:	85 c0                	test   %eax,%eax
8bfe27:	0f 88 1b fc ff ff    	js     0x8bfa48
8bfe2d:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
8bfe33:	b9 00 02 00 00       	mov    $0x200,%ecx
8bfe38:	8b 55 f0             	mov    -0x10(%ebp),%edx
8bfe3b:	85 48 34             	test   %ecx,0x34(%eax)
8bfe3e:	74 04                	je     0x8bfe44
8bfe40:	0b d1                	or     %ecx,%edx
8bfe42:	eb 06                	jmp    0x8bfe4a
8bfe44:	81 e2 ff fd ff ff    	and    $0xfffffdff,%edx
8bfe4a:	b9 00 20 00 00       	mov    $0x2000,%ecx
8bfe4f:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfe52:	85 48 34             	test   %ecx,0x34(%eax)
8bfe55:	74 04                	je     0x8bfe5b
8bfe57:	0b d1                	or     %ecx,%edx
8bfe59:	eb 06                	jmp    0x8bfe61
8bfe5b:	81 e2 ff df ff ff    	and    $0xffffdfff,%edx
8bfe61:	b9 00 00 00 02       	mov    $0x2000000,%ecx
8bfe66:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfe69:	85 48 34             	test   %ecx,0x34(%eax)
8bfe6c:	74 04                	je     0x8bfe72
8bfe6e:	0b d1                	or     %ecx,%edx
8bfe70:	eb 06                	jmp    0x8bfe78
8bfe72:	81 e2 ff ff ff fd    	and    $0xfdffffff,%edx
8bfe78:	b9 00 10 00 00       	mov    $0x1000,%ecx
8bfe7d:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfe80:	85 48 34             	test   %ecx,0x34(%eax)
8bfe83:	74 04                	je     0x8bfe89
8bfe85:	0b d1                	or     %ecx,%edx
8bfe87:	eb 06                	jmp    0x8bfe8f
8bfe89:	81 e2 ff ef ff ff    	and    $0xffffefff,%edx
8bfe8f:	b9 00 00 00 10       	mov    $0x10000000,%ecx
8bfe94:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfe97:	85 48 34             	test   %ecx,0x34(%eax)
8bfe9a:	74 04                	je     0x8bfea0
8bfe9c:	0b d1                	or     %ecx,%edx
8bfe9e:	eb 06                	jmp    0x8bfea6
8bfea0:	81 e2 ff ff ff ef    	and    $0xefffffff,%edx
8bfea6:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfea9:	f6 40 34 08          	testb  $0x8,0x34(%eax)
8bfead:	74 07                	je     0x8bfeb6
8bfeaf:	6a 08                	push   $0x8
8bfeb1:	59                   	pop    %ecx
8bfeb2:	0b d1                	or     %ecx,%edx
8bfeb4:	eb 03                	jmp    0x8bfeb9
8bfeb6:	83 e2 f7             	and    $0xfffffff7,%edx
8bfeb9:	b9 00 00 10 00       	mov    $0x100000,%ecx
8bfebe:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfec1:	85 48 34             	test   %ecx,0x34(%eax)
8bfec4:	74 04                	je     0x8bfeca
8bfec6:	0b d1                	or     %ecx,%edx
8bfec8:	eb 06                	jmp    0x8bfed0
8bfeca:	81 e2 ff ff ef ff    	and    $0xffefffff,%edx
8bfed0:	b9 00 80 00 00       	mov    $0x8000,%ecx
8bfed5:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfed8:	85 48 34             	test   %ecx,0x34(%eax)
8bfedb:	74 04                	je     0x8bfee1
8bfedd:	0b d1                	or     %ecx,%edx
8bfedf:	eb 06                	jmp    0x8bfee7
8bfee1:	81 e2 ff 7f ff ff    	and    $0xffff7fff,%edx
8bfee7:	b9 00 00 01 00       	mov    $0x10000,%ecx
8bfeec:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bfeef:	85 48 34             	test   %ecx,0x34(%eax)
8bfef2:	74 04                	je     0x8bfef8
8bfef4:	0b d1                	or     %ecx,%edx
8bfef6:	eb 06                	jmp    0x8bfefe
8bfef8:	81 e2 ff ff fe ff    	and    $0xfffeffff,%edx
8bfefe:	b9 00 01 00 00       	mov    $0x100,%ecx
8bff03:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff06:	85 48 34             	test   %ecx,0x34(%eax)
8bff09:	74 04                	je     0x8bff0f
8bff0b:	0b d1                	or     %ecx,%edx
8bff0d:	eb 06                	jmp    0x8bff15
8bff0f:	81 e2 ff fe ff ff    	and    $0xfffffeff,%edx
8bff15:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff18:	f6 40 34 02          	testb  $0x2,0x34(%eax)
8bff1c:	74 07                	je     0x8bff25
8bff1e:	6a 02                	push   $0x2
8bff20:	59                   	pop    %ecx
8bff21:	0b d1                	or     %ecx,%edx
8bff23:	eb 03                	jmp    0x8bff28
8bff25:	83 e2 fd             	and    $0xfffffffd,%edx
8bff28:	b9 00 08 00 00       	mov    $0x800,%ecx
8bff2d:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff30:	85 48 34             	test   %ecx,0x34(%eax)
8bff33:	74 04                	je     0x8bff39
8bff35:	0b d1                	or     %ecx,%edx
8bff37:	eb 06                	jmp    0x8bff3f
8bff39:	81 e2 ff f7 ff ff    	and    $0xfffff7ff,%edx
8bff3f:	b9 00 40 00 00       	mov    $0x4000,%ecx
8bff44:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff47:	85 48 34             	test   %ecx,0x34(%eax)
8bff4a:	74 04                	je     0x8bff50
8bff4c:	0b d1                	or     %ecx,%edx
8bff4e:	eb 06                	jmp    0x8bff56
8bff50:	81 e2 ff bf ff ff    	and    $0xffffbfff,%edx
8bff56:	81 e2 ff ff fb ff    	and    $0xfffbffff,%edx
8bff5c:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff5f:	f6 40 54 01          	testb  $0x1,0x54(%eax)
8bff63:	74 06                	je     0x8bff6b
8bff65:	81 ca 00 00 04 00    	or     $0x40000,%edx
8bff6b:	83 e2 df             	and    $0xffffffdf,%edx
8bff6e:	39 bb b0 00 00 00    	cmp    %edi,0xb0(%ebx)
8bff74:	75 08                	jne    0x8bff7e
8bff76:	39 bb b4 00 00 00    	cmp    %edi,0xb4(%ebx)
8bff7c:	74 03                	je     0x8bff81
8bff7e:	83 ca 20             	or     $0x20,%edx
8bff81:	83 ca 40             	or     $0x40,%edx
8bff84:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff87:	39 bb b4 00 00 00    	cmp    %edi,0xb4(%ebx)
8bff8d:	74 06                	je     0x8bff95
8bff8f:	83 e2 bf             	and    $0xffffffbf,%edx
8bff92:	89 55 f0             	mov    %edx,-0x10(%ebp)
8bff95:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
8bff9b:	52                   	push   %edx
8bff9c:	50                   	push   %eax
8bff9d:	8b 08                	mov    (%eax),%ecx