43edb1:	8b 5d f0             	mov    -0x10(%ebp),%ebx
43edb4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43edb7:	3b d9                	cmp    %ecx,%ebx
43edb9:	7e 0c                	jle    0x43edc7
43edbb:	8b c3                	mov    %ebx,%eax
43edbd:	8b d9                	mov    %ecx,%ebx
43edbf:	8b c8                	mov    %eax,%ecx
43edc1:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43edc4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43edc7:	8b 55 fc             	mov    -0x4(%ebp),%edx
43edca:	8b 45 f4             	mov    -0xc(%ebp),%eax
43edcd:	3b c2                	cmp    %edx,%eax
43edcf:	7e 0b                	jle    0x43eddc
43edd1:	89 55 f4             	mov    %edx,-0xc(%ebp)
43edd4:	8b d0                	mov    %eax,%edx
43edd6:	8b 45 f4             	mov    -0xc(%ebp),%eax
43edd9:	89 55 fc             	mov    %edx,-0x4(%ebp)
43eddc:	2b d0                	sub    %eax,%edx
43edde:	2b cb                	sub    %ebx,%ecx
43ede0:	6a 00                	push   $0x0
43ede2:	52                   	push   %edx
43ede3:	8d 41 0a             	lea    0xa(%ecx),%eax
43ede6:	99                   	cltd
43ede7:	51                   	push   %ecx
43ede8:	2b c2                	sub    %edx,%eax
43edea:	8b c8                	mov    %eax,%ecx
43edec:	8b 45 0c             	mov    0xc(%ebp),%eax
43edef:	6b c0 03             	imul   $0x3,%eax,%eax
43edf2:	57                   	push   %edi
43edf3:	6a 04                	push   $0x4
43edf5:	99                   	cltd
43edf6:	5b                   	pop    %ebx
43edf7:	f7 fb                	idiv   %ebx
43edf9:	d1 f9                	sar    $1,%ecx
43edfb:	2b c1                	sub    %ecx,%eax
43edfd:	50                   	push   %eax
43edfe:	ff 75 08             	push   0x8(%ebp)
43ee01:	ff 15 e8 d6 48 00    	call   *0x48d6e8
43ee07:	68 e9 03 00 00       	push   $0x3e9
43ee0c:	ff 76 54             	push   0x54(%esi)
43ee0f:	ff 15 00 d6 48 00    	call   *0x48d600
43ee15:	8b d8                	mov    %eax,%ebx
43ee17:	85 db                	test   %ebx,%ebx
43ee19:	74 4e                	je     0x43ee69
43ee1b:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ee1e:	50                   	push   %eax
43ee1f:	53                   	push   %ebx
43ee20:	ff 15 7c d6 48 00    	call   *0x48d67c
43ee26:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43ee29:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ee2c:	3b c8                	cmp    %eax,%ecx
43ee2e:	7e 06                	jle    0x43ee36
43ee30:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ee33:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43ee36:	8b 55 f4             	mov    -0xc(%ebp),%edx
43ee39:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ee3c:	3b d1                	cmp    %ecx,%edx
43ee3e:	7e 0c                	jle    0x43ee4c
43ee40:	8b c2                	mov    %edx,%eax
43ee42:	8b d1                	mov    %ecx,%edx
43ee44:	8b c8                	mov    %eax,%ecx
43ee46:	89 55 f4             	mov    %edx,-0xc(%ebp)
43ee49:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43ee4c:	6a fb                	push   $0xfffffffb
43ee4e:	58                   	pop    %eax
43ee4f:	2b ca                	sub    %edx,%ecx
43ee51:	2b c1                	sub    %ecx,%eax
43ee53:	6a 00                	push   $0x0
43ee55:	03 f8                	add    %eax,%edi
43ee57:	8b 45 0c             	mov    0xc(%ebp),%eax
43ee5a:	51                   	push   %ecx
43ee5b:	83 c0 ec             	add    $0xffffffec,%eax
43ee5e:	50                   	push   %eax
43ee5f:	57                   	push   %edi
43ee60:	6a 0a                	push   $0xa
43ee62:	53                   	push   %ebx
43ee63:	ff 15 e8 d6 48 00    	call   *0x48d6e8
43ee69:	68 ea 03 00 00       	push   $0x3ea
43ee6e:	ff 76 54             	push   0x54(%esi)
43ee71:	ff 15 00 d6 48 00    	call   *0x48d600
43ee77:	5b                   	pop    %ebx
43ee78:	85 c0                	test   %eax,%eax
43ee7a:	74 18                	je     0x43ee94
43ee7c:	6a 00                	push   $0x0
43ee7e:	8d 4f fb             	lea    -0x5(%edi),%ecx
43ee81:	51                   	push   %ecx
43ee82:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ee85:	83 c1 ec             	add    $0xffffffec,%ecx
43ee88:	51                   	push   %ecx
43ee89:	6a 0a                	push   $0xa
43ee8b:	6a 0a                	push   $0xa
43ee8d:	50                   	push   %eax
43ee8e:	ff 15 e8 d6 48 00    	call   *0x48d6e8
43ee94:	6a 01                	push   $0x1
43ee96:	6a 00                	push   $0x0
43ee98:	ff 76 54             	push   0x54(%esi)
43ee9b:	ff 15 40 d6 48 00    	call   *0x48d640
43eea1:	5f                   	pop    %edi
43eea2:	5e                   	pop    %esi
43eea3:	c9                   	leave
43eea4:	c2 0c 00             	ret    $0xc
43eea7:	55                   	push   %ebp
43eea8:	8b ec                	mov    %esp,%ebp
43eeaa:	81 7d 08 0a 04 00 00 	cmpl   $0x40a,0x8(%ebp)
43eeb1:	56                   	push   %esi
43eeb2:	8b f1                	mov    %ecx,%esi
43eeb4:	75 18                	jne    0x43eece
43eeb6:	68 00 dc 49 00       	push   $0x49dc00
43eebb:	8d 4e 34             	lea    0x34(%esi),%ecx
43eebe:	e8 a0 7b fc ff       	call   0x406a63
43eec3:	6a 03                	push   $0x3
43eec5:	ff 76 54             	push   0x54(%esi)
43eec8:	ff 15 f8 d5 48 00    	call   *0x48d5f8
43eece:	5e                   	pop    %esi
43eecf:	5d                   	pop    %ebp
43eed0:	c2 04 00             	ret    $0x4
43eed3:	55                   	push   %ebp
43eed4:	8b ec                	mov    %esp,%ebp
43eed6:	83 3d fc 32 4c 00 00 	cmpl   $0x0,0x4c32fc
43eedd:	75 06                	jne    0x43eee5
43eedf:	33 c0                	xor    %eax,%eax
43eee1:	5d                   	pop    %ebp
43eee2:	c2 10 00             	ret    $0x10
43eee5:	5d                   	pop    %ebp
43eee6:	e9 00 00 00 00       	jmp    0x43eeeb
43eeeb:	55                   	push   %ebp
43eeec:	8b ec                	mov    %esp,%ebp
43eeee:	51                   	push   %ecx
43eeef:	8b 45 0c             	mov    0xc(%ebp),%eax
43eef2:	8b 15 fc 32 4c 00    	mov    0x4c32fc,%edx
43eef8:	83 e8 05             	sub    $0x5,%eax
43eefb:	74 67                	je     0x43ef64
43eefd:	83 e8 1f             	sub    $0x1f,%eax
43ef00:	74 4f                	je     0x43ef51
43ef02:	2d ec 00 00 00       	sub    $0xec,%eax
43ef07:	74 33                	je     0x43ef3c
43ef09:	48                   	dec    %eax
43ef0a:	74 10                	je     0x43ef1c
43ef0c:	48                   	dec    %eax
43ef0d:	48                   	dec    %eax
43ef0e:	75 16                	jne    0x43ef26
43ef10:	ff 75 10             	push   0x10(%ebp)
43ef13:	8b ca                	mov    %edx,%ecx
43ef15:	e8 8d ff ff ff       	call   0x43eea7
43ef1a:	eb 5f                	jmp    0x43ef7b
43ef1c:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
43ef20:	48                   	dec    %eax
43ef21:	74 10                	je     0x43ef33
43ef23:	48                   	dec    %eax
43ef24:	74 04                	je     0x43ef2a
43ef26:	33 c0                	xor    %eax,%eax
43ef28:	eb 54                	jmp    0x43ef7e
43ef2a:	8b ca                	mov    %edx,%ecx
43ef2c:	e8 4f fb ff ff       	call   0x43ea80
43ef31:	eb 48                	jmp    0x43ef7b
43ef33:	8b ca                	mov    %edx,%ecx
43ef35:	e8 46 fd ff ff       	call   0x43ec80
43ef3a:	eb 3f                	jmp    0x43ef7b
43ef3c:	83 7a 54 00          	cmpl   $0x0,0x54(%edx)
43ef40:	75 06                	jne    0x43ef48
43ef42:	8b 45 08             	mov    0x8(%ebp),%eax
43ef45:	89 42 54             	mov    %eax,0x54(%edx)
43ef48:	8b ca                	mov    %edx,%ecx
43ef4a:	e8 4e fb ff ff       	call   0x43ea9d
43ef4f:	eb 2d                	jmp    0x43ef7e
43ef51:	8b 45 14             	mov    0x14(%ebp),%eax
43ef54:	c7 40 18 be 00 00 00 	movl   $0xbe,0x18(%eax)
43ef5b:	c7 40 1c 72 00 00 00 	movl   $0x72,0x1c(%eax)
43ef62:	eb 17                	jmp    0x43ef7b
43ef64:	8b 4d 14             	mov    0x14(%ebp),%ecx
43ef67:	8b c1                	mov    %ecx,%eax
43ef69:	c1 e8 10             	shr    $0x10,%eax
43ef6c:	50                   	push   %eax
43ef6d:	0f b7 c1             	movzwl %cx,%eax
43ef70:	50                   	push   %eax
43ef71:	ff 75 10             	push   0x10(%ebp)
43ef74:	8b ca                	mov    %edx,%ecx
43ef76:	e8 87 fd ff ff       	call   0x43ed02
43ef7b:	33 c0                	xor    %eax,%eax
43ef7d:	40                   	inc    %eax
43ef7e:	c9                   	leave
43ef7f:	c2 10 00             	ret    $0x10
43ef82:	55                   	push   %ebp
43ef83:	8b ec                	mov    %esp,%ebp
43ef85:	56                   	push   %esi
43ef86:	8b 75 08             	mov    0x8(%ebp),%esi
43ef89:	57                   	push   %edi
43ef8a:	8b f9                	mov    %ecx,%edi
43ef8c:	85 f6                	test   %esi,%esi
43ef8e:	74 26                	je     0x43efb6
43ef90:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
43ef94:	74 08                	je     0x43ef9e
43ef96:	ff 76 14             	push   0x14(%esi)
43ef99:	e8 e4 ff ff ff       	call   0x43ef82
43ef9e:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
43efa2:	74 0a                	je     0x43efae
43efa4:	ff 76 18             	push   0x18(%esi)
43efa7:	8b cf                	mov    %edi,%ecx
43efa9:	e8 d4 ff ff ff       	call   0x43ef82
43efae:	51                   	push   %ecx
43efaf:	8b ce                	mov    %esi,%ecx
43efb1:	e8 e3 3a fc ff       	call   0x402a99
43efb6:	5f                   	pop    %edi
43efb7:	5e                   	pop    %esi
43efb8:	5d                   	pop    %ebp
43efb9:	c2 04 00             	ret    $0x4
43efbc:	55                   	push   %ebp
43efbd:	8b ec                	mov    %esp,%ebp
43efbf:	56                   	push   %esi
43efc0:	8b f1                	mov    %ecx,%esi
43efc2:	56                   	push   %esi
43efc3:	ff 75 08             	push   0x8(%ebp)
43efc6:	e8 88 00 00 00       	call   0x43f053
43efcb:	84 c0                	test   %al,%al
43efcd:	74 04                	je     0x43efd3
43efcf:	8b 06                	mov    (%esi),%eax
43efd1:	eb 02                	jmp    0x43efd5
43efd3:	33 c0                	xor    %eax,%eax
43efd5:	5e                   	pop    %esi
43efd6:	5d                   	pop    %ebp
43efd7:	c2 04 00             	ret    $0x4
43efda:	55                   	push   %ebp
43efdb:	8b ec                	mov    %esp,%ebp
43efdd:	ff 75 08             	push   0x8(%ebp)
43efe0:	e8 d7 ff ff ff       	call   0x43efbc
43efe5:	85 c0                	test   %eax,%eax
43efe7:	74 05                	je     0x43efee
43efe9:	8b 40 10             	mov    0x10(%eax),%eax
43efec:	eb 03                	jmp    0x43eff1
43efee:	83 c8 ff             	or     $0xffffffff,%eax
43eff1:	5d                   	pop    %ebp
43eff2:	c2 04 00             	ret    $0x4
43eff5:	55                   	push   %ebp
43eff6:	8b ec                	mov    %esp,%ebp
43eff8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43effc:	75 0d                	jne    0x43f00b
43effe:	8b 45 08             	mov    0x8(%ebp),%eax
43f001:	83 60 18 00          	andl   $0x0,0x18(%eax)
43f005:	83 60 14 00          	andl   $0x0,0x14(%eax)
43f009:	eb 44                	jmp    0x43f04f
43f00b:	56                   	push   %esi
43f00c:	57                   	push   %edi
43f00d:	8b 7d 08             	mov    0x8(%ebp),%edi
43f010:	8d 45 0c             	lea    0xc(%ebp),%eax
43f013:	50                   	push   %eax
43f014:	57                   	push   %edi
43f015:	e8 39 00 00 00       	call   0x43f053
43f01a:	8b 75 0c             	mov    0xc(%ebp),%esi
43f01d:	56                   	push   %esi
43f01e:	8b cf                	mov    %edi,%ecx
43f020:	e8 3f ce fc ff       	call   0x40be64
43f025:	85 c0                	test   %eax,%eax
43f027:	79 0f                	jns    0x43f038
43f029:	8b 4e 14             	mov    0x14(%esi),%ecx
43f02c:	89 4f 14             	mov    %ecx,0x14(%edi)
43f02f:	89 77 18             	mov    %esi,0x18(%edi)
43f032:	83 66 14 00          	andl   $0x0,0x14(%esi)
43f036:	eb 0f                	jmp    0x43f047
43f038:	7e 11                	jle    0x43f04b
43f03a:	8b 46 18             	mov    0x18(%esi),%eax
43f03d:	89 47 18             	mov    %eax,0x18(%edi)
43f040:	89 77 14             	mov    %esi,0x14(%edi)
43f043:	83 66 18 00          	andl   $0x0,0x18(%esi)
43f047:	8b c7                	mov    %edi,%eax
43f049:	eb 02                	jmp    0x43f04d
43f04b:	8b c6                	mov    %esi,%eax
43f04d:	5f                   	pop    %edi
43f04e:	5e                   	pop    %esi
43f04f:	5d                   	pop    %ebp
43f050:	c2 08 00             	ret    $0x8
43f053:	55                   	push   %ebp
43f054:	8b ec                	mov    %esp,%ebp
43f056:	51                   	push   %ecx
43f057:	53                   	push   %ebx
43f058:	56                   	push   %esi
43f059:	8b 75 0c             	mov    0xc(%ebp),%esi
43f05c:	33 db                	xor    %ebx,%ebx
43f05e:	39 1e                	cmp    %ebx,(%esi)
43f060:	75 07                	jne    0x43f069
43f062:	32 c0                	xor    %al,%al
43f064:	e9 fb 00 00 00       	jmp    0x43f164
43f069:	a1 e8 3c 4c 00       	mov    0x4c3ce8,%eax
43f06e:	b9 94 21 4c 00       	mov    $0x4c2194,%ecx
43f073:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43f076:	a8 01                	test   $0x1,%al
43f078:	75 1d                	jne    0x43f097
43f07a:	83 c8 01             	or     $0x1,%eax
43f07d:	a3 e8 3c 4c 00       	mov    %eax,0x4c3ce8
43f082:	e8 70 e7 fc ff       	call   0x40d7f7
43f087:	68 73 1a 47 00       	push   $0x471a73
43f08c:	e8 79 1e fe ff       	call   0x420f0a
43f091:	59                   	pop    %ecx
43f092:	b9 94 21 4c 00       	mov    $0x4c2194,%ecx
43f097:	89 1d ac 21 4c 00    	mov    %ebx,0x4c21ac
43f09d:	89 1d a8 21 4c 00    	mov    %ebx,0x4c21a8
43f0a3:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43f0a6:	57                   	push   %edi
43f0a7:	8b 3e                	mov    (%esi),%edi
43f0a9:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f0ac:	57                   	push   %edi
43f0ad:	e8 b2 cd fc ff       	call   0x40be64
43f0b2:	85 c0                	test   %eax,%eax
43f0b4:	79 3b                	jns    0x43f0f1
43f0b6:	8b 7f 14             	mov    0x14(%edi),%edi
43f0b9:	85 ff                	test   %edi,%edi
43f0bb:	74 78                	je     0x43f135
43f0bd:	8b 4d 08             	mov    0x8(%ebp),%ecx
43f0c0:	8b d7                	mov    %edi,%edx
43f0c2:	e8 e2 4a fc ff       	call   0x403ba9
43f0c7:	84 c0                	test   %al,%al
43f0c9:	74 14                	je     0x43f0df
43f0cb:	8b 0e                	mov    (%esi),%ecx
43f0cd:	8b 47 18             	mov    0x18(%edi),%eax
43f0d0:	89 41 14             	mov    %eax,0x14(%ecx)
43f0d3:	8b 06                	mov    (%esi),%eax
43f0d5:	89 47 18             	mov    %eax,0x18(%edi)
43f0d8:	89 3e                	mov    %edi,(%esi)
43f0da:	39 5f 14             	cmp    %ebx,0x14(%edi)
43f0dd:	74 56                	je     0x43f135
43f0df:	8b 55 fc             	mov    -0x4(%ebp),%edx
43f0e2:	8b 06                	mov    (%esi),%eax
43f0e4:	89 42 14             	mov    %eax,0x14(%edx)
43f0e7:	8b 06                	mov    (%esi),%eax
43f0e9:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f0ec:	8b 40 14             	mov    0x14(%eax),%eax
43f0ef:	eb 3b                	jmp    0x43f12c
43f0f1:	7e 40                	jle    0x43f133
43f0f3:	8b 7f 18             	mov    0x18(%edi),%edi
43f0f6:	85 ff                	test   %edi,%edi
43f0f8:	74 3b                	je     0x43f135
43f0fa:	8b 55 08             	mov    0x8(%ebp),%edx
43f0fd:	8b cf                	mov    %edi,%ecx
43f0ff:	e8 a5 4a fc ff       	call   0x403ba9
43f104:	84 c0                	test   %al,%al
43f106:	74 14                	je     0x43f11c
43f108:	8b 0e                	mov    (%esi),%ecx
43f10a:	8b 47 14             	mov    0x14(%edi),%eax
43f10d:	89 41 18             	mov    %eax,0x18(%ecx)
43f110:	8b 06                	mov    (%esi),%eax
43f112:	89 47 14             	mov    %eax,0x14(%edi)
43f115:	89 3e                	mov    %edi,(%esi)
43f117:	39 5f 18             	cmp    %ebx,0x18(%edi)
43f11a:	74 19                	je     0x43f135
43f11c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43f11f:	8b 06                	mov    (%esi),%eax
43f121:	89 41 18             	mov    %eax,0x18(%ecx)
43f124:	8b 06                	mov    (%esi),%eax
43f126:	89 45 0c             	mov    %eax,0xc(%ebp)
43f129:	8b 40 18             	mov    0x18(%eax),%eax
43f12c:	89 06                	mov    %eax,(%esi)