51ed43:	8b 43 68             	mov    0x68(%ebx),%eax
51ed46:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51ed49:	8d 04 88             	lea    (%eax,%ecx,4),%eax
51ed4c:	89 50 08             	mov    %edx,0x8(%eax)
51ed4f:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
51ed52:	8b 56 30             	mov    0x30(%esi),%edx
51ed55:	39 4b 70             	cmp    %ecx,0x70(%ebx)
51ed58:	7f 12                	jg     0x51ed6c
51ed5a:	6a 00                	push   $0x0
51ed5c:	6a 00                	push   $0x0
51ed5e:	52                   	push   %edx
51ed5f:	6a 41                	push   $0x41
51ed61:	53                   	push   %ebx
51ed62:	e8 99 77 fe ff       	call   0x506500
51ed67:	83 c4 14             	add    $0x14,%esp
51ed6a:	eb 32                	jmp    0x51ed9e
51ed6c:	8b 75 b8             	mov    -0x48(%ebp),%esi
51ed6f:	8d 41 01             	lea    0x1(%ecx),%eax
51ed72:	89 43 6c             	mov    %eax,0x6c(%ebx)
51ed75:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51ed78:	8b 43 68             	mov    0x68(%ebx),%eax
51ed7b:	c7 04 88 41 00 00 00 	movl   $0x41,(%eax,%ecx,4)
51ed82:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
51ed86:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
51ed8d:	00
51ed8e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
51ed95:	00
51ed96:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51ed9d:	00
51ed9e:	8b 4e 2c             	mov    0x2c(%esi),%ecx
51eda1:	83 e9 01             	sub    $0x1,%ecx
51eda4:	8b 53 6c             	mov    0x6c(%ebx),%edx
51eda7:	79 03                	jns    0x51edac
51eda9:	8d 4a ff             	lea    -0x1(%edx),%ecx
51edac:	8b 03                	mov    (%ebx),%eax
51edae:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
51edb2:	74 07                	je     0x51edbb
51edb4:	b9 ec 02 73 00       	mov    $0x7302ec,%ecx
51edb9:	eb 09                	jmp    0x51edc4
51edbb:	8b 43 68             	mov    0x68(%ebx),%eax
51edbe:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51edc1:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
51edc4:	8d 42 ff             	lea    -0x1(%edx),%eax
51edc7:	89 41 04             	mov    %eax,0x4(%ecx)
51edca:	c6 47 13 00          	movb   $0x0,0x13(%edi)
51edce:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
51edd5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51edd8:	5f                   	pop    %edi
51edd9:	5e                   	pop    %esi
51edda:	33 cd                	xor    %ebp,%ecx
51eddc:	5b                   	pop    %ebx
51eddd:	e8 f8 26 0c 00       	call   0x5e14da
51ede2:	8b e5                	mov    %ebp,%esp
51ede4:	5d                   	pop    %ebp
51ede5:	c3                   	ret
51ede6:	cc                   	int3
51ede7:	cc                   	int3
51ede8:	cc                   	int3
51ede9:	cc                   	int3
51edea:	cc                   	int3
51edeb:	cc                   	int3
51edec:	cc                   	int3
51eded:	cc                   	int3
51edee:	cc                   	int3
51edef:	cc                   	int3
51edf0:	55                   	push   %ebp
51edf1:	8b ec                	mov    %esp,%ebp
51edf3:	56                   	push   %esi
51edf4:	8b 75 0c             	mov    0xc(%ebp),%esi
51edf7:	85 f6                	test   %esi,%esi
51edf9:	74 49                	je     0x51ee44
51edfb:	53                   	push   %ebx
51edfc:	8b 5d 24             	mov    0x24(%ebp),%ebx
51edff:	57                   	push   %edi
51ee00:	8b 7d 28             	mov    0x28(%ebp),%edi
51ee03:	0f b6 46 08          	movzbl 0x8(%esi),%eax
51ee07:	3b 45 10             	cmp    0x10(%ebp),%eax
51ee0a:	75 2f                	jne    0x51ee3b
51ee0c:	0f b6 46 09          	movzbl 0x9(%esi),%eax
51ee10:	3b 45 18             	cmp    0x18(%ebp),%eax
51ee13:	75 26                	jne    0x51ee3b
51ee15:	ff 75 14             	push   0x14(%ebp)
51ee18:	ff 76 10             	push   0x10(%esi)
51ee1b:	e8 a0 91 fd ff       	call   0x4f7fc0
51ee20:	83 c4 08             	add    $0x8,%esp
51ee23:	85 c0                	test   %eax,%eax
51ee25:	74 14                	je     0x51ee3b
51ee27:	57                   	push   %edi
51ee28:	53                   	push   %ebx
51ee29:	ff 75 20             	push   0x20(%ebp)
51ee2c:	ff 75 1c             	push   0x1c(%ebp)
51ee2f:	56                   	push   %esi
51ee30:	ff 75 08             	push   0x8(%ebp)
51ee33:	e8 18 00 00 00       	call   0x51ee50
51ee38:	83 c4 18             	add    $0x18,%esp
51ee3b:	8b 76 20             	mov    0x20(%esi),%esi
51ee3e:	85 f6                	test   %esi,%esi
51ee40:	75 c1                	jne    0x51ee03
51ee42:	5f                   	pop    %edi
51ee43:	5b                   	pop    %ebx
51ee44:	5e                   	pop    %esi
51ee45:	5d                   	pop    %ebp
51ee46:	c3                   	ret
51ee47:	cc                   	int3
51ee48:	cc                   	int3
51ee49:	cc                   	int3
51ee4a:	cc                   	int3
51ee4b:	cc                   	int3
51ee4c:	cc                   	int3
51ee4d:	cc                   	int3
51ee4e:	cc                   	int3
51ee4f:	cc                   	int3
51ee50:	55                   	push   %ebp
51ee51:	8b ec                	mov    %esp,%ebp
51ee53:	83 ec 08             	sub    $0x8,%esp
51ee56:	53                   	push   %ebx
51ee57:	56                   	push   %esi
51ee58:	8b 75 08             	mov    0x8(%ebp),%esi
51ee5b:	57                   	push   %edi
51ee5c:	8b 5e 08             	mov    0x8(%esi),%ebx
51ee5f:	85 db                	test   %ebx,%ebx
51ee61:	75 1c                	jne    0x51ee7f
51ee63:	39 5e 74             	cmp    %ebx,0x74(%esi)
51ee66:	75 0c                	jne    0x51ee74
51ee68:	8b 06                	mov    (%esi),%eax
51ee6a:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
51ee6e:	75 04                	jne    0x51ee74
51ee70:	c6 46 17 01          	movb   $0x1,0x17(%esi)
51ee74:	56                   	push   %esi
51ee75:	e8 96 35 02 00       	call   0x542410
51ee7a:	83 c4 04             	add    $0x4,%esp
51ee7d:	8b d8                	mov    %eax,%ebx
51ee7f:	8b 4e 74             	mov    0x74(%esi),%ecx
51ee82:	8b d6                	mov    %esi,%edx
51ee84:	8b 45 18             	mov    0x18(%ebp),%eax
51ee87:	85 c9                	test   %ecx,%ecx
51ee89:	8b 7d 0c             	mov    0xc(%ebp),%edi
51ee8c:	0f 45 d1             	cmovne %ecx,%edx
51ee8f:	8b 92 04 01 00 00    	mov    0x104(%edx),%edx
51ee95:	85 d2                	test   %edx,%edx
51ee97:	74 17                	je     0x51eeb0
51ee99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
51eea0:	39 3a                	cmp    %edi,(%edx)
51eea2:	75 05                	jne    0x51eea9
51eea4:	39 42 0c             	cmp    %eax,0xc(%edx)
51eea7:	74 17                	je     0x51eec0
51eea9:	8b 52 04             	mov    0x4(%edx),%edx
51eeac:	85 d2                	test   %edx,%edx
51eeae:	75 f0                	jne    0x51eea0
51eeb0:	50                   	push   %eax
51eeb1:	ff 75 10             	push   0x10(%ebp)
51eeb4:	57                   	push   %edi
51eeb5:	56                   	push   %esi
51eeb6:	e8 05 b4 fd ff       	call   0x4fa2c0
51eebb:	83 c4 10             	add    $0x10,%esp
51eebe:	8b d0                	mov    %eax,%edx
51eec0:	85 d2                	test   %edx,%edx
51eec2:	74 5f                	je     0x51ef23
51eec4:	83 3f 00             	cmpl   $0x0,(%edi)
51eec7:	74 1f                	je     0x51eee8
51eec9:	8b 0e                	mov    (%esi),%ecx
51eecb:	8b 41 20             	mov    0x20(%ecx),%eax
51eece:	25 00 20 00 00       	and    $0x2000,%eax
51eed3:	89 45 f8             	mov    %eax,-0x8(%ebp)
51eed6:	b8 00 00 00 00       	mov    $0x0,%eax
51eedb:	75 0b                	jne    0x51eee8
51eedd:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
51eee4:	85 c0                	test   %eax,%eax
51eee6:	74 07                	je     0x51eeef
51eee8:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
51eeef:	ff 46 2c             	incl   0x2c(%esi)
51eef2:	6a fc                	push   $0xfffffffc
51eef4:	ff 72 08             	push   0x8(%edx)
51eef7:	ff 76 2c             	push   0x2c(%esi)
51eefa:	ff 75 1c             	push   0x1c(%ebp)
51eefd:	ff 75 14             	push   0x14(%ebp)
51ef00:	6a 2e                	push   $0x2e
51ef02:	53                   	push   %ebx
51ef03:	e8 88 2c 02 00       	call   0x541b90
51ef08:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
51ef0b:	83 c4 1c             	add    $0x1c,%esp
51ef0e:	85 c9                	test   %ecx,%ecx
51ef10:	7e 11                	jle    0x51ef23
51ef12:	8b 45 08             	mov    0x8(%ebp),%eax
51ef15:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51ef18:	0f b6 d0             	movzbl %al,%edx
51ef1b:	8b 43 68             	mov    0x68(%ebx),%eax
51ef1e:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
51ef23:	5f                   	pop    %edi
51ef24:	5e                   	pop    %esi
51ef25:	5b                   	pop    %ebx
51ef26:	8b e5                	mov    %ebp,%esp
51ef28:	5d                   	pop    %ebp
51ef29:	c3                   	ret
51ef2a:	cc                   	int3
51ef2b:	cc                   	int3
51ef2c:	cc                   	int3
51ef2d:	cc                   	int3
51ef2e:	cc                   	int3
51ef2f:	cc                   	int3
51ef30:	55                   	push   %ebp
51ef31:	8b ec                	mov    %esp,%ebp
51ef33:	83 ec 28             	sub    $0x28,%esp
51ef36:	53                   	push   %ebx
51ef37:	8b 5d 0c             	mov    0xc(%ebp),%ebx
51ef3a:	33 d2                	xor    %edx,%edx
51ef3c:	56                   	push   %esi
51ef3d:	57                   	push   %edi
51ef3e:	8b 7d 08             	mov    0x8(%ebp),%edi
51ef41:	8b 4b 04             	mov    0x4(%ebx),%ecx
51ef44:	8b 43 14             	mov    0x14(%ebx),%eax
51ef47:	89 55 f8             	mov    %edx,-0x8(%ebp)
51ef4a:	8b 77 08             	mov    0x8(%edi),%esi
51ef4d:	89 45 08             	mov    %eax,0x8(%ebp)
51ef50:	f6 c1 20             	test   $0x20,%cl
51ef53:	75 67                	jne    0x51efbc
51ef55:	f7 c1 00 00 00 02    	test   $0x2000000,%ecx
51ef5b:	74 2a                	je     0x51ef87
51ef5d:	ff 70 10             	push   0x10(%eax)
51ef60:	68 dc 91 6b 00       	push   $0x6b91dc
51ef65:	52                   	push   %edx
51ef66:	57                   	push   %edi
51ef67:	e8 74 ac 02 00       	call   0x549be0
51ef6c:	ff 73 2c             	push   0x2c(%ebx)
51ef6f:	ff 73 30             	push   0x30(%ebx)
51ef72:	6a 0c                	push   $0xc
51ef74:	56                   	push   %esi
51ef75:	e8 66 2b 02 00       	call   0x541ae0
51ef7a:	8b 43 1c             	mov    0x1c(%ebx),%eax
51ef7d:	83 c4 20             	add    $0x20,%esp
51ef80:	5f                   	pop    %edi
51ef81:	5e                   	pop    %esi
51ef82:	5b                   	pop    %ebx
51ef83:	8b e5                	mov    %ebp,%esp
51ef85:	5d                   	pop    %ebp
51ef86:	c3                   	ret
51ef87:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
51ef8d:	89 4b 04             	mov    %ecx,0x4(%ebx)
51ef90:	8b 47 2c             	mov    0x2c(%edi),%eax
51ef93:	40                   	inc    %eax
51ef94:	50                   	push   %eax
51ef95:	6a 00                	push   $0x0
51ef97:	6a 45                	push   $0x45
51ef99:	89 47 2c             	mov    %eax,0x2c(%edi)
51ef9c:	56                   	push   %esi
51ef9d:	89 43 30             	mov    %eax,0x30(%ebx)
51efa0:	e8 3b 2b 02 00       	call   0x541ae0
51efa5:	40                   	inc    %eax
51efa6:	6a 11                	push   $0x11
51efa8:	56                   	push   %esi
51efa9:	89 43 2c             	mov    %eax,0x2c(%ebx)
51efac:	e8 6f 2a 02 00       	call   0x541a20
51efb1:	8b d0                	mov    %eax,%edx
51efb3:	89 45 f8             	mov    %eax,-0x8(%ebp)
51efb6:	8b 45 08             	mov    0x8(%ebp),%eax
51efb9:	83 c4 18             	add    $0x18,%esp
51efbc:	ff 70 10             	push   0x10(%eax)
51efbf:	85 d2                	test   %edx,%edx
51efc1:	b8 bc 91 6b 00       	mov    $0x6b91bc,%eax
51efc6:	b9 ad 57 6e 00       	mov    $0x6e57ad,%ecx
51efcb:	0f 44 c8             	cmove  %eax,%ecx
51efce:	51                   	push   %ecx
51efcf:	68 f0 91 6b 00       	push   $0x6b91f0
51efd4:	6a 01                	push   $0x1
51efd6:	57                   	push   %edi
51efd7:	e8 04 ac 02 00       	call   0x549be0
51efdc:	83 c4 14             	add    $0x14,%esp
51efdf:	80 3b 88             	cmpb   $0x88,(%ebx)
51efe2:	75 0a                	jne    0x51efee
51efe4:	8b 4d 08             	mov    0x8(%ebp),%ecx
51efe7:	8b 41 1c             	mov    0x1c(%ecx),%eax
51efea:	8b 08                	mov    (%eax),%ecx
51efec:	eb 05                	jmp    0x51eff3
51efee:	b9 01 00 00 00       	mov    $0x1,%ecx
51eff3:	8b 47 2c             	mov    0x2c(%edi),%eax
51eff6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
51effd:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
51f004:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
51f00b:	8d 50 01             	lea    0x1(%eax),%edx
51f00e:	03 c1                	add    %ecx,%eax
51f010:	89 47 2c             	mov    %eax,0x2c(%edi)
51f013:	80 3b 88             	cmpb   $0x88,(%ebx)
51f016:	89 55 dc             	mov    %edx,-0x24(%ebp)
51f019:	75 4b                	jne    0x51f066
51f01b:	8d 42 ff             	lea    -0x1(%edx),%eax
51f01e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
51f021:	03 c1                	add    %ecx,%eax
51f023:	c6 45 d8 0a          	movb   $0xa,-0x28(%ebp)
51f027:	8b 4e 6c             	mov    0x6c(%esi),%ecx
51f02a:	89 55 e0             	mov    %edx,-0x20(%ebp)
51f02d:	89 45 fc             	mov    %eax,-0x4(%ebp)
51f030:	39 4e 70             	cmp    %ecx,0x70(%esi)
51f033:	7f 11                	jg     0x51f046
51f035:	50                   	push   %eax
51f036:	52                   	push   %edx
51f037:	6a 00                	push   $0x0
51f039:	6a 48                	push   $0x48
51f03b:	56                   	push   %esi
51f03c:	e8 bf 74 fe ff       	call   0x506500
51f041:	83 c4 14             	add    $0x14,%esp
51f044:	eb 6d                	jmp    0x51f0b3
51f046:	8d 41 01             	lea    0x1(%ecx),%eax
51f049:	89 46 6c             	mov    %eax,0x6c(%esi)
51f04c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51f04f:	8b 46 68             	mov    0x68(%esi),%eax
51f052:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
51f056:	8b 55 fc             	mov    -0x4(%ebp),%edx
51f059:	c7 04 88 48 00 00 00 	movl   $0x48,(%eax,%ecx,4)
51f060:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
51f064:	eb 3d                	jmp    0x51f0a3
51f066:	8b 4e 6c             	mov    0x6c(%esi),%ecx
51f069:	c6 45 d8 03          	movb   $0x3,-0x28(%ebp)
51f06d:	39 4e 70             	cmp    %ecx,0x70(%esi)
51f070:	7f 12                	jg     0x51f084
51f072:	6a 00                	push   $0x0
51f074:	52                   	push   %edx
51f075:	6a 00                	push   $0x0
51f077:	6a 45                	push   $0x45
51f079:	56                   	push   %esi
51f07a:	e8 81 74 fe ff       	call   0x506500
51f07f:	83 c4 14             	add    $0x14,%esp
51f082:	eb 2f                	jmp    0x51f0b3
51f084:	8d 41 01             	lea    0x1(%ecx),%eax
51f087:	89 46 6c             	mov    %eax,0x6c(%esi)
51f08a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51f08d:	8b 46 68             	mov    0x68(%esi),%eax
51f090:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
51f097:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
51f09b:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
51f0a2:	00
51f0a3:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51f0aa:	00
51f0ab:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
51f0b2:	00
51f0b3:	8b 45 08             	mov    0x8(%ebp),%eax
51f0b6:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
51f0bd:	6a 00                	push   $0x0
51f0bf:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
51f0c3:	0f 84 86 00 00 00    	je     0x51f14f
51f0c9:	8b 07                	mov    (%edi),%eax
51f0cb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
51f0ce:	51                   	push   %ecx
51f0cf:	68 98 00 00 00       	push   $0x98
51f0d4:	50                   	push   %eax
51f0d5:	89 45 fc             	mov    %eax,-0x4(%ebp)
51f0d8:	c7 45 f0 9c 9b 6a 00 	movl   $0x6a9b9c,-0x10(%ebp)
51f0df:	e8 8c 45 00 00       	call   0x523670
51f0e4:	8b c8                	mov    %eax,%ecx
51f0e6:	83 c4 10             	add    $0x10,%esp
51f0e9:	89 4d 0c             	mov    %ecx,0xc(%ebp)