424e06:	e8 50 19 ff ff       	call   0x41675b
424e0b:	84 c0                	test   %al,%al
424e0d:	74 0b                	je     0x424e1a
424e0f:	56                   	push   %esi
424e10:	e8 73 19 ff ff       	call   0x416788
424e15:	59                   	pop    %ecx
424e16:	85 c0                	test   %eax,%eax
424e18:	75 08                	jne    0x424e22
424e1a:	ff 36                	push   (%esi)
424e1c:	e8 f5 85 ff ff       	call   0x41d416
424e21:	59                   	pop    %ecx
424e22:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424e25:	5f                   	pop    %edi
424e26:	33 cd                	xor    %ebp,%ecx
424e28:	5e                   	pop    %esi
424e29:	e8 32 22 fe ff       	call   0x407060
424e2e:	8b e5                	mov    %ebp,%esp
424e30:	5d                   	pop    %ebp
424e31:	8b e3                	mov    %ebx,%esp
424e33:	5b                   	pop    %ebx
424e34:	c3                   	ret
424e35:	8b ff                	mov    %edi,%edi
424e37:	55                   	push   %ebp
424e38:	8b ec                	mov    %esp,%ebp
424e3a:	51                   	push   %ecx
424e3b:	51                   	push   %ecx
424e3c:	dd 45 08             	fldl   0x8(%ebp)
424e3f:	d9 fc                	frndint
424e41:	dd 5d f8             	fstpl  -0x8(%ebp)
424e44:	dd 45 f8             	fldl   -0x8(%ebp)
424e47:	8b e5                	mov    %ebp,%esp
424e49:	5d                   	pop    %ebp
424e4a:	c3                   	ret
424e4b:	8b ff                	mov    %edi,%edi
424e4d:	55                   	push   %ebp
424e4e:	8b ec                	mov    %esp,%ebp
424e50:	51                   	push   %ecx
424e51:	8b 55 14             	mov    0x14(%ebp),%edx
424e54:	8b 4d 08             	mov    0x8(%ebp),%ecx
424e57:	56                   	push   %esi
424e58:	85 d2                	test   %edx,%edx
424e5a:	75 0d                	jne    0x424e69
424e5c:	85 c9                	test   %ecx,%ecx
424e5e:	75 0d                	jne    0x424e6d
424e60:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
424e63:	75 21                	jne    0x424e86
424e65:	33 c0                	xor    %eax,%eax
424e67:	eb 2e                	jmp    0x424e97
424e69:	85 c9                	test   %ecx,%ecx
424e6b:	74 19                	je     0x424e86
424e6d:	8b 45 0c             	mov    0xc(%ebp),%eax
424e70:	85 c0                	test   %eax,%eax
424e72:	74 12                	je     0x424e86
424e74:	85 d2                	test   %edx,%edx
424e76:	75 04                	jne    0x424e7c
424e78:	88 11                	mov    %dl,(%ecx)
424e7a:	eb e9                	jmp    0x424e65
424e7c:	8b 75 10             	mov    0x10(%ebp),%esi
424e7f:	85 f6                	test   %esi,%esi
424e81:	75 19                	jne    0x424e9c
424e83:	c6 01 00             	movb   $0x0,(%ecx)
424e86:	e8 e0 fb fe ff       	call   0x414a6b
424e8b:	6a 16                	push   $0x16
424e8d:	5e                   	pop    %esi
424e8e:	89 30                	mov    %esi,(%eax)
424e90:	e8 4d 6e fe ff       	call   0x40bce2
424e95:	8b c6                	mov    %esi,%eax
424e97:	5e                   	pop    %esi
424e98:	8b e5                	mov    %ebp,%esp
424e9a:	5d                   	pop    %ebp
424e9b:	c3                   	ret
424e9c:	53                   	push   %ebx
424e9d:	2b f1                	sub    %ecx,%esi
424e9f:	8b d8                	mov    %eax,%ebx
424ea1:	57                   	push   %edi
424ea2:	8b f9                	mov    %ecx,%edi
424ea4:	83 fa ff             	cmp    $0xffffffff,%edx
424ea7:	75 11                	jne    0x424eba
424ea9:	8a 04 3e             	mov    (%esi,%edi,1),%al
424eac:	88 07                	mov    %al,(%edi)
424eae:	47                   	inc    %edi
424eaf:	84 c0                	test   %al,%al
424eb1:	74 25                	je     0x424ed8
424eb3:	83 eb 01             	sub    $0x1,%ebx
424eb6:	75 f1                	jne    0x424ea9
424eb8:	eb 1e                	jmp    0x424ed8
424eba:	8a 04 3e             	mov    (%esi,%edi,1),%al
424ebd:	88 07                	mov    %al,(%edi)
424ebf:	47                   	inc    %edi
424ec0:	84 c0                	test   %al,%al
424ec2:	74 0a                	je     0x424ece
424ec4:	83 eb 01             	sub    $0x1,%ebx
424ec7:	74 05                	je     0x424ece
424ec9:	83 ea 01             	sub    $0x1,%edx
424ecc:	75 ec                	jne    0x424eba
424ece:	85 d2                	test   %edx,%edx
424ed0:	8b 55 14             	mov    0x14(%ebp),%edx
424ed3:	75 03                	jne    0x424ed8
424ed5:	c6 07 00             	movb   $0x0,(%edi)
424ed8:	5f                   	pop    %edi
424ed9:	85 db                	test   %ebx,%ebx
424edb:	5b                   	pop    %ebx
424edc:	75 87                	jne    0x424e65
424ede:	83 fa ff             	cmp    $0xffffffff,%edx
424ee1:	75 0d                	jne    0x424ef0
424ee3:	8b 45 0c             	mov    0xc(%ebp),%eax
424ee6:	6a 50                	push   $0x50
424ee8:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
424eed:	58                   	pop    %eax
424eee:	eb a7                	jmp    0x424e97
424ef0:	c6 01 00             	movb   $0x0,(%ecx)
424ef3:	e8 73 fb fe ff       	call   0x414a6b
424ef8:	6a 22                	push   $0x22
424efa:	eb 91                	jmp    0x424e8d
424efc:	8b ff                	mov    %edi,%edi
424efe:	55                   	push   %ebp
424eff:	8b ec                	mov    %esp,%ebp
424f01:	5d                   	pop    %ebp
424f02:	e9 44 ff ff ff       	jmp    0x424e4b
424f07:	8b ff                	mov    %edi,%edi
424f09:	55                   	push   %ebp
424f0a:	8b ec                	mov    %esp,%ebp
424f0c:	b8 ff ff 00 00       	mov    $0xffff,%eax
424f11:	83 ec 18             	sub    $0x18,%esp
424f14:	66 39 45 08          	cmp    %ax,0x8(%ebp)
424f18:	0f 84 ae 00 00 00    	je     0x424fcc
424f1e:	ff 75 0c             	push   0xc(%ebp)
424f21:	8d 4d e8             	lea    -0x18(%ebp),%ecx
424f24:	e8 9f 78 fe ff       	call   0x40c7c8
424f29:	8b 45 ec             	mov    -0x14(%ebp),%eax
424f2c:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
424f32:	85 c0                	test   %eax,%eax
424f34:	75 21                	jne    0x424f57
424f36:	8b 4d 08             	mov    0x8(%ebp),%ecx
424f39:	8d 41 bf             	lea    -0x41(%ecx),%eax
424f3c:	66 83 f8 19          	cmp    $0x19,%ax
424f40:	77 0d                	ja     0x424f4f
424f42:	66 83 c1 20          	add    $0x20,%cx
424f46:	0f b7 c1             	movzwl %cx,%eax
424f49:	89 45 f8             	mov    %eax,-0x8(%ebp)
424f4c:	66 8b c8             	mov    %ax,%cx
424f4f:	0f b7 c1             	movzwl %cx,%eax
424f52:	89 45 f8             	mov    %eax,-0x8(%ebp)
424f55:	eb 1f                	jmp    0x424f76
424f57:	ba 00 01 00 00       	mov    $0x100,%edx
424f5c:	6a 01                	push   $0x1
424f5e:	66 39 55 08          	cmp    %dx,0x8(%ebp)
424f62:	73 30                	jae    0x424f94
424f64:	ff 75 08             	push   0x8(%ebp)
424f67:	e8 65 59 ff ff       	call   0x41a8d1
424f6c:	59                   	pop    %ecx
424f6d:	59                   	pop    %ecx
424f6e:	85 c0                	test   %eax,%eax
424f70:	75 09                	jne    0x424f7b
424f72:	66 8b 45 08          	mov    0x8(%ebp),%ax
424f76:	0f b7 c0             	movzwl %ax,%eax
424f79:	eb 11                	jmp    0x424f8c
424f7b:	8b 45 ec             	mov    -0x14(%ebp),%eax
424f7e:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
424f82:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
424f88:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
424f8c:	0f b7 c0             	movzwl %ax,%eax
424f8f:	89 45 f8             	mov    %eax,-0x8(%ebp)
424f92:	eb 1c                	jmp    0x424fb0
424f94:	8d 4d fc             	lea    -0x4(%ebp),%ecx
424f97:	51                   	push   %ecx
424f98:	6a 01                	push   $0x1
424f9a:	8d 4d 08             	lea    0x8(%ebp),%ecx
424f9d:	51                   	push   %ecx
424f9e:	52                   	push   %edx
424f9f:	50                   	push   %eax
424fa0:	e8 bb 0e 00 00       	call   0x425e60
424fa5:	83 c4 18             	add    $0x18,%esp
424fa8:	85 c0                	test   %eax,%eax
424faa:	75 0c                	jne    0x424fb8
424fac:	66 8b 45 08          	mov    0x8(%ebp),%ax
424fb0:	0f b7 c0             	movzwl %ax,%eax
424fb3:	89 45 f8             	mov    %eax,-0x8(%ebp)
424fb6:	eb 04                	jmp    0x424fbc
424fb8:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
424fbc:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
424fc0:	74 0a                	je     0x424fcc
424fc2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
424fc5:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
424fcc:	8b e5                	mov    %ebp,%esp
424fce:	5d                   	pop    %ebp
424fcf:	c3                   	ret
424fd0:	8b ff                	mov    %edi,%edi
424fd2:	55                   	push   %ebp
424fd3:	8b ec                	mov    %esp,%ebp
424fd5:	51                   	push   %ecx
424fd6:	a1 28 ba 43 00       	mov    0x43ba28,%eax
424fdb:	33 c5                	xor    %ebp,%eax
424fdd:	89 45 fc             	mov    %eax,-0x4(%ebp)
424fe0:	8b 4d 08             	mov    0x8(%ebp),%ecx
424fe3:	53                   	push   %ebx
424fe4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
424fe7:	3b d9                	cmp    %ecx,%ebx
424fe9:	76 6c                	jbe    0x425057
424feb:	8b 45 10             	mov    0x10(%ebp),%eax
424fee:	56                   	push   %esi
424fef:	57                   	push   %edi
424ff0:	8d 14 01             	lea    (%ecx,%eax,1),%edx
424ff3:	8b f2                	mov    %edx,%esi
424ff5:	8b f9                	mov    %ecx,%edi
424ff7:	3b f3                	cmp    %ebx,%esi
424ff9:	77 28                	ja     0x425023
424ffb:	eb 03                	jmp    0x425000
424ffd:	8d 49 00             	lea    0x0(%ecx),%ecx
425000:	8b 4d 14             	mov    0x14(%ebp),%ecx
425003:	57                   	push   %edi
425004:	56                   	push   %esi
425005:	ff 15 50 72 42 00    	call   *0x427250
42500b:	ff 55 14             	call   *0x14(%ebp)
42500e:	83 c4 08             	add    $0x8,%esp
425011:	85 c0                	test   %eax,%eax
425013:	7e 02                	jle    0x425017
425015:	8b fe                	mov    %esi,%edi
425017:	8b 45 10             	mov    0x10(%ebp),%eax
42501a:	03 f0                	add    %eax,%esi
42501c:	3b f3                	cmp    %ebx,%esi
42501e:	76 e0                	jbe    0x425000
425020:	8b 4d 08             	mov    0x8(%ebp),%ecx
425023:	8b f0                	mov    %eax,%esi
425025:	8b d3                	mov    %ebx,%edx
425027:	3b fb                	cmp    %ebx,%edi
425029:	74 21                	je     0x42504c
42502b:	85 c0                	test   %eax,%eax
42502d:	74 1d                	je     0x42504c
42502f:	2b fb                	sub    %ebx,%edi
425031:	8a 02                	mov    (%edx),%al
425033:	8d 52 01             	lea    0x1(%edx),%edx
425036:	8a 4c 17 ff          	mov    -0x1(%edi,%edx,1),%cl
42503a:	88 44 17 ff          	mov    %al,-0x1(%edi,%edx,1)
42503e:	88 4a ff             	mov    %cl,-0x1(%edx)
425041:	83 ee 01             	sub    $0x1,%esi
425044:	75 eb                	jne    0x425031
425046:	8b 45 10             	mov    0x10(%ebp),%eax
425049:	8b 4d 08             	mov    0x8(%ebp),%ecx
42504c:	2b d8                	sub    %eax,%ebx
42504e:	8d 14 01             	lea    (%ecx,%eax,1),%edx
425051:	3b d9                	cmp    %ecx,%ebx
425053:	77 9e                	ja     0x424ff3
425055:	5f                   	pop    %edi
425056:	5e                   	pop    %esi
425057:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42505a:	33 cd                	xor    %ebp,%ecx
42505c:	5b                   	pop    %ebx
42505d:	e8 fe 1f fe ff       	call   0x407060
425062:	8b e5                	mov    %ebp,%esp
425064:	5d                   	pop    %ebp
425065:	c3                   	ret
425066:	cc                   	int3
425067:	cc                   	int3
425068:	cc                   	int3
425069:	cc                   	int3
42506a:	cc                   	int3
42506b:	cc                   	int3
42506c:	cc                   	int3
42506d:	cc                   	int3
42506e:	cc                   	int3
42506f:	cc                   	int3
425070:	8b ff                	mov    %edi,%edi
425072:	55                   	push   %ebp
425073:	8b ec                	mov    %esp,%ebp
425075:	8b 45 0c             	mov    0xc(%ebp),%eax
425078:	57                   	push   %edi
425079:	8b 7d 08             	mov    0x8(%ebp),%edi
42507c:	3b f8                	cmp    %eax,%edi
42507e:	74 26                	je     0x4250a6
425080:	56                   	push   %esi
425081:	8b 75 10             	mov    0x10(%ebp),%esi
425084:	85 f6                	test   %esi,%esi
425086:	74 1d                	je     0x4250a5
425088:	2b f8                	sub    %eax,%edi
42508a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
425090:	8a 08                	mov    (%eax),%cl
425092:	8d 40 01             	lea    0x1(%eax),%eax
425095:	8a 54 07 ff          	mov    -0x1(%edi,%eax,1),%dl
425099:	88 4c 07 ff          	mov    %cl,-0x1(%edi,%eax,1)
42509d:	88 50 ff             	mov    %dl,-0x1(%eax)
4250a0:	83 ee 01             	sub    $0x1,%esi
4250a3:	75 eb                	jne    0x425090
4250a5:	5e                   	pop    %esi
4250a6:	5f                   	pop    %edi
4250a7:	5d                   	pop    %ebp
4250a8:	c3                   	ret
4250a9:	cc                   	int3
4250aa:	cc                   	int3
4250ab:	cc                   	int3
4250ac:	cc                   	int3
4250ad:	cc                   	int3
4250ae:	cc                   	int3
4250af:	cc                   	int3
4250b0:	8b ff                	mov    %edi,%edi
4250b2:	55                   	push   %ebp
4250b3:	8b ec                	mov    %esp,%ebp
4250b5:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
4250bb:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4250c0:	33 c5                	xor    %ebp,%eax
4250c2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4250c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4250c8:	8b 55 0c             	mov    0xc(%ebp),%edx
4250cb:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
4250d1:	56                   	push   %esi
4250d2:	8b 75 14             	mov    0x14(%ebp),%esi
4250d5:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
4250db:	57                   	push   %edi
4250dc:	8b 7d 10             	mov    0x10(%ebp),%edi
4250df:	89 bd 04 ff ff ff    	mov    %edi,-0xfc(%ebp)
4250e5:	85 c9                	test   %ecx,%ecx
4250e7:	75 24                	jne    0x42510d
4250e9:	85 d2                	test   %edx,%edx
4250eb:	74 20                	je     0x42510d
4250ed:	e8 79 f9 fe ff       	call   0x414a6b
4250f2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4250f8:	e8 e5 6b fe ff       	call   0x40bce2
4250fd:	5f                   	pop    %edi
4250fe:	5e                   	pop    %esi
4250ff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
425102:	33 cd                	xor    %ebp,%ecx
425104:	e8 57 1f fe ff       	call   0x407060
425109:	8b e5                	mov    %ebp,%esp
42510b:	5d                   	pop    %ebp
42510c:	c3                   	ret
42510d:	85 ff                	test   %edi,%edi
42510f:	74 dc                	je     0x4250ed
425111:	85 f6                	test   %esi,%esi
425113:	74 d8                	je     0x4250ed
425115:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
42511c:	00 00 00
42511f:	83 fa 02             	cmp    $0x2,%edx
425122:	0f 82 12 03 00 00    	jb     0x42543a
425128:	4a                   	dec    %edx
425129:	0f af d7             	imul   %edi,%edx
42512c:	53                   	push   %ebx
42512d:	03 d1                	add    %ecx,%edx
42512f:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
425135:	8b c2                	mov    %edx,%eax
425137:	33 d2                	xor    %edx,%edx
425139:	2b c1                	sub    %ecx,%eax
42513b:	f7 f7                	div    %edi
42513d:	8d 58 01             	lea    0x1(%eax),%ebx
425140:	83 fb 08             	cmp    $0x8,%ebx
425143:	77 16                	ja     0x42515b
425145:	56                   	push   %esi
425146:	57                   	push   %edi
425147:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
42514d:	51                   	push   %ecx
42514e:	e8 7d fe ff ff       	call   0x424fd0