412df9:	89 45 b8             	mov    %eax,-0x48(%ebp)
412dfc:	8b 41 04             	mov    0x4(%ecx),%eax
412dff:	89 45 bc             	mov    %eax,-0x44(%ebp)
412e02:	8b 41 08             	mov    0x8(%ecx),%eax
412e05:	89 45 c0             	mov    %eax,-0x40(%ebp)
412e08:	8b 41 0c             	mov    0xc(%ecx),%eax
412e0b:	89 45 f0             	mov    %eax,-0x10(%ebp)
412e0e:	ff 00                	incl   (%eax)
412e10:	89 45 c4             	mov    %eax,-0x3c(%ebp)
412e13:	33 c0                	xor    %eax,%eax
412e15:	89 45 08             	mov    %eax,0x8(%ebp)
412e18:	38 05 fc 20 4c 00    	cmp    %al,0x4c20fc
412e1e:	75 54                	jne    0x412e74
412e20:	39 05 f0 20 4c 00    	cmp    %eax,0x4c20f0
412e26:	0f 84 6f 03 00 00    	je     0x41319b
412e2c:	38 05 f9 20 4c 00    	cmp    %al,0x4c20f9
412e32:	a1 f4 20 4c 00       	mov    0x4c20f4,%eax
412e37:	0f 85 9f 03 00 00    	jne    0x4131dc
412e3d:	50                   	push   %eax
412e3e:	89 45 08             	mov    %eax,0x8(%ebp)
412e41:	8d 45 b8             	lea    -0x48(%ebp),%eax
412e44:	50                   	push   %eax
412e45:	e8 56 ab ff ff       	call   0x40d9a0
412e4a:	84 c0                	test   %al,%al
412e4c:	0f 84 27 03 00 00    	je     0x413179
412e52:	8b 45 08             	mov    0x8(%ebp),%eax
412e55:	8b 00                	mov    (%eax),%eax
412e57:	85 c0                	test   %eax,%eax
412e59:	0f 84 1a 03 00 00    	je     0x413179
412e5f:	8b 58 10             	mov    0x10(%eax),%ebx
412e62:	8b 40 14             	mov    0x14(%eax),%eax
412e65:	81 e3 00 ff 00 00    	and    $0xff00,%ebx
412e6b:	89 5d f4             	mov    %ebx,-0xc(%ebp)
412e6e:	8b 55 fc             	mov    -0x4(%ebp),%edx
412e71:	89 45 08             	mov    %eax,0x8(%ebp)
412e74:	89 45 f8             	mov    %eax,-0x8(%ebp)
412e77:	85 c0                	test   %eax,%eax
412e79:	0f 84 b5 02 00 00    	je     0x413134
412e7f:	f7 c3 00 01 00 00    	test   $0x100,%ebx
412e85:	0f 85 ca 45 06 00    	jne    0x477455
412e8b:	8b 5d 08             	mov    0x8(%ebp),%ebx
412e8e:	8b 47 04             	mov    0x4(%edi),%eax
412e91:	8b 40 08             	mov    0x8(%eax),%eax
412e94:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
412e99:	0f 84 d2 45 06 00    	je     0x477471
412e9f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412ea2:	8b 47 04             	mov    0x4(%edi),%eax
412ea5:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
412ea8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
412eab:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
412eb0:	0f 84 2a 46 06 00    	je     0x4774e0
412eb6:	6a ff                	push   $0xffffffff
412eb8:	8d 45 d8             	lea    -0x28(%ebp),%eax
412ebb:	50                   	push   %eax
412ebc:	41                   	inc    %ecx
412ebd:	8d 45 0c             	lea    0xc(%ebp),%eax
412ec0:	50                   	push   %eax
412ec1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412ec4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412ec7:	57                   	push   %edi
412ec8:	e8 63 cf ff ff       	call   0x40fe30
412ecd:	85 c0                	test   %eax,%eax
412ecf:	0f 88 2b 02 00 00    	js     0x413100
412ed5:	8d 45 d8             	lea    -0x28(%ebp),%eax
412ed8:	3b d8                	cmp    %eax,%ebx
412eda:	74 1c                	je     0x412ef8
412edc:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
412ee0:	0f 84 a6 02 00 00    	je     0x41318c
412ee6:	8b cb                	mov    %ebx,%ecx
412ee8:	e8 33 fd ff ff       	call   0x412c20
412eed:	8d 45 d8             	lea    -0x28(%ebp),%eax
412ef0:	50                   	push   %eax
412ef1:	8b cb                	mov    %ebx,%ecx
412ef3:	e8 28 e8 ff ff       	call   0x411720
412ef8:	8b 47 04             	mov    0x4(%edi),%eax
412efb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412efe:	8b 04 88             	mov    (%eax,%ecx,4),%eax
412f01:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
412f06:	0f 85 ce 49 06 00    	jne    0x4778da
412f0c:	83 38 0f             	cmpl   $0xf,(%eax)
412f0f:	0f 85 c5 49 06 00    	jne    0x4778da
412f15:	6a ff                	push   $0xffffffff
412f17:	8d 45 d8             	lea    -0x28(%ebp),%eax
412f1a:	50                   	push   %eax
412f1b:	41                   	inc    %ecx
412f1c:	8d 45 0c             	lea    0xc(%ebp),%eax
412f1f:	50                   	push   %eax
412f20:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412f23:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412f26:	57                   	push   %edi
412f27:	e8 04 cf ff ff       	call   0x40fe30
412f2c:	85 c0                	test   %eax,%eax
412f2e:	0f 88 cc 01 00 00    	js     0x413100
412f34:	8d 4d 98             	lea    -0x68(%ebp),%ecx
412f37:	e8 e4 fc ff ff       	call   0x412c20
412f3c:	8d 45 d8             	lea    -0x28(%ebp),%eax
412f3f:	50                   	push   %eax
412f40:	8d 4d 98             	lea    -0x68(%ebp),%ecx
412f43:	e8 d8 e7 ff ff       	call   0x411720
412f48:	8b 4f 04             	mov    0x4(%edi),%ecx
412f4b:	8b 45 0c             	mov    0xc(%ebp),%eax
412f4e:	8b 04 81             	mov    (%ecx,%eax,4),%eax
412f51:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
412f56:	0f 84 8c 47 06 00    	je     0x4776e8
412f5c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
412f5f:	e8 bc fc ff ff       	call   0x412c20
412f64:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
412f6b:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
412f72:	83 7b 0c 01          	cmpl   $0x1,0xc(%ebx)
412f76:	0f 85 39 02 00 00    	jne    0x4131b5
412f7c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
412f7f:	83 f8 01             	cmp    $0x1,%eax
412f82:	74 22                	je     0x412fa6
412f84:	83 f8 03             	cmp    $0x3,%eax
412f87:	74 1d                	je     0x412fa6
412f89:	83 f8 02             	cmp    $0x2,%eax
412f8c:	74 18                	je     0x412fa6
412f8e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
412f91:	e8 8e 97 00 00       	call   0x41c724
412f96:	8d 4d 98             	lea    -0x68(%ebp),%ecx
412f99:	84 c0                	test   %al,%al
412f9b:	0f 85 43 02 00 00    	jne    0x4131e4
412fa1:	e8 79 9f ff ff       	call   0x40cf1f
412fa6:	83 7d b4 01          	cmpl   $0x1,-0x4c(%ebp)
412faa:	0f 85 91 47 06 00    	jne    0x477741
412fb0:	8b 4f 04             	mov    0x4(%edi),%ecx
412fb3:	8b 45 0c             	mov    0xc(%ebp),%eax
412fb6:	8b 04 81             	mov    (%ecx,%eax,4),%eax
412fb9:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
412fbe:	0f 85 c4 47 06 00    	jne    0x477788
412fc4:	33 ff                	xor    %edi,%edi
412fc6:	32 d2                	xor    %dl,%dl
412fc8:	8b 06                	mov    (%esi),%eax
412fca:	8d 48 01             	lea    0x1(%eax),%ecx
412fcd:	89 0e                	mov    %ecx,(%esi)
412fcf:	3b 05 10 21 4c 00    	cmp    0x4c2110,%eax
412fd5:	7f 3f                	jg     0x413016
412fd7:	85 c0                	test   %eax,%eax
412fd9:	7e 3b                	jle    0x413016
412fdb:	c1 e0 04             	shl    $0x4,%eax
412fde:	03 05 4c 21 4c 00    	add    0x4c214c,%eax
412fe4:	74 30                	je     0x413016
412fe6:	84 d2                	test   %dl,%dl
412fe8:	75 2c                	jne    0x413016
412fea:	8b 40 04             	mov    0x4(%eax),%eax
412fed:	8b 00                	mov    (%eax),%eax
412fef:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
412ff4:	75 d2                	jne    0x412fc8
412ff6:	8b 00                	mov    (%eax),%eax
412ff8:	83 e8 0d             	sub    $0xd,%eax
412ffb:	0f 84 85 01 00 00    	je     0x413186
413001:	48                   	dec    %eax
413002:	75 c4                	jne    0x412fc8
413004:	85 ff                	test   %edi,%edi
413006:	0f 85 74 01 00 00    	jne    0x413180
41300c:	8d 59 ff             	lea    -0x1(%ecx),%ebx
41300f:	b2 01                	mov    $0x1,%dl
413011:	89 5d 90             	mov    %ebx,-0x70(%ebp)
413014:	eb b2                	jmp    0x412fc8
413016:	8d 4d c8             	lea    -0x38(%ebp),%ecx
413019:	e8 68 a2 ff ff       	call   0x40d286
41301e:	8b 5d 08             	mov    0x8(%ebp),%ebx
413021:	83 f8 01             	cmp    $0x1,%eax
413024:	0f 84 72 47 06 00    	je     0x47779c
41302a:	83 7b 0c 08          	cmpl   $0x8,0xc(%ebx)
41302e:	0f 84 73 47 06 00    	je     0x4777a7
413034:	8b 45 a4             	mov    -0x5c(%ebp),%eax
413037:	83 f8 05             	cmp    $0x5,%eax
41303a:	0f 84 69 48 06 00    	je     0x4778a9
413040:	83 f8 0f             	cmp    $0xf,%eax
413043:	0f 84 60 48 06 00    	je     0x4778a9
413049:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41304c:	e8 cf fb ff ff       	call   0x412c20
413051:	d9 ee                	fldz
413053:	8d 55 d8             	lea    -0x28(%ebp),%edx
413056:	dd 5d d8             	fstpl  -0x28(%ebp)
413059:	8d 4d a8             	lea    -0x58(%ebp),%ecx
41305c:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
413063:	e8 54 14 00 00       	call   0x4144bc
413068:	84 c0                	test   %al,%al
41306a:	0f 85 25 48 06 00    	jne    0x477895
413070:	8b d3                	mov    %ebx,%edx
413072:	8d 4d 98             	lea    -0x68(%ebp),%ecx
413075:	e8 42 14 00 00       	call   0x4144bc
41307a:	84 c0                	test   %al,%al
41307c:	0f 85 1a 47 06 00    	jne    0x47779c
413082:	8b 45 fc             	mov    -0x4(%ebp),%eax
413085:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
413088:	80 b8 69 01 00 00 00 	cmpb   $0x0,0x169(%eax)
41308f:	0f 85 e2 47 06 00    	jne    0x477877
413095:	6a 38                	push   $0x38
413097:	e8 4e c4 00 00       	call   0x41f4ea
41309c:	8b f8                	mov    %eax,%edi
41309e:	83 c4 04             	add    $0x4,%esp
4130a1:	85 ff                	test   %edi,%edi
4130a3:	0f 84 45 01 00 00    	je     0x4131ee
4130a9:	8b 4d 88             	mov    -0x78(%ebp),%ecx
4130ac:	89 0f                	mov    %ecx,(%edi)
4130ae:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4130b1:	89 4f 08             	mov    %ecx,0x8(%edi)
4130b4:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4130b7:	89 4f 0c             	mov    %ecx,0xc(%edi)
4130ba:	8d 4f 10             	lea    0x10(%edi),%ecx
4130bd:	8d 45 98             	lea    -0x68(%ebp),%eax
4130c0:	89 5f 04             	mov    %ebx,0x4(%edi)
4130c3:	50                   	push   %eax
4130c4:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
4130cb:	e8 50 e6 ff ff       	call   0x411720
4130d0:	8d 4f 20             	lea    0x20(%edi),%ecx
4130d3:	8d 45 a8             	lea    -0x58(%ebp),%eax
4130d6:	50                   	push   %eax
4130d7:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
4130de:	e8 3d e6 ff ff       	call   0x411720
4130e3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4130e6:	8b 81 64 01 00 00    	mov    0x164(%ecx),%eax
4130ec:	89 47 30             	mov    %eax,0x30(%edi)
4130ef:	89 b9 64 01 00 00    	mov    %edi,0x164(%ecx)
4130f5:	ff 81 60 01 00 00    	incl   0x160(%ecx)
4130fb:	8d 43 01             	lea    0x1(%ebx),%eax
4130fe:	89 06                	mov    %eax,(%esi)
413100:	8b 75 f0             	mov    -0x10(%ebp),%esi
413103:	ff 0e                	decl   (%esi)
413105:	0f 84 e6 47 06 00    	je     0x4778f1
41310b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41310e:	e8 0d fb ff ff       	call   0x412c20
413113:	8d 4d d8             	lea    -0x28(%ebp),%ecx
413116:	e8 05 fb ff ff       	call   0x412c20
41311b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
41311e:	e8 fd fa ff ff       	call   0x412c20
413123:	8d 4d 98             	lea    -0x68(%ebp),%ecx
413126:	e8 f5 fa ff ff       	call   0x412c20
41312b:	5f                   	pop    %edi
41312c:	5e                   	pop    %esi
41312d:	5b                   	pop    %ebx
41312e:	8b e5                	mov    %ebp,%esp
413130:	5d                   	pop    %ebp
413131:	c2 08 00             	ret    $0x8
413134:	8d 4d d8             	lea    -0x28(%ebp),%ecx
413137:	e8 e4 fa ff ff       	call   0x412c20
41313c:	6a 01                	push   $0x1
41313e:	6a 00                	push   $0x0
413140:	8d 45 d8             	lea    -0x28(%ebp),%eax
413143:	50                   	push   %eax
413144:	8d 45 b8             	lea    -0x48(%ebp),%eax
413147:	50                   	push   %eax
413148:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
41314f:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
413156:	e8 8e a5 ff ff       	call   0x40d6e9
41315b:	6a 01                	push   $0x1
41315d:	8d 45 f4             	lea    -0xc(%ebp),%eax
413160:	50                   	push   %eax
413161:	8d 45 f8             	lea    -0x8(%ebp),%eax
413164:	50                   	push   %eax
413165:	8d 45 b8             	lea    -0x48(%ebp),%eax
413168:	50                   	push   %eax
413169:	e8 d7 a4 ff ff       	call   0x40d645
41316e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
413171:	89 5d 08             	mov    %ebx,0x8(%ebp)
413174:	e9 15 fd ff ff       	jmp    0x412e8e
413179:	33 c0                	xor    %eax,%eax
41317b:	e9 ee fc ff ff       	jmp    0x412e6e
413180:	4f                   	dec    %edi
413181:	e9 42 fe ff ff       	jmp    0x412fc8
413186:	47                   	inc    %edi
413187:	e9 3c fe ff ff       	jmp    0x412fc8
41318c:	83 7d e4 04          	cmpl   $0x4,-0x1c(%ebp)
413190:	0f 85 50 fd ff ff    	jne    0x412ee6
413196:	e9 3d 45 06 00       	jmp    0x4776d8
41319b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41319e:	50                   	push   %eax
41319f:	8d 45 b8             	lea    -0x48(%ebp),%eax
4131a2:	50                   	push   %eax
4131a3:	b9 e0 20 4c 00       	mov    $0x4c20e0,%ecx
4131a8:	e8 33 ab 00 00       	call   0x41dce0
4131ad:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4131b0:	e9 b9 fc ff ff       	jmp    0x412e6e
4131b5:	6a 02                	push   $0x2
4131b7:	8b cb                	mov    %ebx,%ecx
4131b9:	e8 26 a4 ff ff       	call   0x40d5e4
4131be:	84 c0                	test   %al,%al
4131c0:	0f 85 b6 fd ff ff    	jne    0x412f7c
4131c6:	6a 03                	push   $0x3
4131c8:	8b cb                	mov    %ebx,%ecx
4131ca:	e8 15 a4 ff ff       	call   0x40d5e4
4131cf:	84 c0                	test   %al,%al
4131d1:	0f 85 a5 fd ff ff    	jne    0x412f7c
4131d7:	e9 44 45 06 00       	jmp    0x477720
4131dc:	8b 40 08             	mov    0x8(%eax),%eax
4131df:	e9 59 fc ff ff       	jmp    0x412e3d
4131e4:	e8 49 a1 00 00       	call   0x41d332
4131e9:	e9 b8 fd ff ff       	jmp    0x412fa6
4131ee:	33 ff                	xor    %edi,%edi
4131f0:	e9 ee fe ff ff       	jmp    0x4130e3
4131f5:	cc                   	int3
4131f6:	cc                   	int3
4131f7:	cc                   	int3
4131f8:	cc                   	int3
4131f9:	cc                   	int3
4131fa:	cc                   	int3
4131fb:	cc                   	int3
4131fc:	cc                   	int3
4131fd:	cc                   	int3
4131fe:	cc                   	int3
4131ff:	cc                   	int3
413200:	55                   	push   %ebp
413201:	8b ec                	mov    %esp,%ebp
413203:	83 e4 f8             	and    $0xfffffff8,%esp
413206:	81 ec b4 00 00 00    	sub    $0xb4,%esp
41320c:	53                   	push   %ebx
41320d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
413210:	56                   	push   %esi
413211:	8b 75 10             	mov    0x10(%ebp),%esi
413214:	57                   	push   %edi
413215:	8b 16                	mov    (%esi),%edx
413217:	8b f9                	mov    %ecx,%edi
413219:	83 ec 10             	sub    $0x10,%esp
41321c:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
413222:	89 44 24 50          	mov    %eax,0x50(%esp)
413226:	8b 43 04             	mov    0x4(%ebx),%eax
413229:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
41322d:	8b 04 90             	mov    (%eax,%edx,4),%eax
413230:	c7 44 24 34 03 00 00 	movl   $0x3,0x34(%esp)
413237:	00
413238:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
41323c:	8b 10                	mov    (%eax),%edx
41323e:	89 4c 24 44          	mov    %ecx,0x44(%esp)
413242:	8b 02                	mov    (%edx),%eax
413244:	8b cc                	mov    %esp,%ecx
413246:	89 01                	mov    %eax,(%ecx)
413248:	8b 42 04             	mov    0x4(%edx),%eax
41324b:	89 41 04             	mov    %eax,0x4(%ecx)
41324e:	8b 42 08             	mov    0x8(%edx),%eax
413251:	89 41 08             	mov    %eax,0x8(%ecx)
413254:	8b 42 0c             	mov    0xc(%edx),%eax
413257:	89 41 0c             	mov    %eax,0xc(%ecx)
41325a:	ff 00                	incl   (%eax)
41325c:	8d 8f 38 01 00 00    	lea    0x138(%edi),%ecx
413262:	e8 c9 8a ff ff       	call   0x40bd30
413267:	89 44 24 2c          	mov    %eax,0x2c(%esp)
41326b:	85 c0                	test   %eax,%eax
41326d:	0f 84 ef 5d 06 00    	je     0x479062
413273:	8b 87 4c 01 00 00    	mov    0x14c(%edi),%eax
413279:	ff 06                	incl   (%esi)
41327b:	8b 0e                	mov    (%esi),%ecx
41327d:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
413284:	8b 43 04             	mov    0x4(%ebx),%eax
413287:	c7 44 24 60 00 00 00 	movl   $0x0,0x60(%esp)
41328e:	00
41328f:	c7 44 24 68 00 00 00 	movl   $0x0,0x68(%esp)
413296:	00