43ac79:	ff 36                	push   (%esi)
43ac7b:	e8 8c 4d ff ff       	call   0x42fa0c
43ac80:	59                   	pop    %ecx
43ac81:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ac84:	5f                   	pop    %edi
43ac85:	33 cd                	xor    %ebp,%ecx
43ac87:	5e                   	pop    %esi
43ac88:	e8 43 0c fe ff       	call   0x41b8d0
43ac8d:	8b e5                	mov    %ebp,%esp
43ac8f:	5d                   	pop    %ebp
43ac90:	8b e3                	mov    %ebx,%esp
43ac92:	5b                   	pop    %ebx
43ac93:	c3                   	ret
43ac94:	8b ff                	mov    %edi,%edi
43ac96:	55                   	push   %ebp
43ac97:	8b ec                	mov    %esp,%ebp
43ac99:	51                   	push   %ecx
43ac9a:	51                   	push   %ecx
43ac9b:	dd 45 08             	fldl   0x8(%ebp)
43ac9e:	d9 fc                	frndint
43aca0:	dd 5d f8             	fstpl  -0x8(%ebp)
43aca3:	dd 45 f8             	fldl   -0x8(%ebp)
43aca6:	c9                   	leave
43aca7:	c3                   	ret
43aca8:	cc                   	int3
43aca9:	cc                   	int3
43acaa:	cc                   	int3
43acab:	cc                   	int3
43acac:	cc                   	int3
43acad:	cc                   	int3
43acae:	cc                   	int3
43acaf:	cc                   	int3
43acb0:	8b ff                	mov    %edi,%edi
43acb2:	55                   	push   %ebp
43acb3:	8b ec                	mov    %esp,%ebp
43acb5:	81 ec 18 01 00 00    	sub    $0x118,%esp
43acbb:	a1 14 40 45 00       	mov    0x454014,%eax
43acc0:	33 c5                	xor    %ebp,%eax
43acc2:	89 45 fc             	mov    %eax,-0x4(%ebp)
43acc5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43acc8:	53                   	push   %ebx
43acc9:	8b 5d 14             	mov    0x14(%ebp),%ebx
43accc:	56                   	push   %esi
43accd:	8b 75 08             	mov    0x8(%ebp),%esi
43acd0:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
43acd6:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
43acdc:	57                   	push   %edi
43acdd:	8b 7d 10             	mov    0x10(%ebp),%edi
43ace0:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
43ace6:	85 f6                	test   %esi,%esi
43ace8:	75 25                	jne    0x43ad0f
43acea:	85 c9                	test   %ecx,%ecx
43acec:	74 21                	je     0x43ad0f
43acee:	e8 4d b9 fe ff       	call   0x426640
43acf3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43acf9:	e8 71 5d fe ff       	call   0x420a6f
43acfe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ad01:	5f                   	pop    %edi
43ad02:	5e                   	pop    %esi
43ad03:	33 cd                	xor    %ebp,%ecx
43ad05:	5b                   	pop    %ebx
43ad06:	e8 c5 0b fe ff       	call   0x41b8d0
43ad0b:	8b e5                	mov    %ebp,%esp
43ad0d:	5d                   	pop    %ebp
43ad0e:	c3                   	ret
43ad0f:	85 ff                	test   %edi,%edi
43ad11:	74 db                	je     0x43acee
43ad13:	85 db                	test   %ebx,%ebx
43ad15:	74 d7                	je     0x43acee
43ad17:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
43ad1e:	00 00 00
43ad21:	83 f9 02             	cmp    $0x2,%ecx
43ad24:	72 d8                	jb     0x43acfe
43ad26:	49                   	dec    %ecx
43ad27:	0f af cf             	imul   %edi,%ecx
43ad2a:	03 ce                	add    %esi,%ecx
43ad2c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
43ad32:	8b c1                	mov    %ecx,%eax
43ad34:	33 d2                	xor    %edx,%edx
43ad36:	2b c6                	sub    %esi,%eax
43ad38:	f7 f7                	div    %edi
43ad3a:	40                   	inc    %eax
43ad3b:	83 f8 08             	cmp    $0x8,%eax
43ad3e:	0f 87 b6 00 00 00    	ja     0x43adfa
43ad44:	3b ce                	cmp    %esi,%ecx
43ad46:	0f 86 27 04 00 00    	jbe    0x43b173
43ad4c:	8d 14 37             	lea    (%edi,%esi,1),%edx
43ad4f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
43ad55:	8b c6                	mov    %esi,%eax
43ad57:	8b f2                	mov    %edx,%esi
43ad59:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
43ad5f:	3b f1                	cmp    %ecx,%esi
43ad61:	77 2f                	ja     0x43ad92
43ad63:	50                   	push   %eax
43ad64:	56                   	push   %esi
43ad65:	8b cb                	mov    %ebx,%ecx
43ad67:	ff 15 3c f2 43 00    	call   *0x43f23c
43ad6d:	ff d3                	call   *%ebx
43ad6f:	83 c4 08             	add    $0x8,%esp
43ad72:	85 c0                	test   %eax,%eax
43ad74:	7e 0a                	jle    0x43ad80
43ad76:	8b c6                	mov    %esi,%eax
43ad78:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
43ad7e:	eb 06                	jmp    0x43ad86
43ad80:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
43ad86:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
43ad8c:	03 f7                	add    %edi,%esi
43ad8e:	3b f1                	cmp    %ecx,%esi
43ad90:	76 d1                	jbe    0x43ad63
43ad92:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
43ad98:	8b d1                	mov    %ecx,%edx
43ad9a:	3b c1                	cmp    %ecx,%eax
43ad9c:	74 3b                	je     0x43add9
43ad9e:	2b c1                	sub    %ecx,%eax
43ada0:	8b df                	mov    %edi,%ebx
43ada2:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
43ada8:	eb 06                	jmp    0x43adb0
43adaa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43adb0:	8a 0c 10             	mov    (%eax,%edx,1),%cl
43adb3:	8d 52 01             	lea    0x1(%edx),%edx
43adb6:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
43adbc:	8a 42 ff             	mov    -0x1(%edx),%al
43adbf:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
43adc3:	8b c6                	mov    %esi,%eax
43adc5:	88 4a ff             	mov    %cl,-0x1(%edx)
43adc8:	83 eb 01             	sub    $0x1,%ebx
43adcb:	75 e3                	jne    0x43adb0
43adcd:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43add3:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
43add9:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43addf:	2b cf                	sub    %edi,%ecx
43ade1:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
43ade7:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
43aded:	3b ce                	cmp    %esi,%ecx
43adef:	0f 87 60 ff ff ff    	ja     0x43ad55
43adf5:	e9 79 03 00 00       	jmp    0x43b173
43adfa:	d1 e8                	shr    $1,%eax
43adfc:	8b cb                	mov    %ebx,%ecx
43adfe:	0f af c7             	imul   %edi,%eax
43ae01:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
43ae07:	8d 3c 30             	lea    (%eax,%esi,1),%edi
43ae0a:	57                   	push   %edi
43ae0b:	56                   	push   %esi
43ae0c:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
43ae12:	ff 15 3c f2 43 00    	call   *0x43f23c
43ae18:	ff d3                	call   *%ebx
43ae1a:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43ae20:	83 c4 08             	add    $0x8,%esp
43ae23:	85 c0                	test   %eax,%eax
43ae25:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
43ae2b:	7e 4d                	jle    0x43ae7a
43ae2d:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43ae33:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
43ae39:	3b c7                	cmp    %edi,%eax
43ae3b:	74 3d                	je     0x43ae7a
43ae3d:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
43ae43:	8b f7                	mov    %edi,%esi
43ae45:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
43ae4b:	eb 03                	jmp    0x43ae50
43ae4d:	8d 49 00             	lea    0x0(%ecx),%ecx
43ae50:	8a 06                	mov    (%esi),%al
43ae52:	8b d6                	mov    %esi,%edx
43ae54:	2b d7                	sub    %edi,%edx
43ae56:	8a 0a                	mov    (%edx),%cl
43ae58:	88 02                	mov    %al,(%edx)
43ae5a:	88 0e                	mov    %cl,(%esi)
43ae5c:	46                   	inc    %esi
43ae5d:	83 eb 01             	sub    $0x1,%ebx
43ae60:	75 ee                	jne    0x43ae50
43ae62:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
43ae68:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43ae6e:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43ae74:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
43ae7a:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43ae80:	8b cb                	mov    %ebx,%ecx
43ae82:	50                   	push   %eax
43ae83:	ff 15 3c f2 43 00    	call   *0x43f23c
43ae89:	ff d3                	call   *%ebx
43ae8b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43ae91:	83 c4 08             	add    $0x8,%esp
43ae94:	85 c0                	test   %eax,%eax
43ae96:	7e 49                	jle    0x43aee1
43ae98:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
43ae9e:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
43aea4:	8b f2                	mov    %edx,%esi
43aea6:	3b c2                	cmp    %edx,%eax
43aea8:	74 37                	je     0x43aee1
43aeaa:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
43aeb0:	2b c2                	sub    %edx,%eax
43aeb2:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
43aeb8:	8b d0                	mov    %eax,%edx
43aeba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43aec0:	8a 06                	mov    (%esi),%al
43aec2:	8d 76 01             	lea    0x1(%esi),%esi
43aec5:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
43aec9:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
43aecd:	88 4e ff             	mov    %cl,-0x1(%esi)
43aed0:	83 eb 01             	sub    $0x1,%ebx
43aed3:	75 eb                	jne    0x43aec0
43aed5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43aedb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43aee1:	52                   	push   %edx
43aee2:	57                   	push   %edi
43aee3:	8b cb                	mov    %ebx,%ecx
43aee5:	ff 15 3c f2 43 00    	call   *0x43f23c
43aeeb:	ff d3                	call   *%ebx
43aeed:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43aef3:	83 c4 08             	add    $0x8,%esp
43aef6:	85 c0                	test   %eax,%eax
43aef8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43aefe:	7e 35                	jle    0x43af35
43af00:	8b d8                	mov    %eax,%ebx
43af02:	8b f2                	mov    %edx,%esi
43af04:	3b fa                	cmp    %edx,%edi
43af06:	74 2d                	je     0x43af35
43af08:	8b c7                	mov    %edi,%eax
43af0a:	2b c2                	sub    %edx,%eax
43af0c:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
43af12:	8b d0                	mov    %eax,%edx
43af14:	8a 06                	mov    (%esi),%al
43af16:	8d 76 01             	lea    0x1(%esi),%esi
43af19:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
43af1d:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
43af21:	88 4e ff             	mov    %cl,-0x1(%esi)
43af24:	83 eb 01             	sub    $0x1,%ebx
43af27:	75 eb                	jne    0x43af14
43af29:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43af2f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43af35:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43af3b:	8b da                	mov    %edx,%ebx
43af3d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
43af43:	3b fe                	cmp    %esi,%edi
43af45:	76 3e                	jbe    0x43af85
43af47:	eb 07                	jmp    0x43af50
43af49:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43af50:	03 f0                	add    %eax,%esi
43af52:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43af58:	3b f7                	cmp    %edi,%esi
43af5a:	73 23                	jae    0x43af7f
43af5c:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
43af62:	57                   	push   %edi
43af63:	56                   	push   %esi
43af64:	ff 15 3c f2 43 00    	call   *0x43f23c
43af6a:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
43af70:	83 c4 08             	add    $0x8,%esp
43af73:	85 c0                	test   %eax,%eax
43af75:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43af7b:	7e d3                	jle    0x43af50
43af7d:	eb 42                	jmp    0x43afc1
43af7f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43af85:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43af8b:	eb 03                	jmp    0x43af90
43af8d:	8d 49 00             	lea    0x0(%ecx),%ecx
43af90:	03 f0                	add    %eax,%esi
43af92:	3b f2                	cmp    %edx,%esi
43af94:	77 1f                	ja     0x43afb5
43af96:	57                   	push   %edi
43af97:	56                   	push   %esi
43af98:	8b cb                	mov    %ebx,%ecx
43af9a:	ff 15 3c f2 43 00    	call   *0x43f23c
43afa0:	ff d3                	call   *%ebx
43afa2:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43afa8:	83 c4 08             	add    $0x8,%esp
43afab:	85 c0                	test   %eax,%eax
43afad:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43afb3:	7e db                	jle    0x43af90
43afb5:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
43afbb:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43afc1:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
43afc7:	eb 07                	jmp    0x43afd0
43afc9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43afd0:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43afd6:	8b cb                	mov    %ebx,%ecx
43afd8:	2b d8                	sub    %eax,%ebx
43afda:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43afe0:	3b df                	cmp    %edi,%ebx
43afe2:	76 1f                	jbe    0x43b003
43afe4:	57                   	push   %edi
43afe5:	53                   	push   %ebx
43afe6:	8b ce                	mov    %esi,%ecx
43afe8:	ff 15 3c f2 43 00    	call   *0x43f23c
43afee:	ff d6                	call   *%esi
43aff0:	83 c4 08             	add    $0x8,%esp
43aff3:	85 c0                	test   %eax,%eax
43aff5:	7f d9                	jg     0x43afd0
43aff7:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43affd:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b003:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b009:	89 9d 04 ff ff ff    	mov    %ebx,-0xfc(%ebp)
43b00f:	3b de                	cmp    %esi,%ebx
43b011:	72 4a                	jb     0x43b05d
43b013:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
43b019:	8b d3                	mov    %ebx,%edx
43b01b:	74 2b                	je     0x43b048
43b01d:	2b f3                	sub    %ebx,%esi
43b01f:	8b d8                	mov    %eax,%ebx
43b021:	8a 02                	mov    (%edx),%al
43b023:	8d 52 01             	lea    0x1(%edx),%edx
43b026:	8a 4c 16 ff          	mov    -0x1(%esi,%edx,1),%cl
43b02a:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
43b02e:	88 4a ff             	mov    %cl,-0x1(%edx)
43b031:	83 eb 01             	sub    $0x1,%ebx
43b034:	75 eb                	jne    0x43b021
43b036:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b03c:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
43b042:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b048:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43b04e:	3b fb                	cmp    %ebx,%edi
43b050:	0f 85 ed fe ff ff    	jne    0x43af43
43b056:	8b fe                	mov    %esi,%edi
43b058:	e9 e6 fe ff ff       	jmp    0x43af43
43b05d:	3b f9                	cmp    %ecx,%edi
43b05f:	73 3c                	jae    0x43b09d
43b061:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43b067:	eb 07                	jmp    0x43b070
43b069:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b070:	2b c8                	sub    %eax,%ecx
43b072:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43b078:	3b cf                	cmp    %edi,%ecx
43b07a:	76 21                	jbe    0x43b09d
43b07c:	57                   	push   %edi
43b07d:	51                   	push   %ecx
43b07e:	8b cb                	mov    %ebx,%ecx
43b080:	ff 15 3c f2 43 00    	call   *0x43f23c
43b086:	ff d3                	call   *%ebx
43b088:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b08e:	83 c4 08             	add    $0x8,%esp
43b091:	85 c0                	test   %eax,%eax
43b093:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b099:	74 d5                	je     0x43b070
43b09b:	eb 44                	jmp    0x43b0e1
43b09d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43b0a3:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43b0a9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b0b0:	2b c8                	sub    %eax,%ecx
43b0b2:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43b0b8:	3b ce                	cmp    %esi,%ecx
43b0ba:	76 1f                	jbe    0x43b0db
43b0bc:	57                   	push   %edi
43b0bd:	51                   	push   %ecx
43b0be:	8b cb                	mov    %ebx,%ecx
43b0c0:	ff 15 3c f2 43 00    	call   *0x43f23c
43b0c6:	ff d3                	call   *%ebx
43b0c8:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b0ce:	83 c4 08             	add    $0x8,%esp
43b0d1:	85 c0                	test   %eax,%eax
43b0d3:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b0d9:	74 d5                	je     0x43b0b0
43b0db:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b0e1:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx