45cd26:	e8 bf 27 fc ff       	call   0x41f4ea
45cd2b:	59                   	pop    %ecx
45cd2c:	85 c0                	test   %eax,%eax
45cd2e:	74 11                	je     0x45cd41
45cd30:	8b 4b 04             	mov    0x4(%ebx),%ecx
45cd33:	ff 34 b9             	push   (%ecx,%edi,4)
45cd36:	8b c8                	mov    %eax,%ecx
45cd38:	e8 b4 cd fe ff       	call   0x449af1
45cd3d:	8b c8                	mov    %eax,%ecx
45cd3f:	eb 02                	jmp    0x45cd43
45cd41:	33 c9                	xor    %ecx,%ecx
45cd43:	8b 46 04             	mov    0x4(%esi),%eax
45cd46:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
45cd49:	47                   	inc    %edi
45cd4a:	3b 7e 08             	cmp    0x8(%esi),%edi
45cd4d:	72 d5                	jb     0x45cd24
45cd4f:	eb 08                	jmp    0x45cd59
45cd51:	83 66 0c 00          	andl   $0x0,0xc(%esi)
45cd55:	83 66 04 00          	andl   $0x0,0x4(%esi)
45cd59:	5f                   	pop    %edi
45cd5a:	8b c6                	mov    %esi,%eax
45cd5c:	5e                   	pop    %esi
45cd5d:	5b                   	pop    %ebx
45cd5e:	5d                   	pop    %ebp
45cd5f:	c2 04 00             	ret    $0x4
45cd62:	55                   	push   %ebp
45cd63:	8b ec                	mov    %esp,%ebp
45cd65:	56                   	push   %esi
45cd66:	8b 75 08             	mov    0x8(%ebp),%esi
45cd69:	57                   	push   %edi
45cd6a:	8b 06                	mov    (%esi),%eax
45cd6c:	8b f9                	mov    %ecx,%edi
45cd6e:	89 07                	mov    %eax,(%edi)
45cd70:	8b 46 04             	mov    0x4(%esi),%eax
45cd73:	89 47 04             	mov    %eax,0x4(%edi)
45cd76:	8b 46 08             	mov    0x8(%esi),%eax
45cd79:	89 47 08             	mov    %eax,0x8(%edi)
45cd7c:	8b 46 0c             	mov    0xc(%esi),%eax
45cd7f:	89 47 0c             	mov    %eax,0xc(%edi)
45cd82:	8d 46 10             	lea    0x10(%esi),%eax
45cd85:	50                   	push   %eax
45cd86:	8d 4f 10             	lea    0x10(%edi),%ecx
45cd89:	e8 20 0f fb ff       	call   0x40dcae
45cd8e:	8d 46 20             	lea    0x20(%esi),%eax
45cd91:	50                   	push   %eax
45cd92:	8d 4f 20             	lea    0x20(%edi),%ecx
45cd95:	e8 14 0f fb ff       	call   0x40dcae
45cd9a:	8b c7                	mov    %edi,%eax
45cd9c:	5f                   	pop    %edi
45cd9d:	5e                   	pop    %esi
45cd9e:	5d                   	pop    %ebp
45cd9f:	c2 04 00             	ret    $0x4
45cda2:	55                   	push   %ebp
45cda3:	8b ec                	mov    %esp,%ebp
45cda5:	83 ec 24             	sub    $0x24,%esp
45cda8:	53                   	push   %ebx
45cda9:	56                   	push   %esi
45cdaa:	33 db                	xor    %ebx,%ebx
45cdac:	57                   	push   %edi
45cdad:	8b 7d 08             	mov    0x8(%ebp),%edi
45cdb0:	43                   	inc    %ebx
45cdb1:	39 5f 08             	cmp    %ebx,0x8(%edi)
45cdb4:	0f 85 06 01 00 00    	jne    0x45cec0
45cdba:	8b 47 04             	mov    0x4(%edi),%eax
45cdbd:	6a 06                	push   $0x6
45cdbf:	8b 30                	mov    (%eax),%esi
45cdc1:	8b ce                	mov    %esi,%ecx
45cdc3:	e8 1c 08 fb ff       	call   0x40d5e4
45cdc8:	84 c0                	test   %al,%al
45cdca:	74 0c                	je     0x45cdd8
45cdcc:	83 7e 0c 06          	cmpl   $0x6,0xc(%esi)
45cdd0:	75 04                	jne    0x45cdd6
45cdd2:	8b 36                	mov    (%esi),%esi
45cdd4:	eb 02                	jmp    0x45cdd8
45cdd6:	33 f6                	xor    %esi,%esi
45cdd8:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45cddc:	56                   	push   %esi
45cddd:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45cde0:	e8 3b 49 fb ff       	call   0x411720
45cde5:	6a 05                	push   $0x5
45cde7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45cdea:	e8 f5 07 fb ff       	call   0x40d5e4
45cdef:	84 c0                	test   %al,%al
45cdf1:	0f 84 c1 00 00 00    	je     0x45ceb8
45cdf7:	6a 00                	push   $0x0
45cdf9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45cdfc:	e8 1e f2 fb ff       	call   0x41c01f
45ce01:	3b c3                	cmp    %ebx,%eax
45ce03:	0f 85 af 00 00 00    	jne    0x45ceb8
45ce09:	6a 00                	push   $0x0
45ce0b:	53                   	push   %ebx
45ce0c:	8d 45 e0             	lea    -0x20(%ebp),%eax
45ce0f:	53                   	push   %ebx
45ce10:	50                   	push   %eax
45ce11:	e8 7a 4d fb ff       	call   0x411b90
45ce16:	8b f0                	mov    %eax,%esi
45ce18:	83 c4 10             	add    $0x10,%esp
45ce1b:	8b ce                	mov    %esi,%ecx
45ce1d:	e8 4a c5 fa ff       	call   0x40936c
45ce22:	8b 4e 08             	mov    0x8(%esi),%ecx
45ce25:	8b 01                	mov    (%ecx),%eax
45ce27:	89 45 f0             	mov    %eax,-0x10(%ebp)
45ce2a:	8b 41 04             	mov    0x4(%ecx),%eax
45ce2d:	89 45 f4             	mov    %eax,-0xc(%ebp)
45ce30:	8b 41 08             	mov    0x8(%ecx),%eax
45ce33:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ce36:	8b 41 0c             	mov    0xc(%ecx),%eax
45ce39:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45ce3c:	ff 00                	incl   (%eax)
45ce3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ce41:	e8 b4 ef fa ff       	call   0x40bdfa
45ce46:	ff 75 f4             	push   -0xc(%ebp)
45ce49:	ff 75 f0             	push   -0x10(%ebp)
45ce4c:	ff 15 60 d6 48 00    	call   *0x48d660
45ce52:	ba c4 40 4b 00       	mov    $0x4b40c4,%edx
45ce57:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45ce5a:	e8 d0 1d fc ff       	call   0x41ec2f
45ce5f:	84 c0                	test   %al,%al
45ce61:	74 4d                	je     0x45ceb0
45ce63:	8b cf                	mov    %edi,%ecx
45ce65:	e8 0b 33 fe ff       	call   0x440175
45ce6a:	8b f3                	mov    %ebx,%esi
45ce6c:	53                   	push   %ebx
45ce6d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45ce70:	e8 aa f1 fb ff       	call   0x41c01f
45ce75:	3b f0                	cmp    %eax,%esi
45ce77:	7d 1b                	jge    0x45ce94
45ce79:	56                   	push   %esi
45ce7a:	53                   	push   %ebx
45ce7b:	8d 45 e0             	lea    -0x20(%ebp),%eax
45ce7e:	6a 00                	push   $0x0
45ce80:	50                   	push   %eax
45ce81:	e8 0a 4d fb ff       	call   0x411b90
45ce86:	83 c4 10             	add    $0x10,%esp
45ce89:	8b cf                	mov    %edi,%ecx
45ce8b:	50                   	push   %eax
45ce8c:	e8 45 f4 fb ff       	call   0x41c2d6
45ce91:	46                   	inc    %esi
45ce92:	eb d8                	jmp    0x45ce6c
45ce94:	8b 4f 08             	mov    0x8(%edi),%ecx
45ce97:	8b 45 0c             	mov    0xc(%ebp),%eax
45ce9a:	89 08                	mov    %ecx,(%eax)
45ce9c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45ce9f:	e8 93 fc fa ff       	call   0x40cb37
45cea4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45cea7:	e8 74 5d fb ff       	call   0x412c20
45ceac:	33 c0                	xor    %eax,%eax
45ceae:	eb 13                	jmp    0x45cec3
45ceb0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45ceb3:	e8 7f fc fa ff       	call   0x40cb37
45ceb8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45cebb:	e8 60 5d fb ff       	call   0x412c20
45cec0:	83 c8 ff             	or     $0xffffffff,%eax
45cec3:	5f                   	pop    %edi
45cec4:	5e                   	pop    %esi
45cec5:	5b                   	pop    %ebx
45cec6:	c9                   	leave
45cec7:	c2 08 00             	ret    $0x8
45ceca:	55                   	push   %ebp
45cecb:	8b ec                	mov    %esp,%ebp
45cecd:	81 ec 68 01 00 00    	sub    $0x168,%esp
45ced3:	53                   	push   %ebx
45ced4:	33 d2                	xor    %edx,%edx
45ced6:	56                   	push   %esi
45ced7:	8b 75 0c             	mov    0xc(%ebp),%esi
45ceda:	8b c2                	mov    %edx,%eax
45cedc:	ff 06                	incl   (%esi)
45cede:	57                   	push   %edi
45cedf:	8b 7d 08             	mov    0x8(%ebp),%edi
45cee2:	8b d9                	mov    %ecx,%ebx
45cee4:	8b 0e                	mov    (%esi),%ecx
45cee6:	89 45 e8             	mov    %eax,-0x18(%ebp)
45cee9:	89 45 e0             	mov    %eax,-0x20(%ebp)
45ceec:	8b 47 04             	mov    0x4(%edi),%eax
45ceef:	89 55 cc             	mov    %edx,-0x34(%ebp)
45cef2:	89 55 d4             	mov    %edx,-0x2c(%ebp)
45cef5:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
45cefc:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45ceff:	89 5d c0             	mov    %ebx,-0x40(%ebp)
45cf02:	89 55 e4             	mov    %edx,-0x1c(%ebp)
45cf05:	66 39 50 08          	cmp    %dx,0x8(%eax)
45cf09:	75 16                	jne    0x45cf21
45cf0b:	83 38 2c             	cmpl   $0x2c,(%eax)
45cf0e:	75 11                	jne    0x45cf21
45cf10:	ff 75 10             	push   0x10(%ebp)
45cf13:	8b cb                	mov    %ebx,%ecx
45cf15:	56                   	push   %esi
45cf16:	57                   	push   %edi
45cf17:	e8 36 06 00 00       	call   0x45d552
45cf1c:	e9 8d 04 00 00       	jmp    0x45d3ae
45cf21:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45cf24:	e8 ce 08 fb ff       	call   0x40d7f7
45cf29:	8b 4f 04             	mov    0x4(%edi),%ecx
45cf2c:	8b 06                	mov    (%esi),%eax
45cf2e:	6a 7f                	push   $0x7f
45cf30:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45cf33:	5a                   	pop    %edx
45cf34:	6a 33                	push   $0x33
45cf36:	89 55 b8             	mov    %edx,-0x48(%ebp)
45cf39:	5a                   	pop    %edx
45cf3a:	66 39 50 08          	cmp    %dx,0x8(%eax)
45cf3e:	6a 7f                	push   $0x7f
45cf40:	89 55 c4             	mov    %edx,-0x3c(%ebp)
45cf43:	5a                   	pop    %edx
45cf44:	0f 85 47 04 00 00    	jne    0x45d391
45cf4a:	c7 45 b0 4e 00 00 00 	movl   $0x4e,-0x50(%ebp)
45cf51:	c7 45 9c 4f 00 00 00 	movl   $0x4f,-0x64(%ebp)
45cf58:	c7 45 b4 47 00 00 00 	movl   $0x47,-0x4c(%ebp)
45cf5f:	c7 45 bc 48 00 00 00 	movl   $0x48,-0x44(%ebp)
45cf66:	c7 45 c8 40 00 00 00 	movl   $0x40,-0x38(%ebp)
45cf6d:	8b 06                	mov    (%esi),%eax
45cf6f:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45cf72:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45cf75:	ff 30                	push   (%eax)
45cf77:	e8 71 9f fa ff       	call   0x406eed
45cf7c:	ff 75 10             	push   0x10(%ebp)
45cf7f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45cf82:	50                   	push   %eax
45cf83:	8d 45 f0             	lea    -0x10(%ebp),%eax
45cf86:	50                   	push   %eax
45cf87:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cf8a:	50                   	push   %eax
45cf8b:	e8 b5 06 fb ff       	call   0x40d645
45cf90:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45cf94:	0f 85 8b 04 00 00    	jne    0x45d425
45cf9a:	68 00 dc 49 00       	push   $0x49dc00
45cf9f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45cfa2:	e8 12 fe fa ff       	call   0x40cdb9
45cfa7:	ff 75 10             	push   0x10(%ebp)
45cfaa:	8d 45 cc             	lea    -0x34(%ebp),%eax
45cfad:	68 00 01 00 00       	push   $0x100
45cfb2:	50                   	push   %eax
45cfb3:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cfb6:	50                   	push   %eax
45cfb7:	e8 2d 07 fb ff       	call   0x40d6e9
45cfbc:	ff 75 10             	push   0x10(%ebp)
45cfbf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45cfc2:	50                   	push   %eax
45cfc3:	8d 45 f0             	lea    -0x10(%ebp),%eax
45cfc6:	50                   	push   %eax
45cfc7:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cfca:	50                   	push   %eax
45cfcb:	e8 75 06 fb ff       	call   0x40d645
45cfd0:	ff 06                	incl   (%esi)
45cfd2:	8b 0e                	mov    (%esi),%ecx
45cfd4:	8b 47 04             	mov    0x4(%edi),%eax
45cfd7:	6a 4e                	push   $0x4e
45cfd9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45cfdc:	59                   	pop    %ecx
45cfdd:	66 39 48 08          	cmp    %cx,0x8(%eax)
45cfe1:	0f 85 0f 01 00 00    	jne    0x45d0f6
45cfe7:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45cfeb:	ff 06                	incl   (%esi)
45cfed:	8b 0e                	mov    (%esi),%ecx
45cfef:	8b 47 04             	mov    0x4(%edi),%eax
45cff2:	6a 4f                	push   $0x4f
45cff4:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45cff7:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
45cffb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45cffe:	59                   	pop    %ecx
45cfff:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d003:	75 30                	jne    0x45d035
45d005:	83 ec 10             	sub    $0x10,%esp
45d008:	8b cc                	mov    %esp,%ecx
45d00a:	57                   	push   %edi
45d00b:	e8 cc fc ff ff       	call   0x45ccdc
45d010:	6a 00                	push   $0x0
45d012:	ff 36                	push   (%esi)
45d014:	ff 75 e8             	push   -0x18(%ebp)
45d017:	e8 71 1d 00 00       	call   0x45ed8d
45d01c:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d01f:	8b f0                	mov    %eax,%esi
45d021:	e8 fa 5b fb ff       	call   0x412c20
45d026:	89 75 cc             	mov    %esi,-0x34(%ebp)
45d029:	8b 75 0c             	mov    0xc(%ebp),%esi
45d02c:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
45d033:	eb 17                	jmp    0x45d04c
45d035:	6a ff                	push   $0xffffffff
45d037:	8d 45 cc             	lea    -0x34(%ebp),%eax
45d03a:	50                   	push   %eax
45d03b:	56                   	push   %esi
45d03c:	57                   	push   %edi
45d03d:	8b cb                	mov    %ebx,%ecx
45d03f:	e8 ec 2d fb ff       	call   0x40fe30
45d044:	85 c0                	test   %eax,%eax
45d046:	0f 88 89 03 00 00    	js     0x45d3d5
45d04c:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d04f:	e8 32 02 fb ff       	call   0x40d286
45d054:	85 c0                	test   %eax,%eax
45d056:	0f 88 79 03 00 00    	js     0x45d3d5
45d05c:	8b 0e                	mov    (%esi),%ecx
45d05e:	8b 47 04             	mov    0x4(%edi),%eax
45d061:	6a 4f                	push   $0x4f
45d063:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d066:	5a                   	pop    %edx
45d067:	66 39 50 08          	cmp    %dx,0x8(%eax)
45d06b:	0f 85 64 03 00 00    	jne    0x45d3d5
45d071:	8d 41 01             	lea    0x1(%ecx),%eax
45d074:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d077:	89 06                	mov    %eax,(%esi)
45d079:	e8 08 02 fb ff       	call   0x40d286
45d07e:	8b 55 e8             	mov    -0x18(%ebp),%edx
45d081:	8b 0e                	mov    (%esi),%ecx
45d083:	89 84 95 9c fe ff ff 	mov    %eax,-0x164(%ebp,%edx,4)
45d08a:	8b 47 04             	mov    0x4(%edi),%eax
45d08d:	6a 4e                	push   $0x4e
45d08f:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45d092:	42                   	inc    %edx
45d093:	59                   	pop    %ecx
45d094:	89 55 e8             	mov    %edx,-0x18(%ebp)
45d097:	89 55 e0             	mov    %edx,-0x20(%ebp)
45d09a:	66 39 48 08          	cmp    %cx,0x8(%eax)
45d09e:	0f 84 47 ff ff ff    	je     0x45cfeb
45d0a4:	83 fa 01             	cmp    $0x1,%edx
45d0a7:	0f 8c 21 03 00 00    	jl     0x45d3ce
45d0ad:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d0b0:	e8 a7 f0 fb ff       	call   0x41c15c
45d0b5:	33 c0                	xor    %eax,%eax
45d0b7:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d0ba:	39 45 e8             	cmp    %eax,-0x18(%ebp)
45d0bd:	7e 23                	jle    0x45d0e2
45d0bf:	ff b4 85 9c fe ff ff 	push   -0x164(%ebp,%eax,4)
45d0c6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d0c9:	e8 a9 f0 fb ff       	call   0x41c177
45d0ce:	84 c0                	test   %al,%al
45d0d0:	0f 84 e7 02 00 00    	je     0x45d3bd
45d0d6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d0d9:	40                   	inc    %eax
45d0da:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d0dd:	3b 45 e8             	cmp    -0x18(%ebp),%eax
45d0e0:	7c dd                	jl     0x45d0bf
45d0e2:	6a 00                	push   $0x0
45d0e4:	ff 75 f0             	push   -0x10(%ebp)
45d0e7:	e8 64 ef fb ff       	call   0x41c050
45d0ec:	59                   	pop    %ecx
45d0ed:	59                   	pop    %ecx
45d0ee:	84 c0                	test   %al,%al
45d0f0:	0f 84 ce 02 00 00    	je     0x45d3c4
45d0f6:	8b 0e                	mov    (%esi),%ecx
45d0f8:	8b 57 04             	mov    0x4(%edi),%edx
45d0fb:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45d0fe:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
45d103:	0f 85 0d 03 00 00    	jne    0x45d416
45d109:	8d 41 01             	lea    0x1(%ecx),%eax
45d10c:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d10f:	89 06                	mov    %eax,(%esi)
45d111:	8b 04 82             	mov    (%edx,%eax,4),%eax
45d114:	6a 4e                	push   $0x4e
45d116:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
45d11a:	89 4d ec             	mov    %ecx,-0x14(%ebp)