402edc:	83 f9 10             	cmp    $0x10,%ecx
402edf:	8d 75 d0             	lea    -0x30(%ebp),%esi
402ee2:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
402ee6:	57                   	push   %edi
402ee7:	03 f2                	add    %edx,%esi
402ee9:	6a 00                	push   $0x0
402eeb:	56                   	push   %esi
402eec:	e8 ff 5f 00 00       	call   0x408ef0
402ef1:	83 c4 0c             	add    $0xc,%esp
402ef4:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
402ef8:	eb 13                	jmp    0x402f0d
402efa:	6a 00                	push   $0x0
402efc:	57                   	push   %edi
402efd:	c6 45 c4 00          	movb   $0x0,-0x3c(%ebp)
402f01:	8d 4d d0             	lea    -0x30(%ebp),%ecx
402f04:	ff 75 c4             	push   -0x3c(%ebp)
402f07:	57                   	push   %edi
402f08:	e8 33 23 00 00       	call   0x405240
402f0d:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
402f11:	8d 75 d0             	lea    -0x30(%ebp),%esi
402f14:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
402f19:	8d 45 e8             	lea    -0x18(%ebp),%eax
402f1c:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
402f20:	83 ec 08             	sub    $0x8,%esp
402f23:	8b 7d bc             	mov    -0x44(%ebp),%edi
402f26:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
402f2b:	ff 75 cc             	push   -0x34(%ebp)
402f2e:	ff 77 14             	push   0x14(%edi)
402f31:	6a 4c                	push   $0x4c
402f33:	50                   	push   %eax
402f34:	ff 75 c8             	push   -0x38(%ebp)
402f37:	e8 c4 14 00 00       	call   0x404400
402f3c:	83 c4 10             	add    $0x10,%esp
402f3f:	50                   	push   %eax
402f40:	ff 75 e0             	push   -0x20(%ebp)
402f43:	56                   	push   %esi
402f44:	e8 87 e2 ff ff       	call   0x4011d0
402f49:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
402f4d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
402f50:	8b 75 b8             	mov    -0x48(%ebp),%esi
402f53:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
402f57:	50                   	push   %eax
402f58:	51                   	push   %ecx
402f59:	ff 75 18             	push   0x18(%ebp)
402f5c:	57                   	push   %edi
402f5d:	ff 75 10             	push   0x10(%ebp)
402f60:	ff 75 0c             	push   0xc(%ebp)
402f63:	56                   	push   %esi
402f64:	ff 75 c8             	push   -0x38(%ebp)
402f67:	e8 44 10 00 00       	call   0x403fb0
402f6c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
402f6f:	83 c4 38             	add    $0x38,%esp
402f72:	83 fa 10             	cmp    $0x10,%edx
402f75:	72 28                	jb     0x402f9f
402f77:	8b 4d d0             	mov    -0x30(%ebp),%ecx
402f7a:	42                   	inc    %edx
402f7b:	8b c1                	mov    %ecx,%eax
402f7d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
402f83:	72 10                	jb     0x402f95
402f85:	8b 49 fc             	mov    -0x4(%ecx),%ecx
402f88:	83 c2 23             	add    $0x23,%edx
402f8b:	2b c1                	sub    %ecx,%eax
402f8d:	83 c0 fc             	add    $0xfffffffc,%eax
402f90:	83 f8 1f             	cmp    $0x1f,%eax
402f93:	77 29                	ja     0x402fbe
402f95:	52                   	push   %edx
402f96:	51                   	push   %ecx
402f97:	e8 b0 46 00 00       	call   0x40764c
402f9c:	83 c4 08             	add    $0x8,%esp
402f9f:	8b c6                	mov    %esi,%eax
402fa1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402fa4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402fab:	59                   	pop    %ecx
402fac:	5f                   	pop    %edi
402fad:	5e                   	pop    %esi
402fae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402fb1:	33 cd                	xor    %ebp,%ecx
402fb3:	e8 54 44 00 00       	call   0x40740c
402fb8:	8b e5                	mov    %ebp,%esp
402fba:	5d                   	pop    %ebp
402fbb:	c2 1c 00             	ret    $0x1c
402fbe:	e8 ce a0 00 00       	call   0x40d091
402fc3:	cc                   	int3
402fc4:	cc                   	int3
402fc5:	cc                   	int3
402fc6:	cc                   	int3
402fc7:	cc                   	int3
402fc8:	cc                   	int3
402fc9:	cc                   	int3
402fca:	cc                   	int3
402fcb:	cc                   	int3
402fcc:	cc                   	int3
402fcd:	cc                   	int3
402fce:	cc                   	int3
402fcf:	cc                   	int3
402fd0:	55                   	push   %ebp
402fd1:	8b ec                	mov    %esp,%ebp
402fd3:	6a ff                	push   $0xffffffff
402fd5:	68 0d 2b 42 00       	push   $0x422b0d
402fda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402fe0:	50                   	push   %eax
402fe1:	83 ec 3c             	sub    $0x3c,%esp
402fe4:	a1 14 30 43 00       	mov    0x433014,%eax
402fe9:	33 c5                	xor    %ebp,%eax
402feb:	89 45 f0             	mov    %eax,-0x10(%ebp)
402fee:	56                   	push   %esi
402fef:	57                   	push   %edi
402ff0:	50                   	push   %eax
402ff1:	8d 45 f4             	lea    -0xc(%ebp),%eax
402ff4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402ffa:	89 4d c8             	mov    %ecx,-0x38(%ebp)
402ffd:	8b 45 08             	mov    0x8(%ebp),%eax
403000:	33 d2                	xor    %edx,%edx
403002:	8b 75 14             	mov    0x14(%ebp),%esi
403005:	bf 0f 00 00 00       	mov    $0xf,%edi
40300a:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
403011:	89 45 b8             	mov    %eax,-0x48(%ebp)
403014:	89 75 bc             	mov    %esi,-0x44(%ebp)
403017:	89 55 e0             	mov    %edx,-0x20(%ebp)
40301a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40301d:	88 55 d0             	mov    %dl,-0x30(%ebp)
403020:	89 55 fc             	mov    %edx,-0x4(%ebp)
403023:	8b 4e 14             	mov    0x14(%esi),%ecx
403026:	81 e1 00 30 00 00    	and    $0x3000,%ecx
40302c:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
403032:	75 11                	jne    0x403045
403034:	83 c8 ff             	or     $0xffffffff,%eax
403037:	8d 72 0d             	lea    0xd(%edx),%esi
40303a:	89 45 cc             	mov    %eax,-0x34(%ebp)
40303d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403040:	e9 8b 00 00 00       	jmp    0x4030d0
403045:	8b 46 18             	mov    0x18(%esi),%eax
403048:	8b 76 1c             	mov    0x1c(%esi),%esi
40304b:	89 45 cc             	mov    %eax,-0x34(%ebp)
40304e:	85 f6                	test   %esi,%esi
403050:	7c 0a                	jl     0x40305c
403052:	7f 04                	jg     0x403058
403054:	85 c0                	test   %eax,%eax
403056:	74 04                	je     0x40305c
403058:	8b f0                	mov    %eax,%esi
40305a:	eb 16                	jmp    0x403072
40305c:	0b c6                	or     %esi,%eax
40305e:	75 0d                	jne    0x40306d
403060:	85 c9                	test   %ecx,%ecx
403062:	75 05                	jne    0x403069
403064:	8d 70 01             	lea    0x1(%eax),%esi
403067:	eb 67                	jmp    0x4030d0
403069:	33 f6                	xor    %esi,%esi
40306b:	eb 05                	jmp    0x403072
40306d:	be 06 00 00 00       	mov    $0x6,%esi
403072:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
403078:	75 56                	jne    0x4030d0
40307a:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
40307f:	0f 28 c1             	movaps %xmm1,%xmm0
403082:	0f 54 05 30 fd 42 00 	andps  0x42fd30,%xmm0
403089:	66 0f 2f 05 20 fd 42 	comisd 0x42fd20,%xmm0
403090:	00
403091:	76 3d                	jbe    0x4030d0
403093:	8d 45 c4             	lea    -0x3c(%ebp),%eax
403096:	50                   	push   %eax
403097:	83 ec 08             	sub    $0x8,%esp
40309a:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
40309f:	e8 8a 9b 00 00       	call   0x40cc2e
4030a4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4030a7:	83 c4 0c             	add    $0xc,%esp
4030aa:	99                   	cltd
4030ab:	dd d8                	fstp   %st(0)
4030ad:	33 c2                	xor    %edx,%eax
4030af:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4030b2:	2b c2                	sub    %edx,%eax
4030b4:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
4030ba:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
4030bf:	f7 e9                	imul   %ecx
4030c1:	c1 fa 0d             	sar    $0xd,%edx
4030c4:	8b c2                	mov    %edx,%eax
4030c6:	c1 e8 1f             	shr    $0x1f,%eax
4030c9:	03 c2                	add    %edx,%eax
4030cb:	8b 55 e0             	mov    -0x20(%ebp),%edx
4030ce:	03 f0                	add    %eax,%esi
4030d0:	83 c6 32             	add    $0x32,%esi
4030d3:	3b f2                	cmp    %edx,%esi
4030d5:	77 13                	ja     0x4030ea
4030d7:	83 ff 10             	cmp    $0x10,%edi
4030da:	89 75 e0             	mov    %esi,-0x20(%ebp)
4030dd:	8d 45 d0             	lea    -0x30(%ebp),%eax
4030e0:	0f 43 45 d0          	cmovae -0x30(%ebp),%eax
4030e4:	c6 04 30 00          	movb   $0x0,(%eax,%esi,1)
4030e8:	eb 43                	jmp    0x40312d
4030ea:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4030ed:	8b fe                	mov    %esi,%edi
4030ef:	8b c1                	mov    %ecx,%eax
4030f1:	2b fa                	sub    %edx,%edi
4030f3:	2b c2                	sub    %edx,%eax
4030f5:	3b f8                	cmp    %eax,%edi
4030f7:	77 21                	ja     0x40311a
4030f9:	89 75 e0             	mov    %esi,-0x20(%ebp)
4030fc:	83 f9 10             	cmp    $0x10,%ecx
4030ff:	8d 75 d0             	lea    -0x30(%ebp),%esi
403102:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
403106:	57                   	push   %edi
403107:	03 f2                	add    %edx,%esi
403109:	6a 00                	push   $0x0
40310b:	56                   	push   %esi
40310c:	e8 df 5d 00 00       	call   0x408ef0
403111:	83 c4 0c             	add    $0xc,%esp
403114:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
403118:	eb 13                	jmp    0x40312d
40311a:	6a 00                	push   $0x0
40311c:	57                   	push   %edi
40311d:	c6 45 c4 00          	movb   $0x0,-0x3c(%ebp)
403121:	8d 4d d0             	lea    -0x30(%ebp),%ecx
403124:	ff 75 c4             	push   -0x3c(%ebp)
403127:	57                   	push   %edi
403128:	e8 13 21 00 00       	call   0x405240
40312d:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
403131:	8d 75 d0             	lea    -0x30(%ebp),%esi
403134:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
403139:	8d 45 e8             	lea    -0x18(%ebp),%eax
40313c:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
403140:	83 ec 08             	sub    $0x8,%esp
403143:	8b 7d bc             	mov    -0x44(%ebp),%edi
403146:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
40314b:	ff 75 cc             	push   -0x34(%ebp)
40314e:	ff 77 14             	push   0x14(%edi)
403151:	6a 00                	push   $0x0
403153:	50                   	push   %eax
403154:	ff 75 c8             	push   -0x38(%ebp)
403157:	e8 a4 12 00 00       	call   0x404400
40315c:	83 c4 10             	add    $0x10,%esp
40315f:	50                   	push   %eax
403160:	ff 75 e0             	push   -0x20(%ebp)
403163:	56                   	push   %esi
403164:	e8 67 e0 ff ff       	call   0x4011d0
403169:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
40316d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
403170:	8b 75 b8             	mov    -0x48(%ebp),%esi
403173:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
403177:	50                   	push   %eax
403178:	51                   	push   %ecx
403179:	ff 75 18             	push   0x18(%ebp)
40317c:	57                   	push   %edi
40317d:	ff 75 10             	push   0x10(%ebp)
403180:	ff 75 0c             	push   0xc(%ebp)
403183:	56                   	push   %esi
403184:	ff 75 c8             	push   -0x38(%ebp)
403187:	e8 24 0e 00 00       	call   0x403fb0
40318c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40318f:	83 c4 38             	add    $0x38,%esp
403192:	83 fa 10             	cmp    $0x10,%edx
403195:	72 28                	jb     0x4031bf
403197:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40319a:	42                   	inc    %edx
40319b:	8b c1                	mov    %ecx,%eax
40319d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4031a3:	72 10                	jb     0x4031b5
4031a5:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4031a8:	83 c2 23             	add    $0x23,%edx
4031ab:	2b c1                	sub    %ecx,%eax
4031ad:	83 c0 fc             	add    $0xfffffffc,%eax
4031b0:	83 f8 1f             	cmp    $0x1f,%eax
4031b3:	77 29                	ja     0x4031de
4031b5:	52                   	push   %edx
4031b6:	51                   	push   %ecx
4031b7:	e8 90 44 00 00       	call   0x40764c
4031bc:	83 c4 08             	add    $0x8,%esp
4031bf:	8b c6                	mov    %esi,%eax
4031c1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4031c4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4031cb:	59                   	pop    %ecx
4031cc:	5f                   	pop    %edi
4031cd:	5e                   	pop    %esi
4031ce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4031d1:	33 cd                	xor    %ebp,%ecx
4031d3:	e8 34 42 00 00       	call   0x40740c
4031d8:	8b e5                	mov    %ebp,%esp
4031da:	5d                   	pop    %ebp
4031db:	c2 1c 00             	ret    $0x1c
4031de:	e8 ae 9e 00 00       	call   0x40d091
4031e3:	cc                   	int3
4031e4:	cc                   	int3
4031e5:	cc                   	int3
4031e6:	cc                   	int3
4031e7:	cc                   	int3
4031e8:	cc                   	int3
4031e9:	cc                   	int3
4031ea:	cc                   	int3
4031eb:	cc                   	int3
4031ec:	cc                   	int3
4031ed:	cc                   	int3
4031ee:	cc                   	int3
4031ef:	cc                   	int3
4031f0:	55                   	push   %ebp
4031f1:	8b ec                	mov    %esp,%ebp
4031f3:	83 e4 f8             	and    $0xfffffff8,%esp
4031f6:	83 ec 54             	sub    $0x54,%esp
4031f9:	a1 14 30 43 00       	mov    0x433014,%eax
4031fe:	33 c4                	xor    %esp,%eax
403200:	89 44 24 50          	mov    %eax,0x50(%esp)
403204:	53                   	push   %ebx
403205:	8b 5d 08             	mov    0x8(%ebp),%ebx
403208:	8d 44 24 08          	lea    0x8(%esp),%eax
40320c:	56                   	push   %esi
40320d:	8b 75 14             	mov    0x14(%ebp),%esi
403210:	57                   	push   %edi
403211:	ff 75 20             	push   0x20(%ebp)
403214:	8b f9                	mov    %ecx,%edi
403216:	ff 75 1c             	push   0x1c(%ebp)
403219:	ff 76 14             	push   0x14(%esi)
40321c:	68 10 fc 42 00       	push   $0x42fc10
403221:	50                   	push   %eax
403222:	57                   	push   %edi
403223:	e8 f8 0c 00 00       	call   0x403f20
403228:	83 c4 10             	add    $0x10,%esp
40322b:	50                   	push   %eax
40322c:	8d 44 24 24          	lea    0x24(%esp),%eax
403230:	6a 40                	push   $0x40
403232:	50                   	push   %eax
403233:	e8 98 df ff ff       	call   0x4011d0
403238:	83 c4 14             	add    $0x14,%esp
40323b:	50                   	push   %eax
40323c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
403240:	50                   	push   %eax
403241:	ff 75 18             	push   0x18(%ebp)
403244:	56                   	push   %esi
403245:	ff 75 10             	push   0x10(%ebp)
403248:	ff 75 0c             	push   0xc(%ebp)
40324b:	53                   	push   %ebx
40324c:	57                   	push   %edi
40324d:	e8 ce 08 00 00       	call   0x403b20
403252:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
403256:	83 c4 20             	add    $0x20,%esp
403259:	8b c3                	mov    %ebx,%eax
40325b:	5f                   	pop    %edi
40325c:	5e                   	pop    %esi
40325d:	5b                   	pop    %ebx
40325e:	33 cc                	xor    %esp,%ecx
403260:	e8 a7 41 00 00       	call   0x40740c
403265:	8b e5                	mov    %ebp,%esp
403267:	5d                   	pop    %ebp
403268:	c2 1c 00             	ret    $0x1c
40326b:	cc                   	int3
40326c:	cc                   	int3
40326d:	cc                   	int3
40326e:	cc                   	int3
40326f:	cc                   	int3
403270:	55                   	push   %ebp
403271:	8b ec                	mov    %esp,%ebp
403273:	83 e4 f8             	and    $0xfffffff8,%esp
403276:	83 ec 54             	sub    $0x54,%esp
403279:	a1 14 30 43 00       	mov    0x433014,%eax