415d6c:	3d 32 04 00 00       	cmp    $0x432,%eax
415d71:	7f b0                	jg     0x415d23
415d73:	66 0f 54 05 e0 fd 41 	andpd  0x41fde0,%xmm0
415d7a:	00
415d7b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
415d7f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
415d85:	dd 44 24 04          	fldl   0x4(%esp)
415d89:	c3                   	ret
415d8a:	dd 05 20 fe 41 00    	fldl   0x41fe20
415d90:	c3                   	ret
415d91:	66 0f c2 1d 00 fe 41 	cmpnlepd 0x41fe00,%xmm3
415d98:	00 06
415d9a:	66 0f 54 1d e0 fd 41 	andpd  0x41fde0,%xmm3
415da1:	00
415da2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
415da8:	dd 44 24 04          	fldl   0x4(%esp)
415dac:	c3                   	ret
415dad:	cc                   	int3
415dae:	cc                   	int3
415daf:	cc                   	int3
415db0:	55                   	push   %ebp
415db1:	8b ec                	mov    %esp,%ebp
415db3:	57                   	push   %edi
415db4:	56                   	push   %esi
415db5:	53                   	push   %ebx
415db6:	8b 4d 10             	mov    0x10(%ebp),%ecx
415db9:	0b c9                	or     %ecx,%ecx
415dbb:	74 4d                	je     0x415e0a
415dbd:	8b 75 08             	mov    0x8(%ebp),%esi
415dc0:	8b 7d 0c             	mov    0xc(%ebp),%edi
415dc3:	b7 41                	mov    $0x41,%bh
415dc5:	b3 5a                	mov    $0x5a,%bl
415dc7:	b6 20                	mov    $0x20,%dh
415dc9:	8d 49 00             	lea    0x0(%ecx),%ecx
415dcc:	8a 26                	mov    (%esi),%ah
415dce:	0a e4                	or     %ah,%ah
415dd0:	8a 07                	mov    (%edi),%al
415dd2:	74 27                	je     0x415dfb
415dd4:	0a c0                	or     %al,%al
415dd6:	74 23                	je     0x415dfb
415dd8:	83 c6 01             	add    $0x1,%esi
415ddb:	83 c7 01             	add    $0x1,%edi
415dde:	3a e7                	cmp    %bh,%ah
415de0:	72 06                	jb     0x415de8
415de2:	3a e3                	cmp    %bl,%ah
415de4:	77 02                	ja     0x415de8
415de6:	02 e6                	add    %dh,%ah
415de8:	3a c7                	cmp    %bh,%al
415dea:	72 06                	jb     0x415df2
415dec:	3a c3                	cmp    %bl,%al
415dee:	77 02                	ja     0x415df2
415df0:	02 c6                	add    %dh,%al
415df2:	3a e0                	cmp    %al,%ah
415df4:	75 0b                	jne    0x415e01
415df6:	83 e9 01             	sub    $0x1,%ecx
415df9:	75 d1                	jne    0x415dcc
415dfb:	33 c9                	xor    %ecx,%ecx
415dfd:	3a e0                	cmp    %al,%ah
415dff:	74 09                	je     0x415e0a
415e01:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
415e06:	72 02                	jb     0x415e0a
415e08:	f7 d9                	neg    %ecx
415e0a:	8b c1                	mov    %ecx,%eax
415e0c:	5b                   	pop    %ebx
415e0d:	5e                   	pop    %esi
415e0e:	5f                   	pop    %edi
415e0f:	c9                   	leave
415e10:	c3                   	ret
415e11:	8b ff                	mov    %edi,%edi
415e13:	55                   	push   %ebp
415e14:	8b ec                	mov    %esp,%ebp
415e16:	83 ec 10             	sub    $0x10,%esp
415e19:	56                   	push   %esi
415e1a:	57                   	push   %edi
415e1b:	8b 7d 08             	mov    0x8(%ebp),%edi
415e1e:	33 f6                	xor    %esi,%esi
415e20:	6a 01                	push   $0x1
415e22:	56                   	push   %esi
415e23:	56                   	push   %esi
415e24:	57                   	push   %edi
415e25:	e8 e7 84 ff ff       	call   0x40e311
415e2a:	8b c8                	mov    %eax,%ecx
415e2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
415e2f:	23 ca                	and    %edx,%ecx
415e31:	89 55 f4             	mov    %edx,-0xc(%ebp)
415e34:	83 c4 10             	add    $0x10,%esp
415e37:	83 f9 ff             	cmp    $0xffffffff,%ecx
415e3a:	75 0c                	jne    0x415e48
415e3c:	e8 c6 1e ff ff       	call   0x407d07
415e41:	8b 00                	mov    (%eax),%eax
415e43:	e9 54 01 00 00       	jmp    0x415f9c
415e48:	6a 02                	push   $0x2
415e4a:	56                   	push   %esi
415e4b:	56                   	push   %esi
415e4c:	57                   	push   %edi
415e4d:	e8 bf 84 ff ff       	call   0x40e311
415e52:	8b c8                	mov    %eax,%ecx
415e54:	83 c4 10             	add    $0x10,%esp
415e57:	23 ca                	and    %edx,%ecx
415e59:	83 f9 ff             	cmp    $0xffffffff,%ecx
415e5c:	74 de                	je     0x415e3c
415e5e:	53                   	push   %ebx
415e5f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
415e62:	2b d8                	sub    %eax,%ebx
415e64:	8b 45 10             	mov    0x10(%ebp),%eax
415e67:	1b c2                	sbb    %edx,%eax
415e69:	89 45 fc             	mov    %eax,-0x4(%ebp)
415e6c:	0f 88 d8 00 00 00    	js     0x415f4a
415e72:	7f 08                	jg     0x415e7c
415e74:	3b de                	cmp    %esi,%ebx
415e76:	0f 86 ce 00 00 00    	jbe    0x415f4a
415e7c:	6a 01                	push   $0x1
415e7e:	68 00 10 00 00       	push   $0x1000
415e83:	e8 24 3a ff ff       	call   0x4098ac
415e88:	8b f0                	mov    %eax,%esi
415e8a:	59                   	pop    %ecx
415e8b:	59                   	pop    %ecx
415e8c:	85 f6                	test   %esi,%esi
415e8e:	75 10                	jne    0x415ea0
415e90:	e8 72 1e ff ff       	call   0x407d07
415e95:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
415e9b:	e9 98 00 00 00       	jmp    0x415f38
415ea0:	68 00 80 00 00       	push   $0x8000
415ea5:	57                   	push   %edi
415ea6:	e8 d9 35 ff ff       	call   0x409484
415eab:	59                   	pop    %ecx
415eac:	89 45 f8             	mov    %eax,-0x8(%ebp)
415eaf:	8b 45 fc             	mov    -0x4(%ebp),%eax
415eb2:	59                   	pop    %ecx
415eb3:	85 c0                	test   %eax,%eax
415eb5:	7c 11                	jl     0x415ec8
415eb7:	7f 08                	jg     0x415ec1
415eb9:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
415ebf:	72 07                	jb     0x415ec8
415ec1:	b8 00 10 00 00       	mov    $0x1000,%eax
415ec6:	eb 02                	jmp    0x415eca
415ec8:	8b c3                	mov    %ebx,%eax
415eca:	50                   	push   %eax
415ecb:	56                   	push   %esi
415ecc:	57                   	push   %edi
415ecd:	e8 d5 8a ff ff       	call   0x40e9a7
415ed2:	83 c4 0c             	add    $0xc,%esp
415ed5:	83 f8 ff             	cmp    $0xffffffff,%eax
415ed8:	74 49                	je     0x415f23
415eda:	99                   	cltd
415edb:	2b d8                	sub    %eax,%ebx
415edd:	8b 45 fc             	mov    -0x4(%ebp),%eax
415ee0:	1b c2                	sbb    %edx,%eax
415ee2:	89 45 fc             	mov    %eax,-0x4(%ebp)
415ee5:	85 c0                	test   %eax,%eax
415ee7:	7f d8                	jg     0x415ec1
415ee9:	7c 04                	jl     0x415eef
415eeb:	85 db                	test   %ebx,%ebx
415eed:	75 c4                	jne    0x415eb3
415eef:	ff 75 f8             	push   -0x8(%ebp)
415ef2:	57                   	push   %edi
415ef3:	e8 8c 35 ff ff       	call   0x409484
415ef8:	56                   	push   %esi
415ef9:	e8 26 39 ff ff       	call   0x409824
415efe:	83 c4 0c             	add    $0xc,%esp
415f01:	33 f6                	xor    %esi,%esi
415f03:	56                   	push   %esi
415f04:	ff 75 f4             	push   -0xc(%ebp)
415f07:	ff 75 f0             	push   -0x10(%ebp)
415f0a:	57                   	push   %edi
415f0b:	e8 01 84 ff ff       	call   0x40e311
415f10:	23 c2                	and    %edx,%eax
415f12:	83 c4 10             	add    $0x10,%esp
415f15:	83 f8 ff             	cmp    $0xffffffff,%eax
415f18:	75 7f                	jne    0x415f99
415f1a:	e8 e8 1d ff ff       	call   0x407d07
415f1f:	8b 00                	mov    (%eax),%eax
415f21:	eb 78                	jmp    0x415f9b
415f23:	e8 cc 1d ff ff       	call   0x407cf4
415f28:	83 38 05             	cmpl   $0x5,(%eax)
415f2b:	75 0b                	jne    0x415f38
415f2d:	e8 d5 1d ff ff       	call   0x407d07
415f32:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415f38:	e8 ca 1d ff ff       	call   0x407d07
415f3d:	56                   	push   %esi
415f3e:	8b 38                	mov    (%eax),%edi
415f40:	e8 df 38 ff ff       	call   0x409824
415f45:	59                   	pop    %ecx
415f46:	8b c7                	mov    %edi,%eax
415f48:	eb 51                	jmp    0x415f9b
415f4a:	3b c6                	cmp    %esi,%eax
415f4c:	7f b5                	jg     0x415f03
415f4e:	7c 04                	jl     0x415f54
415f50:	3b de                	cmp    %esi,%ebx
415f52:	73 af                	jae    0x415f03
415f54:	56                   	push   %esi
415f55:	ff 75 10             	push   0x10(%ebp)
415f58:	ff 75 0c             	push   0xc(%ebp)
415f5b:	57                   	push   %edi
415f5c:	e8 b0 83 ff ff       	call   0x40e311
415f61:	23 c2                	and    %edx,%eax
415f63:	83 c4 10             	add    $0x10,%esp
415f66:	83 f8 ff             	cmp    $0xffffffff,%eax
415f69:	74 af                	je     0x415f1a
415f6b:	57                   	push   %edi
415f6c:	e8 c4 66 ff ff       	call   0x40c635
415f71:	59                   	pop    %ecx
415f72:	50                   	push   %eax
415f73:	ff 15 dc b0 41 00    	call   *0x41b0dc
415f79:	85 c0                	test   %eax,%eax
415f7b:	75 86                	jne    0x415f03
415f7d:	e8 85 1d ff ff       	call   0x407d07
415f82:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
415f88:	e8 67 1d ff ff       	call   0x407cf4
415f8d:	8b f0                	mov    %eax,%esi
415f8f:	ff 15 48 b0 41 00    	call   *0x41b048
415f95:	89 06                	mov    %eax,(%esi)
415f97:	eb 81                	jmp    0x415f1a
415f99:	33 c0                	xor    %eax,%eax
415f9b:	5b                   	pop    %ebx
415f9c:	5f                   	pop    %edi
415f9d:	5e                   	pop    %esi
415f9e:	8b e5                	mov    %ebp,%esp
415fa0:	5d                   	pop    %ebp
415fa1:	c3                   	ret
415fa2:	33 c0                	xor    %eax,%eax
415fa4:	50                   	push   %eax
415fa5:	50                   	push   %eax
415fa6:	6a 03                	push   $0x3
415fa8:	50                   	push   %eax
415fa9:	6a 03                	push   $0x3
415fab:	68 00 00 00 40       	push   $0x40000000
415fb0:	68 28 fe 41 00       	push   $0x41fe28
415fb5:	ff 15 0c b1 41 00    	call   *0x41b10c
415fbb:	a3 40 39 42 00       	mov    %eax,0x423940
415fc0:	c3                   	ret
415fc1:	a1 40 39 42 00       	mov    0x423940,%eax
415fc6:	83 f8 ff             	cmp    $0xffffffff,%eax
415fc9:	74 0c                	je     0x415fd7
415fcb:	83 f8 fe             	cmp    $0xfffffffe,%eax
415fce:	74 07                	je     0x415fd7
415fd0:	50                   	push   %eax
415fd1:	ff 15 8c b0 41 00    	call   *0x41b08c
415fd7:	c3                   	ret
415fd8:	8b ff                	mov    %edi,%edi
415fda:	55                   	push   %ebp
415fdb:	8b ec                	mov    %esp,%ebp
415fdd:	56                   	push   %esi
415fde:	8b 75 14             	mov    0x14(%ebp),%esi
415fe1:	85 f6                	test   %esi,%esi
415fe3:	7e 0d                	jle    0x415ff2
415fe5:	56                   	push   %esi
415fe6:	ff 75 10             	push   0x10(%ebp)
415fe9:	e8 dc 1d ff ff       	call   0x407dca
415fee:	59                   	pop    %ecx
415fef:	59                   	pop    %ecx
415ff0:	8b f0                	mov    %eax,%esi
415ff2:	8b 45 1c             	mov    0x1c(%ebp),%eax
415ff5:	85 c0                	test   %eax,%eax
415ff7:	7e 0b                	jle    0x416004
415ff9:	50                   	push   %eax
415ffa:	ff 75 18             	push   0x18(%ebp)
415ffd:	e8 c8 1d ff ff       	call   0x407dca
416002:	59                   	pop    %ecx
416003:	59                   	pop    %ecx
416004:	85 f6                	test   %esi,%esi
416006:	74 1e                	je     0x416026
416008:	85 c0                	test   %eax,%eax
41600a:	74 1a                	je     0x416026
41600c:	33 c9                	xor    %ecx,%ecx
41600e:	51                   	push   %ecx
41600f:	51                   	push   %ecx
416010:	51                   	push   %ecx
416011:	50                   	push   %eax
416012:	ff 75 18             	push   0x18(%ebp)
416015:	56                   	push   %esi
416016:	ff 75 10             	push   0x10(%ebp)
416019:	ff 75 0c             	push   0xc(%ebp)
41601c:	ff 75 08             	push   0x8(%ebp)
41601f:	e8 9c 5d ff ff       	call   0x40bdc0
416024:	eb 17                	jmp    0x41603d
416026:	2b f0                	sub    %eax,%esi
416028:	75 05                	jne    0x41602f
41602a:	6a 02                	push   $0x2
41602c:	58                   	pop    %eax
41602d:	eb 0e                	jmp    0x41603d
41602f:	33 c0                	xor    %eax,%eax
416031:	85 f6                	test   %esi,%esi
416033:	0f 99 c0             	setns  %al
416036:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
41603d:	5e                   	pop    %esi
41603e:	5d                   	pop    %ebp
41603f:	c3                   	ret
416040:	8b ff                	mov    %edi,%edi
416042:	55                   	push   %ebp
416043:	8b ec                	mov    %esp,%ebp
416045:	83 ec 2c             	sub    $0x2c,%esp
416048:	a1 0c 30 42 00       	mov    0x42300c,%eax
41604d:	33 c5                	xor    %ebp,%eax
41604f:	89 45 fc             	mov    %eax,-0x4(%ebp)
416052:	8b 45 08             	mov    0x8(%ebp),%eax
416055:	53                   	push   %ebx
416056:	56                   	push   %esi
416057:	8b 75 18             	mov    0x18(%ebp),%esi
41605a:	89 45 d8             	mov    %eax,-0x28(%ebp)
41605d:	8b 45 0c             	mov    0xc(%ebp),%eax
416060:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416063:	8b 45 1c             	mov    0x1c(%ebp),%eax
416066:	89 45 dc             	mov    %eax,-0x24(%ebp)
416069:	57                   	push   %edi
41606a:	8b 7d 14             	mov    0x14(%ebp),%edi
41606d:	89 7d e0             	mov    %edi,-0x20(%ebp)
416070:	85 f6                	test   %esi,%esi
416072:	7e 22                	jle    0x416096
416074:	56                   	push   %esi
416075:	57                   	push   %edi
416076:	e8 e6 f9 ff ff       	call   0x415a61
41607b:	59                   	pop    %ecx
41607c:	8b f0                	mov    %eax,%esi
41607e:	8b 45 dc             	mov    -0x24(%ebp),%eax
416081:	59                   	pop    %ecx
416082:	8b 5d 20             	mov    0x20(%ebp),%ebx
416085:	85 db                	test   %ebx,%ebx
416087:	7e 19                	jle    0x4160a2
416089:	53                   	push   %ebx
41608a:	50                   	push   %eax
41608b:	e8 d1 f9 ff ff       	call   0x415a61
416090:	59                   	pop    %ecx
416091:	59                   	pop    %ecx
416092:	8b d8                	mov    %eax,%ebx
416094:	eb 11                	jmp    0x4160a7
416096:	83 fe ff             	cmp    $0xffffffff,%esi
416099:	7d e7                	jge    0x416082
41609b:	33 c0                	xor    %eax,%eax
41609d:	e9 32 02 00 00       	jmp    0x4162d4
4160a2:	83 fb ff             	cmp    $0xffffffff,%ebx
4160a5:	7c f4                	jl     0x41609b
4160a7:	8b 45 24             	mov    0x24(%ebp),%eax
4160aa:	85 c0                	test   %eax,%eax
4160ac:	75 0b                	jne    0x4160b9
4160ae:	8b 45 d8             	mov    -0x28(%ebp),%eax
4160b1:	8b 00                	mov    (%eax),%eax
4160b3:	8b 40 08             	mov    0x8(%eax),%eax
4160b6:	89 45 24             	mov    %eax,0x24(%ebp)
4160b9:	85 f6                	test   %esi,%esi
4160bb:	74 08                	je     0x4160c5
4160bd:	85 db                	test   %ebx,%ebx
4160bf:	0f 85 9d 00 00 00    	jne    0x416162
4160c5:	3b f3                	cmp    %ebx,%esi
4160c7:	75 08                	jne    0x4160d1
4160c9:	6a 02                	push   $0x2
4160cb:	58                   	pop    %eax
4160cc:	e9 03 02 00 00       	jmp    0x4162d4
4160d1:	83 fb 01             	cmp    $0x1,%ebx
4160d4:	7e 08                	jle    0x4160de