41fe30:	0f 85 5d 5e 03 00    	jne    0x455c93
41fe36:	57                   	push   %edi
41fe37:	6a 38                	push   $0x38
41fe39:	e8 b8 11 00 00       	call   0x420ff6
41fe3e:	8b f8                	mov    %eax,%edi
41fe40:	59                   	pop    %ecx
41fe41:	85 ff                	test   %edi,%edi
41fe43:	74 1b                	je     0x41fe60
41fe45:	ff 75 08             	push   0x8(%ebp)
41fe48:	8b cf                	mov    %edi,%ecx
41fe4a:	e8 15 00 00 00       	call   0x41fe64
41fe4f:	8b 46 04             	mov    0x4(%esi),%eax
41fe52:	89 47 30             	mov    %eax,0x30(%edi)
41fe55:	89 7e 04             	mov    %edi,0x4(%esi)
41fe58:	5f                   	pop    %edi
41fe59:	ff 06                	incl   (%esi)
41fe5b:	5e                   	pop    %esi
41fe5c:	5d                   	pop    %ebp
41fe5d:	c2 04 00             	ret    $0x4
41fe60:	33 ff                	xor    %edi,%edi
41fe62:	eb eb                	jmp    0x41fe4f
41fe64:	55                   	push   %ebp
41fe65:	8b ec                	mov    %esp,%ebp
41fe67:	56                   	push   %esi
41fe68:	8b 75 08             	mov    0x8(%ebp),%esi
41fe6b:	57                   	push   %edi
41fe6c:	8b f9                	mov    %ecx,%edi
41fe6e:	8b 06                	mov    (%esi),%eax
41fe70:	89 07                	mov    %eax,(%edi)
41fe72:	8d 4f 10             	lea    0x10(%edi),%ecx
41fe75:	8b 46 04             	mov    0x4(%esi),%eax
41fe78:	89 47 04             	mov    %eax,0x4(%edi)
41fe7b:	8b 46 08             	mov    0x8(%esi),%eax
41fe7e:	89 47 08             	mov    %eax,0x8(%edi)
41fe81:	8b 46 0c             	mov    0xc(%esi),%eax
41fe84:	89 47 0c             	mov    %eax,0xc(%edi)
41fe87:	8d 46 10             	lea    0x10(%esi),%eax
41fe8a:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41fe8e:	50                   	push   %eax
41fe8f:	e8 2c 9c fe ff       	call   0x409ac0
41fe94:	8d 46 20             	lea    0x20(%esi),%eax
41fe97:	8d 4f 20             	lea    0x20(%edi),%ecx
41fe9a:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41fe9e:	50                   	push   %eax
41fe9f:	e8 1c 9c fe ff       	call   0x409ac0
41fea4:	8b c7                	mov    %edi,%eax
41fea6:	5f                   	pop    %edi
41fea7:	5e                   	pop    %esi
41fea8:	5d                   	pop    %ebp
41fea9:	c2 04 00             	ret    $0x4
41feac:	33 d2                	xor    %edx,%edx
41feae:	33 c0                	xor    %eax,%eax
41feb0:	40                   	inc    %eax
41feb1:	89 51 10             	mov    %edx,0x10(%ecx)
41feb4:	89 41 1c             	mov    %eax,0x1c(%ecx)
41feb7:	89 51 18             	mov    %edx,0x18(%ecx)
41feba:	89 41 2c             	mov    %eax,0x2c(%ecx)
41febd:	8b c1                	mov    %ecx,%eax
41febf:	89 51 20             	mov    %edx,0x20(%ecx)
41fec2:	89 51 28             	mov    %edx,0x28(%ecx)
41fec5:	c3                   	ret
41fec6:	56                   	push   %esi
41fec7:	57                   	push   %edi
41fec8:	8b f9                	mov    %ecx,%edi
41feca:	57                   	push   %edi
41fecb:	e8 6c 2f 00 00       	call   0x422e3c
41fed0:	33 c9                	xor    %ecx,%ecx
41fed2:	40                   	inc    %eax
41fed3:	6a 02                	push   $0x2
41fed5:	5a                   	pop    %edx
41fed6:	f7 e2                	mul    %edx
41fed8:	0f 90 c1             	seto   %cl
41fedb:	f7 d9                	neg    %ecx
41fedd:	0b c8                	or     %eax,%ecx
41fedf:	51                   	push   %ecx
41fee0:	e8 11 11 00 00       	call   0x420ff6
41fee5:	8b f0                	mov    %eax,%esi
41fee7:	57                   	push   %edi
41fee8:	56                   	push   %esi
41fee9:	e8 0e 31 00 00       	call   0x422ffc
41feee:	83 c4 10             	add    $0x10,%esp
41fef1:	8b c6                	mov    %esi,%eax
41fef3:	5f                   	pop    %edi
41fef4:	5e                   	pop    %esi
41fef5:	c3                   	ret
41fef6:	55                   	push   %ebp
41fef7:	8b ec                	mov    %esp,%ebp
41fef9:	8b 45 08             	mov    0x8(%ebp),%eax
41fefc:	85 c0                	test   %eax,%eax
41fefe:	74 0b                	je     0x41ff0b
41ff00:	66 39 11             	cmp    %dx,(%ecx)
41ff03:	74 0a                	je     0x41ff0f
41ff05:	83 c1 02             	add    $0x2,%ecx
41ff08:	48                   	dec    %eax
41ff09:	75 f5                	jne    0x41ff00
41ff0b:	33 c0                	xor    %eax,%eax
41ff0d:	5d                   	pop    %ebp
41ff0e:	c3                   	ret
41ff0f:	8b c1                	mov    %ecx,%eax
41ff11:	5d                   	pop    %ebp
41ff12:	c3                   	ret
41ff13:	55                   	push   %ebp
41ff14:	8b ec                	mov    %esp,%ebp
41ff16:	8b 45 08             	mov    0x8(%ebp),%eax
41ff19:	53                   	push   %ebx
41ff1a:	56                   	push   %esi
41ff1b:	8d 59 04             	lea    0x4(%ecx),%ebx
41ff1e:	57                   	push   %edi
41ff1f:	8b 38                	mov    (%eax),%edi
41ff21:	8b cb                	mov    %ebx,%ecx
41ff23:	e8 72 00 00 00       	call   0x41ff9a
41ff28:	8b f0                	mov    %eax,%esi
41ff2a:	8b ce                	mov    %esi,%ecx
41ff2c:	e8 ef 9a fe ff       	call   0x409a20
41ff31:	8b cb                	mov    %ebx,%ecx
41ff33:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
41ff3a:	89 3e                	mov    %edi,(%esi)
41ff3c:	e8 59 00 00 00       	call   0x41ff9a
41ff41:	5f                   	pop    %edi
41ff42:	5e                   	pop    %esi
41ff43:	5b                   	pop    %ebx
41ff44:	c6 40 10 00          	movb   $0x0,0x10(%eax)
41ff48:	5d                   	pop    %ebp
41ff49:	c2 08 00             	ret    $0x8
41ff4c:	33 c0                	xor    %eax,%eax
41ff4e:	c7 01 c4 1c 49 00    	movl   $0x491cc4,(%ecx)
41ff54:	89 41 04             	mov    %eax,0x4(%ecx)
41ff57:	89 41 08             	mov    %eax,0x8(%ecx)
41ff5a:	66 89 41 0c          	mov    %ax,0xc(%ecx)
41ff5e:	8b c1                	mov    %ecx,%eax
41ff60:	c3                   	ret
41ff61:	55                   	push   %ebp
41ff62:	8b ec                	mov    %esp,%ebp
41ff64:	56                   	push   %esi
41ff65:	57                   	push   %edi
41ff66:	8d 79 04             	lea    0x4(%ecx),%edi
41ff69:	8b cf                	mov    %edi,%ecx
41ff6b:	e8 2a 00 00 00       	call   0x41ff9a
41ff70:	8b f0                	mov    %eax,%esi
41ff72:	8d 4e 20             	lea    0x20(%esi),%ecx
41ff75:	e8 a6 9a fe ff       	call   0x409a20
41ff7a:	8b 55 08             	mov    0x8(%ebp),%edx
41ff7d:	8b cf                	mov    %edi,%ecx
41ff7f:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
41ff86:	89 56 20             	mov    %edx,0x20(%esi)
41ff89:	e8 0c 00 00 00       	call   0x41ff9a
41ff8e:	8a 4d 0c             	mov    0xc(%ebp),%cl
41ff91:	5f                   	pop    %edi
41ff92:	5e                   	pop    %esi
41ff93:	88 48 30             	mov    %cl,0x30(%eax)
41ff96:	5d                   	pop    %ebp
41ff97:	c2 08 00             	ret    $0x8
41ff9a:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
41ff9e:	8b 41 04             	mov    0x4(%ecx),%eax
41ffa1:	75 01                	jne    0x41ffa4
41ffa3:	c3                   	ret
41ffa4:	8b 40 38             	mov    0x38(%eax),%eax
41ffa7:	c3                   	ret
41ffa8:	56                   	push   %esi
41ffa9:	8b f1                	mov    %ecx,%esi
41ffab:	57                   	push   %edi
41ffac:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
41ffb0:	0f 85 f1 5c 03 00    	jne    0x455ca7
41ffb6:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
41ffba:	75 1c                	jne    0x41ffd8
41ffbc:	8b 4e 04             	mov    0x4(%esi),%ecx
41ffbf:	8b 79 38             	mov    0x38(%ecx),%edi
41ffc2:	85 c9                	test   %ecx,%ecx
41ffc4:	74 06                	je     0x41ffcc
41ffc6:	51                   	push   %ecx
41ffc7:	e8 50 00 00 00       	call   0x42001c
41ffcc:	89 7e 04             	mov    %edi,0x4(%esi)
41ffcf:	c6 46 09 00          	movb   $0x0,0x9(%esi)
41ffd3:	ff 0e                	decl   (%esi)
41ffd5:	5f                   	pop    %edi
41ffd6:	5e                   	pop    %esi
41ffd7:	c3                   	ret
41ffd8:	c6 46 09 01          	movb   $0x1,0x9(%esi)
41ffdc:	eb f5                	jmp    0x41ffd3
41ffde:	55                   	push   %ebp
41ffdf:	8b ec                	mov    %esp,%ebp
41ffe1:	56                   	push   %esi
41ffe2:	8b f1                	mov    %ecx,%esi
41ffe4:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
41ffe8:	0f 85 d5 5c 03 00    	jne    0x455cc3
41ffee:	57                   	push   %edi
41ffef:	6a 40                	push   $0x40
41fff1:	e8 00 10 00 00       	call   0x420ff6
41fff6:	8b f8                	mov    %eax,%edi
41fff8:	59                   	pop    %ecx
41fff9:	85 ff                	test   %edi,%edi
41fffb:	74 1b                	je     0x420018
41fffd:	ff 75 08             	push   0x8(%ebp)
420000:	8b cf                	mov    %edi,%ecx
420002:	e8 34 00 00 00       	call   0x42003b
420007:	8b 46 04             	mov    0x4(%esi),%eax
42000a:	89 47 38             	mov    %eax,0x38(%edi)
42000d:	89 7e 04             	mov    %edi,0x4(%esi)
420010:	5f                   	pop    %edi
420011:	ff 06                	incl   (%esi)
420013:	5e                   	pop    %esi
420014:	5d                   	pop    %ebp
420015:	c2 04 00             	ret    $0x4
420018:	33 ff                	xor    %edi,%edi
42001a:	eb eb                	jmp    0x420007
42001c:	56                   	push   %esi
42001d:	8b f1                	mov    %ecx,%esi
42001f:	8d 4e 20             	lea    0x20(%esi),%ecx
420022:	e8 f9 99 fe ff       	call   0x409a20
420027:	8b ce                	mov    %esi,%ecx
420029:	e8 f2 99 fe ff       	call   0x409a20
42002e:	56                   	push   %esi
42002f:	e8 38 10 00 00       	call   0x42106c
420034:	59                   	pop    %ecx
420035:	8b c6                	mov    %esi,%eax
420037:	5e                   	pop    %esi
420038:	c2 04 00             	ret    $0x4
42003b:	55                   	push   %ebp
42003c:	8b ec                	mov    %esp,%ebp
42003e:	56                   	push   %esi
42003f:	8b 75 08             	mov    0x8(%ebp),%esi
420042:	57                   	push   %edi
420043:	8b f9                	mov    %ecx,%edi
420045:	56                   	push   %esi
420046:	83 67 08 00          	andl   $0x0,0x8(%edi)
42004a:	e8 71 9a fe ff       	call   0x409ac0
42004f:	8a 46 10             	mov    0x10(%esi),%al
420052:	8d 4f 20             	lea    0x20(%edi),%ecx
420055:	88 47 10             	mov    %al,0x10(%edi)
420058:	8b 46 14             	mov    0x14(%esi),%eax
42005b:	89 47 14             	mov    %eax,0x14(%edi)
42005e:	8a 46 18             	mov    0x18(%esi),%al
420061:	88 47 18             	mov    %al,0x18(%edi)
420064:	8d 46 20             	lea    0x20(%esi),%eax
420067:	83 61 08 00          	andl   $0x0,0x8(%ecx)
42006b:	50                   	push   %eax
42006c:	e8 4f 9a fe ff       	call   0x409ac0
420071:	8a 46 30             	mov    0x30(%esi),%al
420074:	88 47 30             	mov    %al,0x30(%edi)
420077:	8b c7                	mov    %edi,%eax
420079:	5f                   	pop    %edi
42007a:	5e                   	pop    %esi
42007b:	5d                   	pop    %ebp
42007c:	c2 04 00             	ret    $0x4
42007f:	33 d2                	xor    %edx,%edx
420081:	33 c0                	xor    %eax,%eax
420083:	89 11                	mov    %edx,(%ecx)
420085:	40                   	inc    %eax
420086:	89 41 0c             	mov    %eax,0xc(%ecx)
420089:	89 51 08             	mov    %edx,0x8(%ecx)
42008c:	88 51 10             	mov    %dl,0x10(%ecx)
42008f:	89 51 14             	mov    %edx,0x14(%ecx)
420092:	88 51 18             	mov    %dl,0x18(%ecx)
420095:	89 41 2c             	mov    %eax,0x2c(%ecx)
420098:	8b c1                	mov    %ecx,%eax
42009a:	89 51 20             	mov    %edx,0x20(%ecx)
42009d:	89 51 28             	mov    %edx,0x28(%ecx)
4200a0:	88 51 30             	mov    %dl,0x30(%ecx)
4200a3:	c3                   	ret
4200a4:	55                   	push   %ebp
4200a5:	8b ec                	mov    %esp,%ebp
4200a7:	56                   	push   %esi
4200a8:	8b f1                	mov    %ecx,%esi
4200aa:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
4200ae:	0f 85 23 5c 03 00    	jne    0x455cd7
4200b4:	6a 08                	push   $0x8
4200b6:	e8 3b 0f 00 00       	call   0x420ff6
4200bb:	8b d0                	mov    %eax,%edx
4200bd:	59                   	pop    %ecx
4200be:	85 d2                	test   %edx,%edx
4200c0:	74 17                	je     0x4200d9
4200c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4200c5:	8b 09                	mov    (%ecx),%ecx
4200c7:	89 0a                	mov    %ecx,(%edx)
4200c9:	8b 46 04             	mov    0x4(%esi),%eax
4200cc:	89 42 04             	mov    %eax,0x4(%edx)
4200cf:	89 56 04             	mov    %edx,0x4(%esi)
4200d2:	ff 06                	incl   (%esi)
4200d4:	5e                   	pop    %esi
4200d5:	5d                   	pop    %ebp
4200d6:	c2 04 00             	ret    $0x4
4200d9:	33 d2                	xor    %edx,%edx
4200db:	eb ec                	jmp    0x4200c9
4200dd:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
4200e1:	8b 41 04             	mov    0x4(%ecx),%eax
4200e4:	75 01                	jne    0x4200e7
4200e6:	c3                   	ret
4200e7:	8b 40 04             	mov    0x4(%eax),%eax
4200ea:	c3                   	ret
4200eb:	56                   	push   %esi
4200ec:	57                   	push   %edi
4200ed:	8b f9                	mov    %ecx,%edi
4200ef:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
4200f3:	0f 85 f1 5b 03 00    	jne    0x455cea
4200f9:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
4200fd:	75 19                	jne    0x420118
4200ff:	8b 47 04             	mov    0x4(%edi),%eax
420102:	50                   	push   %eax
420103:	8b 70 04             	mov    0x4(%eax),%esi
420106:	e8 61 0f 00 00       	call   0x42106c
42010b:	59                   	pop    %ecx
42010c:	89 77 04             	mov    %esi,0x4(%edi)
42010f:	c6 47 09 00          	movb   $0x0,0x9(%edi)
420113:	ff 0f                	decl   (%edi)
420115:	5f                   	pop    %edi
420116:	5e                   	pop    %esi
420117:	c3                   	ret
420118:	c6 47 09 01          	movb   $0x1,0x9(%edi)
42011c:	eb f5                	jmp    0x420113
42011e:	8b 41 04             	mov    0x4(%ecx),%eax
420121:	85 c0                	test   %eax,%eax
420123:	75 01                	jne    0x420126
420125:	c3                   	ret
420126:	56                   	push   %esi
420127:	e9 d7 5b 03 00       	jmp    0x455d03
42012c:	55                   	push   %ebp
42012d:	8b ec                	mov    %esp,%ebp
42012f:	51                   	push   %ecx
420130:	51                   	push   %ecx
420131:	8b 49 04             	mov    0x4(%ecx),%ecx
420134:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420137:	85 c9                	test   %ecx,%ecx
420139:	0f 85 d6 5b 03 00    	jne    0x455d15
42013f:	8b e5                	mov    %ebp,%esp
420141:	5d                   	pop    %ebp
420142:	c3                   	ret
420143:	55                   	push   %ebp
420144:	8b ec                	mov    %esp,%ebp
420146:	51                   	push   %ecx
420147:	a1 10 63 4c 00       	mov    0x4c6310,%eax
42014c:	33 c9                	xor    %ecx,%ecx
42014e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420151:	56                   	push   %esi
420152:	8b 40 04             	mov    0x4(%eax),%eax
420155:	c7 80 10 63 4c 00 d0 	movl   $0x491cd0,0x4c6310(%eax)
42015c:	1c 49 00
42015f:	89 0d 14 63 4c 00    	mov    %ecx,0x4c6314
420165:	89 0d 18 63 4c 00    	mov    %ecx,0x4c6318
42016b:	89 0d 1c 63 4c 00    	mov    %ecx,0x4c631c
420171:	b9 20 63 4c 00       	mov    $0x4c6320,%ecx
420176:	e8 a1 00 00 00       	call   0x42021c
42017b:	b9 54 63 4c 00       	mov    $0x4c6354,%ecx
420180:	e8 97 00 00 00       	call   0x42021c
420185:	be 88 63 4c 00       	mov    $0x4c6388,%esi
42018a:	8b ce                	mov    %esi,%ecx
42018c:	e8 36 76 fe ff       	call   0x4077c7
420191:	68 dc 1c 49 00       	push   $0x491cdc
420196:	8b ce                	mov    %esi,%ecx
420198:	e8 8f 7b fe ff       	call   0x407d2c
42019d:	b8 10 63 4c 00       	mov    $0x4c6310,%eax