4ffcfd:	d3 fe                	sar    %cl,%esi
4ffcff:	8b cf                	mov    %edi,%ecx
4ffd01:	8b 55 0c             	mov    0xc(%ebp),%edx
4ffd04:	d3 e0                	shl    %cl,%eax
4ffd06:	48                   	dec    %eax
4ffd07:	23 f0                	and    %eax,%esi
4ffd09:	8d 44 ba 44          	lea    0x44(%edx,%edi,4),%eax
4ffd0d:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ffd10:	eb 40                	jmp    0x4ffd52
4ffd12:	03 f6                	add    %esi,%esi
4ffd14:	83 fb 01             	cmp    $0x1,%ebx
4ffd17:	7d 27                	jge    0x4ffd40
4ffd19:	6a 01                	push   $0x1
4ffd1b:	8b cb                	mov    %ebx,%ecx
4ffd1d:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ffd20:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ffd23:	e8 78 fe ff ff       	call   0x4ffba0
4ffd28:	85 c0                	test   %eax,%eax
4ffd2a:	75 05                	jne    0x4ffd31
4ffd2c:	83 c8 ff             	or     $0xffffffff,%eax
4ffd2f:	eb 78                	jmp    0x4ffda9
4ffd31:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ffd34:	8b 4a 0c             	mov    0xc(%edx),%ecx
4ffd37:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ffd3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ffd3d:	8b 58 10             	mov    0x10(%eax),%ebx
4ffd40:	4b                   	dec    %ebx
4ffd41:	8b cb                	mov    %ebx,%ecx
4ffd43:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ffd46:	d3 f8                	sar    %cl,%eax
4ffd48:	83 e0 01             	and    $0x1,%eax
4ffd4b:	0b f0                	or     %eax,%esi
4ffd4d:	47                   	inc    %edi
4ffd4e:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
4ffd52:	8b 55 f4             	mov    -0xc(%ebp),%edx
4ffd55:	3b 32                	cmp    (%edx),%esi
4ffd57:	7f b9                	jg     0x4ffd12
4ffd59:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ffd5c:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ffd5f:	83 ff 10             	cmp    $0x10,%edi
4ffd62:	89 50 0c             	mov    %edx,0xc(%eax)
4ffd65:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ffd68:	89 59 10             	mov    %ebx,0x10(%ecx)
4ffd6b:	7e 1b                	jle    0x4ffd88
4ffd6d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ffd70:	8b 40 14             	mov    0x14(%eax),%eax
4ffd73:	8b 10                	mov    (%eax),%edx
4ffd75:	c7 42 14 72 00 00 00 	movl   $0x72,0x14(%edx)
4ffd7c:	83 ca ff             	or     $0xffffffff,%edx
4ffd7f:	8b 08                	mov    (%eax),%ecx
4ffd81:	ff 51 04             	call   *0x4(%ecx)
4ffd84:	33 c0                	xor    %eax,%eax
4ffd86:	eb 21                	jmp    0x4ffda9
4ffd88:	8b 55 0c             	mov    0xc(%ebp),%edx
4ffd8b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ffd8e:	2b 34 ba             	sub    (%edx,%edi,4),%esi
4ffd91:	8b 55 0c             	mov    0xc(%ebp),%edx
4ffd94:	8b 84 b9 8c 00 00 00 	mov    0x8c(%ecx,%edi,4),%eax
4ffd9b:	8b 8a d0 00 00 00    	mov    0xd0(%edx),%ecx
4ffda1:	8d 04 01             	lea    (%ecx,%eax,1),%eax
4ffda4:	0f b6 44 30 11       	movzbl 0x11(%eax,%esi,1),%eax
4ffda9:	5f                   	pop    %edi
4ffdaa:	5e                   	pop    %esi
4ffdab:	5b                   	pop    %ebx
4ffdac:	8b e5                	mov    %ebp,%esp
4ffdae:	5d                   	pop    %ebp
4ffdaf:	c2 08 00             	ret    $0x8
4ffdb2:	90                   	nop
4ffdb3:	90                   	nop
4ffdb4:	53                   	push   %ebx
4ffdb5:	8b d8                	mov    %eax,%ebx
4ffdb7:	56                   	push   %esi
4ffdb8:	8b b3 b4 01 00 00    	mov    0x1b4(%ebx),%esi
4ffdbe:	8b 46 0c             	mov    0xc(%esi),%eax
4ffdc1:	85 c0                	test   %eax,%eax
4ffdc3:	79 03                	jns    0x4ffdc8
4ffdc5:	83 c0 07             	add    $0x7,%eax
4ffdc8:	c1 f8 03             	sar    $0x3,%eax
4ffdcb:	8b 93 b0 01 00 00    	mov    0x1b0(%ebx),%edx
4ffdd1:	01 42 5c             	add    %eax,0x5c(%edx)
4ffdd4:	33 c9                	xor    %ecx,%ecx
4ffdd6:	89 4e 0c             	mov    %ecx,0xc(%esi)
4ffdd9:	8b c3                	mov    %ebx,%eax
4ffddb:	8b 90 b0 01 00 00    	mov    0x1b0(%eax),%edx
4ffde1:	ff 52 08             	call   *0x8(%edx)
4ffde4:	85 c0                	test   %eax,%eax
4ffde6:	75 05                	jne    0x4ffded
4ffde8:	33 c0                	xor    %eax,%eax
4ffdea:	5e                   	pop    %esi
4ffdeb:	5b                   	pop    %ebx
4ffdec:	c3                   	ret
4ffded:	33 d2                	xor    %edx,%edx
4ffdef:	8d 46 14             	lea    0x14(%esi),%eax
4ffdf2:	eb 08                	jmp    0x4ffdfc
4ffdf4:	33 c9                	xor    %ecx,%ecx
4ffdf6:	42                   	inc    %edx
4ffdf7:	89 08                	mov    %ecx,(%eax)
4ffdf9:	83 c0 04             	add    $0x4,%eax
4ffdfc:	3b 93 40 01 00 00    	cmp    0x140(%ebx),%edx
4ffe02:	7c f0                	jl     0x4ffdf4
4ffe04:	8b 93 10 01 00 00    	mov    0x110(%ebx),%edx
4ffe0a:	33 c0                	xor    %eax,%eax
4ffe0c:	89 56 24             	mov    %edx,0x24(%esi)
4ffe0f:	89 46 10             	mov    %eax,0x10(%esi)
4ffe12:	b8 01 00 00 00       	mov    $0x1,%eax
4ffe17:	5e                   	pop    %esi
4ffe18:	5b                   	pop    %ebx
4ffe19:	c3                   	ret
4ffe1a:	90                   	nop
4ffe1b:	90                   	nop
4ffe1c:	53                   	push   %ebx
4ffe1d:	56                   	push   %esi
4ffe1e:	57                   	push   %edi
4ffe1f:	55                   	push   %ebp
4ffe20:	83 c4 a4             	add    $0xffffffa4,%esp
4ffe23:	8b f2                	mov    %edx,%esi
4ffe25:	89 04 24             	mov    %eax,(%esp)
4ffe28:	8b 04 24             	mov    (%esp),%eax
4ffe2b:	8b 90 b4 01 00 00    	mov    0x1b4(%eax),%edx
4ffe31:	89 54 24 04          	mov    %edx,0x4(%esp)
4ffe35:	8b 0c 24             	mov    (%esp),%ecx
4ffe38:	83 b9 10 01 00 00 00 	cmpl   $0x0,0x110(%ecx)
4ffe3f:	74 1d                	je     0x4ffe5e
4ffe41:	8b 44 24 04          	mov    0x4(%esp),%eax
4ffe45:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4ffe49:	75 13                	jne    0x4ffe5e
4ffe4b:	8b 04 24             	mov    (%esp),%eax
4ffe4e:	e8 61 ff ff ff       	call   0x4ffdb4
4ffe53:	85 c0                	test   %eax,%eax
4ffe55:	75 07                	jne    0x4ffe5e
4ffe57:	33 c0                	xor    %eax,%eax
4ffe59:	e9 50 04 00 00       	jmp    0x5002ae
4ffe5e:	8b 14 24             	mov    (%esp),%edx
4ffe61:	89 54 24 44          	mov    %edx,0x44(%esp)
4ffe65:	8b 0c 24             	mov    (%esp),%ecx
4ffe68:	8b 41 14             	mov    0x14(%ecx),%eax
4ffe6b:	8b 10                	mov    (%eax),%edx
4ffe6d:	89 54 24 30          	mov    %edx,0x30(%esp)
4ffe71:	8b 48 04             	mov    0x4(%eax),%ecx
4ffe74:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4ffe78:	8b 04 24             	mov    (%esp),%eax
4ffe7b:	8b 90 98 01 00 00    	mov    0x198(%eax),%edx
4ffe81:	89 54 24 38          	mov    %edx,0x38(%esp)
4ffe85:	8b 44 24 04          	mov    0x4(%esp),%eax
4ffe89:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4ffe8d:	8b 58 0c             	mov    0xc(%eax),%ebx
4ffe90:	8b 44 24 04          	mov    0x4(%esp),%eax
4ffe94:	8b 79 08             	mov    0x8(%ecx),%edi
4ffe97:	83 c0 10             	add    $0x10,%eax
4ffe9a:	89 44 24 48          	mov    %eax,0x48(%esp)
4ffe9e:	b9 04 00 00 00       	mov    $0x4,%ecx
4ffea3:	8b 54 24 04          	mov    0x4(%esp),%edx
4ffea7:	56                   	push   %esi
4ffea8:	57                   	push   %edi
4ffea9:	8d 7c 24 54          	lea    0x54(%esp),%edi
4ffead:	8d 72 14             	lea    0x14(%edx),%esi
4ffeb0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4ffeb2:	5f                   	pop    %edi
4ffeb3:	5e                   	pop    %esi
4ffeb4:	33 c0                	xor    %eax,%eax
4ffeb6:	89 44 24 08          	mov    %eax,0x8(%esp)
4ffeba:	8b c6                	mov    %esi,%eax
4ffebc:	8b 14 24             	mov    (%esp),%edx
4ffebf:	8d 8a 60 01 00 00    	lea    0x160(%edx),%ecx
4ffec5:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4ffec9:	89 44 24 28          	mov    %eax,0x28(%esp)
4ffecd:	e9 7d 03 00 00       	jmp    0x50024f
4ffed2:	8b 54 24 28          	mov    0x28(%esp),%edx
4ffed6:	8b 0a                	mov    (%edx),%ecx
4ffed8:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4ffedc:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4ffee0:	8b 10                	mov    (%eax),%edx
4ffee2:	89 54 24 0c          	mov    %edx,0xc(%esp)
4ffee6:	8b 0c 24             	mov    (%esp),%ecx
4ffee9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4ffeed:	8b ac 81 44 01 00 00 	mov    0x144(%ecx,%eax,4),%ebp
4ffef4:	8b 45 14             	mov    0x14(%ebp),%eax
4ffef7:	8b 54 24 04          	mov    0x4(%esp),%edx
4ffefb:	8b 4c 82 28          	mov    0x28(%edx,%eax,4),%ecx
4ffeff:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4fff03:	8b 45 18             	mov    0x18(%ebp),%eax
4fff06:	8b 54 24 04          	mov    0x4(%esp),%edx
4fff0a:	8b 4c 82 38          	mov    0x38(%edx,%eax,4),%ecx
4fff0e:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4fff12:	83 fb 08             	cmp    $0x8,%ebx
4fff15:	7d 31                	jge    0x4fff48
4fff17:	6a 00                	push   $0x0
4fff19:	8d 44 24 34          	lea    0x34(%esp),%eax
4fff1d:	8b cb                	mov    %ebx,%ecx
4fff1f:	8b d7                	mov    %edi,%edx
4fff21:	e8 7a fc ff ff       	call   0x4ffba0
4fff26:	85 c0                	test   %eax,%eax
4fff28:	75 07                	jne    0x4fff31
4fff2a:	33 c0                	xor    %eax,%eax
4fff2c:	e9 7d 03 00 00       	jmp    0x5002ae
4fff31:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4fff35:	8b 5c 24 40          	mov    0x40(%esp),%ebx
4fff39:	83 fb 08             	cmp    $0x8,%ebx
4fff3c:	7d 0a                	jge    0x4fff48
4fff3e:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
4fff45:	00
4fff46:	eb 39                	jmp    0x4fff81
4fff48:	8d 4b f8             	lea    -0x8(%ebx),%ecx
4fff4b:	8b c7                	mov    %edi,%eax
4fff4d:	d3 f8                	sar    %cl,%eax
4fff4f:	25 ff 00 00 00       	and    $0xff,%eax
4fff54:	8b 54 24 14          	mov    0x14(%esp),%edx
4fff58:	8b 94 82 d4 00 00 00 	mov    0xd4(%edx,%eax,4),%edx
4fff5f:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4fff63:	85 d2                	test   %edx,%edx
4fff65:	74 12                	je     0x4fff79
4fff67:	2b 5c 24 1c          	sub    0x1c(%esp),%ebx
4fff6b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4fff6f:	0f b6 b4 01 d4 04 00 	movzbl 0x4d4(%ecx,%eax,1),%esi
4fff76:	00
4fff77:	eb 34                	jmp    0x4fffad
4fff79:	c7 44 24 1c 09 00 00 	movl   $0x9,0x1c(%esp)
4fff80:	00
4fff81:	8b 44 24 14          	mov    0x14(%esp),%eax
4fff85:	8b cb                	mov    %ebx,%ecx
4fff87:	50                   	push   %eax
4fff88:	8b 54 24 20          	mov    0x20(%esp),%edx
4fff8c:	52                   	push   %edx
4fff8d:	8b d7                	mov    %edi,%edx
4fff8f:	8d 44 24 38          	lea    0x38(%esp),%eax
4fff93:	e8 18 fd ff ff       	call   0x4ffcb0
4fff98:	8b f0                	mov    %eax,%esi
4fff9a:	85 c0                	test   %eax,%eax
4fff9c:	7d 07                	jge    0x4fffa5
4fff9e:	33 c0                	xor    %eax,%eax
4fffa0:	e9 09 03 00 00       	jmp    0x5002ae
4fffa5:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4fffa9:	8b 5c 24 40          	mov    0x40(%esp),%ebx
4fffad:	85 f6                	test   %esi,%esi
4fffaf:	74 51                	je     0x500002
4fffb1:	3b f3                	cmp    %ebx,%esi
4fffb3:	7e 21                	jle    0x4fffd6
4fffb5:	56                   	push   %esi
4fffb6:	8d 44 24 34          	lea    0x34(%esp),%eax
4fffba:	8b cb                	mov    %ebx,%ecx
4fffbc:	8b d7                	mov    %edi,%edx
4fffbe:	e8 dd fb ff ff       	call   0x4ffba0
4fffc3:	85 c0                	test   %eax,%eax
4fffc5:	75 07                	jne    0x4fffce
4fffc7:	33 c0                	xor    %eax,%eax
4fffc9:	e9 e0 02 00 00       	jmp    0x5002ae
4fffce:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4fffd2:	8b 5c 24 40          	mov    0x40(%esp),%ebx
4fffd6:	2b de                	sub    %esi,%ebx
4fffd8:	8b cb                	mov    %ebx,%ecx
4fffda:	8b c7                	mov    %edi,%eax
4fffdc:	d3 f8                	sar    %cl,%eax
4fffde:	8b ce                	mov    %esi,%ecx
4fffe0:	ba 01 00 00 00       	mov    $0x1,%edx
4fffe5:	d3 e2                	shl    %cl,%edx
4fffe7:	4a                   	dec    %edx
4fffe8:	23 c2                	and    %edx,%eax
4fffea:	3b 04 b5 18 d7 68 00 	cmp    0x68d718(,%esi,4),%eax
4ffff1:	7d 0b                	jge    0x4ffffe
4ffff3:	8b 14 b5 58 d7 68 00 	mov    0x68d758(,%esi,4),%edx
4ffffa:	03 d0                	add    %eax,%edx
4ffffc:	eb 02                	jmp    0x500000
4ffffe:	8b d0                	mov    %eax,%edx
500000:	8b f2                	mov    %edx,%esi
500002:	83 7d 30 00          	cmpl   $0x0,0x30(%ebp)
500006:	0f 84 4c 01 00 00    	je     0x500158
50000c:	8b 44 24 0c          	mov    0xc(%esp),%eax
500010:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
500014:	03 74 84 4c          	add    0x4c(%esp,%eax,4),%esi
500018:	89 74 8c 4c          	mov    %esi,0x4c(%esp,%ecx,4)
50001c:	8b 44 24 10          	mov    0x10(%esp),%eax
500020:	66 89 30             	mov    %si,(%eax)
500023:	83 7d 24 01          	cmpl   $0x1,0x24(%ebp)
500027:	0f 8e 2b 01 00 00    	jle    0x500158
50002d:	bd 01 00 00 00       	mov    $0x1,%ebp
500032:	83 fb 08             	cmp    $0x8,%ebx
500035:	7d 31                	jge    0x500068
500037:	6a 00                	push   $0x0
500039:	8d 44 24 34          	lea    0x34(%esp),%eax
50003d:	8b cb                	mov    %ebx,%ecx
50003f:	8b d7                	mov    %edi,%edx
500041:	e8 5a fb ff ff       	call   0x4ffba0
500046:	85 c0                	test   %eax,%eax
500048:	75 07                	jne    0x500051
50004a:	33 c0                	xor    %eax,%eax
50004c:	e9 5d 02 00 00       	jmp    0x5002ae
500051:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
500055:	8b 5c 24 40          	mov    0x40(%esp),%ebx
500059:	83 fb 08             	cmp    $0x8,%ebx
50005c:	7d 0a                	jge    0x500068
50005e:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
500065:	00
500066:	eb 39                	jmp    0x5000a1
500068:	8d 4b f8             	lea    -0x8(%ebx),%ecx
50006b:	8b c7                	mov    %edi,%eax
50006d:	d3 f8                	sar    %cl,%eax
50006f:	25 ff 00 00 00       	and    $0xff,%eax
500074:	8b 54 24 18          	mov    0x18(%esp),%edx
500078:	8b 94 82 d4 00 00 00 	mov    0xd4(%edx,%eax,4),%edx
50007f:	89 54 24 20          	mov    %edx,0x20(%esp)
500083:	85 d2                	test   %edx,%edx
500085:	74 12                	je     0x500099
500087:	2b 5c 24 20          	sub    0x20(%esp),%ebx
50008b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
50008f:	0f b6 b4 01 d4 04 00 	movzbl 0x4d4(%ecx,%eax,1),%esi
500096:	00
500097:	eb 34                	jmp    0x5000cd
500099:	c7 44 24 20 09 00 00 	movl   $0x9,0x20(%esp)
5000a0:	00
5000a1:	8b 44 24 18          	mov    0x18(%esp),%eax
5000a5:	8b cb                	mov    %ebx,%ecx
5000a7:	50                   	push   %eax
5000a8:	8b 54 24 24          	mov    0x24(%esp),%edx
5000ac:	52                   	push   %edx
5000ad:	8b d7                	mov    %edi,%edx
5000af:	8d 44 24 38          	lea    0x38(%esp),%eax
5000b3:	e8 f8 fb ff ff       	call   0x4ffcb0
5000b8:	8b f0                	mov    %eax,%esi
5000ba:	85 c0                	test   %eax,%eax
5000bc:	7d 07                	jge    0x5000c5
5000be:	33 c0                	xor    %eax,%eax
5000c0:	e9 e9 01 00 00       	jmp    0x5002ae
5000c5:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5000c9:	8b 5c 24 40          	mov    0x40(%esp),%ebx
5000cd:	8b c6                	mov    %esi,%eax
5000cf:	c1 f8 04             	sar    $0x4,%eax
5000d2:	83 e6 0f             	and    $0xf,%esi
5000d5:	85 f6                	test   %esi,%esi
5000d7:	74 64                	je     0x50013d
5000d9:	03 e8                	add    %eax,%ebp
5000db:	3b f3                	cmp    %ebx,%esi
5000dd:	7e 21                	jle    0x500100
5000df:	56                   	push   %esi
5000e0:	8d 44 24 34          	lea    0x34(%esp),%eax
5000e4:	8b cb                	mov    %ebx,%ecx
5000e6:	8b d7                	mov    %edi,%edx
5000e8:	e8 b3 fa ff ff       	call   0x4ffba0
5000ed:	85 c0                	test   %eax,%eax
5000ef:	75 07                	jne    0x5000f8
5000f1:	33 c0                	xor    %eax,%eax
5000f3:	e9 b6 01 00 00       	jmp    0x5002ae
5000f8:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5000fc:	8b 5c 24 40          	mov    0x40(%esp),%ebx
500100:	2b de                	sub    %esi,%ebx
500102:	8b cb                	mov    %ebx,%ecx
500104:	8b c7                	mov    %edi,%eax
500106:	d3 f8                	sar    %cl,%eax
500108:	8b ce                	mov    %esi,%ecx
50010a:	ba 01 00 00 00       	mov    $0x1,%edx
50010f:	d3 e2                	shl    %cl,%edx