44fdc5:	8a 55 ff             	mov    -0x1(%ebp),%dl
44fdc8:	8a 92 88 9c 46 00    	mov    0x469c88(%edx),%dl
44fdce:	52                   	push   %edx
44fdcf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44fdd2:	8b d0                	mov    %eax,%edx
44fdd4:	8b c3                	mov    %ebx,%eax
44fdd6:	e8 11 00 00 00       	call   0x44fdec
44fddb:	8b 43 14             	mov    0x14(%ebx),%eax
44fdde:	8b 10                	mov    (%eax),%edx
44fde0:	ff 52 7c             	call   *0x7c(%edx)
44fde3:	5f                   	pop    %edi
44fde4:	5e                   	pop    %esi
44fde5:	5b                   	pop    %ebx
44fde6:	8b e5                	mov    %ebp,%esp
44fde8:	5d                   	pop    %ebp
44fde9:	c2 04 00             	ret    $0x4
44fdec:	55                   	push   %ebp
44fded:	8b ec                	mov    %esp,%ebp
44fdef:	51                   	push   %ecx
44fdf0:	53                   	push   %ebx
44fdf1:	56                   	push   %esi
44fdf2:	57                   	push   %edi
44fdf3:	8b f9                	mov    %ecx,%edi
44fdf5:	89 55 fc             	mov    %edx,-0x4(%ebp)
44fdf8:	8b f0                	mov    %eax,%esi
44fdfa:	8b ce                	mov    %esi,%ecx
44fdfc:	b2 01                	mov    $0x1,%dl
44fdfe:	a1 78 37 44 00       	mov    0x443778,%eax
44fe03:	e8 38 f4 ff ff       	call   0x44f240
44fe08:	8b d8                	mov    %eax,%ebx
44fe0a:	8a 45 0c             	mov    0xc(%ebp),%al
44fe0d:	88 43 10             	mov    %al,0x10(%ebx)
44fe10:	85 ff                	test   %edi,%edi
44fe12:	0f 85 dd 00 00 00    	jne    0x44fef5
44fe18:	8b 56 68             	mov    0x68(%esi),%edx
44fe1b:	8b c3                	mov    %ebx,%eax
44fe1d:	e8 92 f9 ff ff       	call   0x44f7b4
44fe22:	8b 46 64             	mov    0x64(%esi),%eax
44fe25:	e8 62 f9 ff ff       	call   0x44f78c
44fe2a:	89 46 68             	mov    %eax,0x68(%esi)
44fe2d:	8a 45 0c             	mov    0xc(%ebp),%al
44fe30:	88 46 48             	mov    %al,0x48(%esi)
44fe33:	33 c0                	xor    %eax,%eax
44fe35:	89 46 40             	mov    %eax,0x40(%esi)
44fe38:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
44fe3f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44fe43:	74 33                	je     0x44fe78
44fe45:	8b 46 64             	mov    0x64(%esi),%eax
44fe48:	89 43 08             	mov    %eax,0x8(%ebx)
44fe4b:	8b 46 64             	mov    0x64(%esi),%eax
44fe4e:	89 58 14             	mov    %ebx,0x14(%eax)
44fe51:	8b 55 fc             	mov    -0x4(%ebp),%edx
44fe54:	89 50 0c             	mov    %edx,0xc(%eax)
44fe57:	8b 55 fc             	mov    -0x4(%ebp),%edx
44fe5a:	89 42 18             	mov    %eax,0x18(%edx)
44fe5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44fe60:	89 58 14             	mov    %ebx,0x14(%eax)
44fe63:	89 5e 64             	mov    %ebx,0x64(%esi)
44fe66:	56                   	push   %esi
44fe67:	68 5c 0e 45 00       	push   $0x450e5c
44fe6c:	8b 53 08             	mov    0x8(%ebx),%edx
44fe6f:	8b c6                	mov    %esi,%eax
44fe71:	e8 ca fc ff ff       	call   0x44fb40
44fe76:	eb 6c                	jmp    0x44fee4
44fe78:	8b 45 fc             	mov    -0x4(%ebp),%eax
44fe7b:	89 43 08             	mov    %eax,0x8(%ebx)
44fe7e:	8b 46 64             	mov    0x64(%esi),%eax
44fe81:	89 58 14             	mov    %ebx,0x14(%eax)
44fe84:	8b 55 fc             	mov    -0x4(%ebp),%edx
44fe87:	89 50 18             	mov    %edx,0x18(%eax)
44fe8a:	8b 55 fc             	mov    -0x4(%ebp),%edx
44fe8d:	89 42 0c             	mov    %eax,0xc(%edx)
44fe90:	8b 45 fc             	mov    -0x4(%ebp),%eax
44fe93:	89 58 14             	mov    %ebx,0x14(%eax)
44fe96:	89 5e 64             	mov    %ebx,0x64(%esi)
44fe99:	56                   	push   %esi
44fe9a:	68 5c 0e 45 00       	push   $0x450e5c
44fe9f:	8b 53 08             	mov    0x8(%ebx),%edx
44fea2:	8b c6                	mov    %esi,%eax
44fea4:	e8 97 fc ff ff       	call   0x44fb40
44fea9:	8b 46 64             	mov    0x64(%esi),%eax
44feac:	e8 db f8 ff ff       	call   0x44f78c
44feb1:	d1 f8                	sar    $1,%eax
44feb3:	79 03                	jns    0x44feb8
44feb5:	83 d0 00             	adc    $0x0,%eax
44feb8:	89 46 4c             	mov    %eax,0x4c(%esi)
44febb:	56                   	push   %esi
44febc:	68 e0 11 45 00       	push   $0x4511e0
44fec1:	8b 53 08             	mov    0x8(%ebx),%edx
44fec4:	8b c6                	mov    %esi,%eax
44fec6:	e8 75 fc ff ff       	call   0x44fb40
44fecb:	8b 46 64             	mov    0x64(%esi),%eax
44fece:	e8 b9 f8 ff ff       	call   0x44f78c
44fed3:	8b d0                	mov    %eax,%edx
44fed5:	d1 fa                	sar    $1,%edx
44fed7:	79 03                	jns    0x44fedc
44fed9:	83 d2 00             	adc    $0x0,%edx
44fedc:	8b 45 fc             	mov    -0x4(%ebp),%eax
44fedf:	e8 d0 f8 ff ff       	call   0x44f7b4
44fee4:	56                   	push   %esi
44fee5:	68 14 13 45 00       	push   $0x451314
44feea:	33 d2                	xor    %edx,%edx
44feec:	8b c6                	mov    %esi,%eax
44feee:	e8 4d fc ff ff       	call   0x44fb40
44fef3:	eb 77                	jmp    0x44ff6c
44fef5:	8b c7                	mov    %edi,%eax
44fef7:	e8 90 f8 ff ff       	call   0x44f78c
44fefc:	8b d0                	mov    %eax,%edx
44fefe:	8b c3                	mov    %ebx,%eax
44ff00:	e8 af f8 ff ff       	call   0x44f7b4
44ff05:	8b 47 14             	mov    0x14(%edi),%eax
44ff08:	89 43 14             	mov    %eax,0x14(%ebx)
44ff0b:	8b 47 18             	mov    0x18(%edi),%eax
44ff0e:	89 43 18             	mov    %eax,0x18(%ebx)
44ff11:	85 c0                	test   %eax,%eax
44ff13:	74 03                	je     0x44ff18
44ff15:	89 58 0c             	mov    %ebx,0xc(%eax)
44ff18:	8b 47 0c             	mov    0xc(%edi),%eax
44ff1b:	89 43 0c             	mov    %eax,0xc(%ebx)
44ff1e:	85 c0                	test   %eax,%eax
44ff20:	74 03                	je     0x44ff25
44ff22:	89 58 18             	mov    %ebx,0x18(%eax)
44ff25:	8b 43 14             	mov    0x14(%ebx),%eax
44ff28:	3b 78 08             	cmp    0x8(%eax),%edi
44ff2b:	75 03                	jne    0x44ff30
44ff2d:	89 58 08             	mov    %ebx,0x8(%eax)
44ff30:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff33:	89 58 14             	mov    %ebx,0x14(%eax)
44ff36:	89 5f 14             	mov    %ebx,0x14(%edi)
44ff39:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44ff3d:	74 16                	je     0x44ff55
44ff3f:	89 7b 08             	mov    %edi,0x8(%ebx)
44ff42:	33 c0                	xor    %eax,%eax
44ff44:	89 47 18             	mov    %eax,0x18(%edi)
44ff47:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff4a:	89 47 0c             	mov    %eax,0xc(%edi)
44ff4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff50:	89 78 18             	mov    %edi,0x18(%eax)
44ff53:	eb 17                	jmp    0x44ff6c
44ff55:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff58:	89 43 08             	mov    %eax,0x8(%ebx)
44ff5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff5e:	89 47 18             	mov    %eax,0x18(%edi)
44ff61:	33 c0                	xor    %eax,%eax
44ff63:	89 47 0c             	mov    %eax,0xc(%edi)
44ff66:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff69:	89 78 0c             	mov    %edi,0xc(%eax)
44ff6c:	8b c3                	mov    %ebx,%eax
44ff6e:	e8 01 f5 ff ff       	call   0x44f474
44ff73:	8b c3                	mov    %ebx,%eax
44ff75:	e8 8a f8 ff ff       	call   0x44f804
44ff7a:	56                   	push   %esi
44ff7b:	68 14 13 45 00       	push   $0x451314
44ff80:	33 d2                	xor    %edx,%edx
44ff82:	8b c6                	mov    %esi,%eax
44ff84:	e8 b7 fb ff ff       	call   0x44fb40
44ff89:	5f                   	pop    %edi
44ff8a:	5e                   	pop    %esi
44ff8b:	5b                   	pop    %ebx
44ff8c:	59                   	pop    %ecx
44ff8d:	5d                   	pop    %ebp
44ff8e:	c2 08 00             	ret    $0x8
44ff91:	8d 40 00             	lea    0x0(%eax),%eax
44ff94:	55                   	push   %ebp
44ff95:	8b ec                	mov    %esp,%ebp
44ff97:	53                   	push   %ebx
44ff98:	8b d9                	mov    %ecx,%ebx
44ff9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
44ff9d:	85 db                	test   %ebx,%ebx
44ff9f:	75 15                	jne    0x44ffb6
44ffa1:	8b 40 64             	mov    0x64(%eax),%eax
44ffa4:	8b 58 08             	mov    0x8(%eax),%ebx
44ffa7:	84 c9                	test   %cl,%cl
44ffa9:	74 0b                	je     0x44ffb6
44ffab:	eb 02                	jmp    0x44ffaf
44ffad:	8b d8                	mov    %eax,%ebx
44ffaf:	8b 43 0c             	mov    0xc(%ebx),%eax
44ffb2:	85 c0                	test   %eax,%eax
44ffb4:	75 f7                	jne    0x44ffad
44ffb6:	84 c9                	test   %cl,%cl
44ffb8:	74 1b                	je     0x44ffd5
44ffba:	8b 43 14             	mov    0x14(%ebx),%eax
44ffbd:	89 42 14             	mov    %eax,0x14(%edx)
44ffc0:	89 5a 18             	mov    %ebx,0x18(%edx)
44ffc3:	8b 43 0c             	mov    0xc(%ebx),%eax
44ffc6:	89 42 0c             	mov    %eax,0xc(%edx)
44ffc9:	85 c0                	test   %eax,%eax
44ffcb:	74 03                	je     0x44ffd0
44ffcd:	89 50 18             	mov    %edx,0x18(%eax)
44ffd0:	89 53 0c             	mov    %edx,0xc(%ebx)
44ffd3:	eb 21                	jmp    0x44fff6
44ffd5:	89 5a 0c             	mov    %ebx,0xc(%edx)
44ffd8:	8b 43 18             	mov    0x18(%ebx),%eax
44ffdb:	89 42 18             	mov    %eax,0x18(%edx)
44ffde:	85 c0                	test   %eax,%eax
44ffe0:	74 03                	je     0x44ffe5
44ffe2:	89 50 0c             	mov    %edx,0xc(%eax)
44ffe5:	89 53 18             	mov    %edx,0x18(%ebx)
44ffe8:	8b 43 14             	mov    0x14(%ebx),%eax
44ffeb:	89 42 14             	mov    %eax,0x14(%edx)
44ffee:	3b 58 08             	cmp    0x8(%eax),%ebx
44fff1:	75 03                	jne    0x44fff6
44fff3:	89 50 08             	mov    %edx,0x8(%eax)
44fff6:	8b 43 14             	mov    0x14(%ebx),%eax
44fff9:	e8 76 f4 ff ff       	call   0x44f474
44fffe:	8b 43 14             	mov    0x14(%ebx),%eax
450001:	e8 fe f7 ff ff       	call   0x44f804
450006:	5b                   	pop    %ebx
450007:	5d                   	pop    %ebp
450008:	c2 04 00             	ret    $0x4
45000b:	90                   	nop
45000c:	55                   	push   %ebp
45000d:	8b ec                	mov    %esp,%ebp
45000f:	53                   	push   %ebx
450010:	56                   	push   %esi
450011:	57                   	push   %edi
450012:	8b d8                	mov    %eax,%ebx
450014:	8b 43 14             	mov    0x14(%ebx),%eax
450017:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
45001b:	75 44                	jne    0x450061
45001d:	8b c3                	mov    %ebx,%eax
45001f:	e8 68 f7 ff ff       	call   0x44f78c
450024:	8b 55 08             	mov    0x8(%ebp),%edx
450027:	8b 52 fc             	mov    -0x4(%edx),%edx
45002a:	3b 42 04             	cmp    0x4(%edx),%eax
45002d:	7c 32                	jl     0x450061
45002f:	8b c3                	mov    %ebx,%eax
450031:	e8 56 f7 ff ff       	call   0x44f78c
450036:	8b 55 08             	mov    0x8(%ebp),%edx
450039:	8b 52 f8             	mov    -0x8(%edx),%edx
45003c:	2b 42 0c             	sub    0xc(%edx),%eax
45003f:	8b 55 08             	mov    0x8(%ebp),%edx
450042:	8b 52 fc             	mov    -0x4(%edx),%edx
450045:	3b 42 04             	cmp    0x4(%edx),%eax
450048:	7f 17                	jg     0x450061
45004a:	8b 45 08             	mov    0x8(%ebp),%eax
45004d:	8b 40 f4             	mov    -0xc(%eax),%eax
450050:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
450056:	8b 45 08             	mov    0x8(%ebp),%eax
450059:	89 58 f0             	mov    %ebx,-0x10(%eax)
45005c:	e9 88 01 00 00       	jmp    0x4501e9
450061:	8b 43 14             	mov    0x14(%ebx),%eax
450064:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
450068:	75 42                	jne    0x4500ac
45006a:	8b c3                	mov    %ebx,%eax
45006c:	e8 1b f7 ff ff       	call   0x44f78c
450071:	8b 55 08             	mov    0x8(%ebp),%edx
450074:	8b 52 fc             	mov    -0x4(%edx),%edx
450077:	3b 02                	cmp    (%edx),%eax
450079:	7c 31                	jl     0x4500ac
45007b:	8b c3                	mov    %ebx,%eax
45007d:	e8 0a f7 ff ff       	call   0x44f78c
450082:	8b 55 08             	mov    0x8(%ebp),%edx
450085:	8b 52 f8             	mov    -0x8(%edx),%edx
450088:	2b 42 0c             	sub    0xc(%edx),%eax
45008b:	8b 55 08             	mov    0x8(%ebp),%edx
45008e:	8b 52 fc             	mov    -0x4(%edx),%edx
450091:	3b 02                	cmp    (%edx),%eax
450093:	7f 17                	jg     0x4500ac
450095:	8b 45 08             	mov    0x8(%ebp),%eax
450098:	8b 40 f4             	mov    -0xc(%eax),%eax
45009b:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
4500a1:	8b 45 08             	mov    0x8(%ebp),%eax
4500a4:	89 58 f0             	mov    %ebx,-0x10(%eax)
4500a7:	e9 3d 01 00 00       	jmp    0x4501e9
4500ac:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4500b0:	0f 84 33 01 00 00    	je     0x4501e9
4500b6:	ba 01 00 00 00       	mov    $0x1,%edx
4500bb:	8b c3                	mov    %ebx,%eax
4500bd:	e8 96 f2 ff ff       	call   0x44f358
4500c2:	8b f0                	mov    %eax,%esi
4500c4:	ba 02 00 00 00       	mov    $0x2,%edx
4500c9:	8b c3                	mov    %ebx,%eax
4500cb:	e8 88 f2 ff ff       	call   0x44f358
4500d0:	8b f8                	mov    %eax,%edi
4500d2:	8b 45 08             	mov    0x8(%ebp),%eax
4500d5:	8b 40 f8             	mov    -0x8(%eax),%eax
4500d8:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
4500dc:	0f 84 8e 00 00 00    	je     0x450170
4500e2:	8b 45 08             	mov    0x8(%ebp),%eax
4500e5:	8b 40 fc             	mov    -0x4(%eax),%eax
4500e8:	3b 70 04             	cmp    0x4(%eax),%esi
4500eb:	0f 8f f8 00 00 00    	jg     0x4501e9
4500f1:	8b 45 08             	mov    0x8(%ebp),%eax
4500f4:	8b 40 fc             	mov    -0x4(%eax),%eax
4500f7:	8b 40 04             	mov    0x4(%eax),%eax
4500fa:	8b 55 08             	mov    0x8(%ebp),%edx
4500fd:	8b 52 f8             	mov    -0x8(%edx),%edx
450100:	03 72 18             	add    0x18(%edx),%esi
450103:	3b c6                	cmp    %esi,%eax
450105:	0f 8f de 00 00 00    	jg     0x4501e9
45010b:	8b 45 08             	mov    0x8(%ebp),%eax
45010e:	8b 40 fc             	mov    -0x4(%eax),%eax
450111:	3b 38                	cmp    (%eax),%edi
450113:	0f 8f d0 00 00 00    	jg     0x4501e9
450119:	ba 02 00 00 00       	mov    $0x2,%edx
45011e:	8b c3                	mov    %ebx,%eax
450120:	e8 9f f2 ff ff       	call   0x44f3c4
450125:	03 f8                	add    %eax,%edi
450127:	8b 45 08             	mov    0x8(%ebp),%eax
45012a:	8b 40 fc             	mov    -0x4(%eax),%eax
45012d:	3b 38                	cmp    (%eax),%edi
45012f:	0f 8c b4 00 00 00    	jl     0x4501e9
450135:	8b 45 08             	mov    0x8(%ebp),%eax
450138:	89 58 f0             	mov    %ebx,-0x10(%eax)
45013b:	8b 43 04             	mov    0x4(%ebx),%eax
45013e:	8b 50 40             	mov    0x40(%eax),%edx
450141:	03 50 48             	add    0x48(%eax),%edx
450144:	83 ea 0f             	sub    $0xf,%edx
450147:	8b 45 08             	mov    0x8(%ebp),%eax
45014a:	8b 40 fc             	mov    -0x4(%eax),%eax
45014d:	3b 10                	cmp    (%eax),%edx
45014f:	7d 11                	jge    0x450162
450151:	8b 45 08             	mov    0x8(%ebp),%eax
450154:	8b 40 f4             	mov    -0xc(%eax),%eax
450157:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
45015d:	e9 87 00 00 00       	jmp    0x4501e9
450162:	8b 45 08             	mov    0x8(%ebp),%eax
450165:	8b 40 f4             	mov    -0xc(%eax),%eax
450168:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
45016e:	eb 79                	jmp    0x4501e9
450170:	8b 45 08             	mov    0x8(%ebp),%eax
450173:	8b 40 fc             	mov    -0x4(%eax),%eax
450176:	3b 38                	cmp    (%eax),%edi
450178:	7f 6f                	jg     0x4501e9
45017a:	8b 45 08             	mov    0x8(%ebp),%eax
45017d:	8b 40 fc             	mov    -0x4(%eax),%eax
450180:	8b 00                	mov    (%eax),%eax
450182:	8b 55 08             	mov    0x8(%ebp),%edx
450185:	8b 52 f8             	mov    -0x8(%edx),%edx
450188:	03 7a 18             	add    0x18(%edx),%edi
45018b:	3b c7                	cmp    %edi,%eax
45018d:	7f 5a                	jg     0x4501e9
45018f:	8b 45 08             	mov    0x8(%ebp),%eax
450192:	8b 40 fc             	mov    -0x4(%eax),%eax
450195:	3b 70 04             	cmp    0x4(%eax),%esi
450198:	7f 4f                	jg     0x4501e9
45019a:	ba 01 00 00 00       	mov    $0x1,%edx
45019f:	8b c3                	mov    %ebx,%eax
4501a1:	e8 1e f2 ff ff       	call   0x44f3c4
4501a6:	03 f0                	add    %eax,%esi
4501a8:	8b 45 08             	mov    0x8(%ebp),%eax
4501ab:	8b 40 fc             	mov    -0x4(%eax),%eax
4501ae:	3b 70 04             	cmp    0x4(%eax),%esi
4501b1:	7c 36                	jl     0x4501e9
4501b3:	8b 45 08             	mov    0x8(%ebp),%eax
4501b6:	89 58 f0             	mov    %ebx,-0x10(%eax)
4501b9:	8b 45 08             	mov    0x8(%ebp),%eax
4501bc:	8b 40 fc             	mov    -0x4(%eax),%eax
4501bf:	8b 40 04             	mov    0x4(%eax),%eax