40bf59:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40bf5d:	c7 44 24 10 08 00 00 	movl   $0x8,0x10(%esp)
40bf64:	00
40bf65:	89 54 24 14          	mov    %edx,0x14(%esp)
40bf69:	c7 44 24 1c 00 f0 00 	movl   $0xf000,0x1c(%esp)
40bf70:	00
40bf71:	74 04                	je     0x40bf77
40bf73:	33 c0                	xor    %eax,%eax
40bf75:	eb 07                	jmp    0x40bf7e
40bf77:	8b 84 b1 88 10 00 00 	mov    0x1088(%ecx,%esi,4),%eax
40bf7e:	f7 d8                	neg    %eax
40bf80:	b9 00 10 00 00       	mov    $0x1000,%ecx
40bf85:	1b c0                	sbb    %eax,%eax
40bf87:	23 c1                	and    %ecx,%eax
40bf89:	03 c1                	add    %ecx,%eax
40bf8b:	89 44 24 18          	mov    %eax,0x18(%esp)
40bf8f:	8d 44 24 10          	lea    0x10(%esp),%eax
40bf93:	50                   	push   %eax
40bf94:	6a 00                	push   $0x0
40bf96:	68 3f 11 00 00       	push   $0x113f
40bf9b:	53                   	push   %ebx
40bf9c:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40bfa2:	8b 47 0c             	mov    0xc(%edi),%eax
40bfa5:	8b c8                	mov    %eax,%ecx
40bfa7:	46                   	inc    %esi
40bfa8:	0f b6 40 04          	movzbl 0x4(%eax),%eax
40bfac:	3b f0                	cmp    %eax,%esi
40bfae:	72 99                	jb     0x40bf49
40bfb0:	5f                   	pop    %edi
40bfb1:	5e                   	pop    %esi
40bfb2:	5b                   	pop    %ebx
40bfb3:	8b e5                	mov    %ebp,%esp
40bfb5:	5d                   	pop    %ebp
40bfb6:	c2 04 00             	ret    $0x4
40bfb9:	cc                   	int3
40bfba:	cc                   	int3
40bfbb:	cc                   	int3
40bfbc:	cc                   	int3
40bfbd:	cc                   	int3
40bfbe:	cc                   	int3
40bfbf:	cc                   	int3
40bfc0:	8b ff                	mov    %edi,%edi
40bfc2:	55                   	push   %ebp
40bfc3:	8b ec                	mov    %esp,%ebp
40bfc5:	56                   	push   %esi
40bfc6:	33 f6                	xor    %esi,%esi
40bfc8:	46                   	inc    %esi
40bfc9:	81 7d 08 e7 03 00 00 	cmpl   $0x3e7,0x8(%ebp)
40bfd0:	57                   	push   %edi
40bfd1:	8b f9                	mov    %ecx,%edi
40bfd3:	75 1c                	jne    0x40bff1
40bfd5:	33 f6                	xor    %esi,%esi
40bfd7:	56                   	push   %esi
40bfd8:	e8 41 ff ff ff       	call   0x40bf1e
40bfdd:	39 77 14             	cmp    %esi,0x14(%edi)
40bfe0:	74 0f                	je     0x40bff1
40bfe2:	ff 77 14             	push   0x14(%edi)
40bfe5:	ff 77 04             	push   0x4(%edi)
40bfe8:	ff 15 40 b2 41 00    	call   *0x41b240
40bfee:	89 77 14             	mov    %esi,0x14(%edi)
40bff1:	5f                   	pop    %edi
40bff2:	8b c6                	mov    %esi,%eax
40bff4:	5e                   	pop    %esi
40bff5:	5d                   	pop    %ebp
40bff6:	c2 04 00             	ret    $0x4
40bff9:	cc                   	int3
40bffa:	cc                   	int3
40bffb:	cc                   	int3
40bffc:	cc                   	int3
40bffd:	cc                   	int3
40bffe:	cc                   	int3
40bfff:	cc                   	int3
40c000:	8b ff                	mov    %edi,%edi
40c002:	55                   	push   %ebp
40c003:	8b ec                	mov    %esp,%ebp
40c005:	51                   	push   %ecx
40c006:	51                   	push   %ecx
40c007:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c00b:	53                   	push   %ebx
40c00c:	56                   	push   %esi
40c00d:	8b f1                	mov    %ecx,%esi
40c00f:	57                   	push   %edi
40c010:	ff 76 04             	push   0x4(%esi)
40c013:	ff 15 d4 b1 41 00    	call   *0x41b1d4
40c019:	8b c8                	mov    %eax,%ecx
40c01b:	e8 84 3c 00 00       	call   0x40fca4
40c020:	33 ff                	xor    %edi,%edi
40c022:	8b 8f 90 56 41 00    	mov    0x415690(%edi),%ecx
40c028:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c02b:	e8 b5 39 00 00       	call   0x40f9e5
40c030:	85 c0                	test   %eax,%eax
40c032:	74 1d                	je     0x40c051
40c034:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40c037:	85 db                	test   %ebx,%ebx
40c039:	74 16                	je     0x40c051
40c03b:	53                   	push   %ebx
40c03c:	ff b7 94 56 41 00    	push   0x415694(%edi)
40c042:	8b ce                	mov    %esi,%ecx
40c044:	e8 42 0c 00 00       	call   0x40cc8b
40c049:	53                   	push   %ebx
40c04a:	ff 15 24 b3 41 00    	call   *0x41b324
40c050:	59                   	pop    %ecx
40c051:	83 c7 08             	add    $0x8,%edi
40c054:	83 ff 40             	cmp    $0x40,%edi
40c057:	72 c9                	jb     0x40c022
40c059:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c05c:	33 ff                	xor    %edi,%edi
40c05e:	50                   	push   %eax
40c05f:	68 19 01 00 00       	push   $0x119
40c064:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c067:	e8 5d 6d 00 00       	call   0x412dc9
40c06c:	33 c0                	xor    %eax,%eax
40c06e:	8b ce                	mov    %esi,%ecx
40c070:	39 45 f8             	cmp    %eax,-0x8(%ebp)
40c073:	0f 95 c0             	setne  %al
40c076:	50                   	push   %eax
40c077:	68 ee 03 00 00       	push   $0x3ee
40c07c:	e8 30 0c 00 00       	call   0x40ccb1
40c081:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c084:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c087:	50                   	push   %eax
40c088:	68 18 01 00 00       	push   $0x118
40c08d:	e8 37 6d 00 00       	call   0x412dc9
40c092:	39 7d f8             	cmp    %edi,-0x8(%ebp)
40c095:	74 0e                	je     0x40c0a5
40c097:	e8 f2 c1 ff ff       	call   0x40828e
40c09c:	85 c0                	test   %eax,%eax
40c09e:	74 05                	je     0x40c0a5
40c0a0:	33 c0                	xor    %eax,%eax
40c0a2:	40                   	inc    %eax
40c0a3:	eb 02                	jmp    0x40c0a7
40c0a5:	8b c7                	mov    %edi,%eax
40c0a7:	50                   	push   %eax
40c0a8:	68 fe 03 00 00       	push   $0x3fe
40c0ad:	8b ce                	mov    %esi,%ecx
40c0af:	e8 48 0c 00 00       	call   0x40ccfc
40c0b4:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c0b7:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c0ba:	50                   	push   %eax
40c0bb:	bb 1f 01 00 00       	mov    $0x11f,%ebx
40c0c0:	53                   	push   %ebx
40c0c1:	e8 03 6d 00 00       	call   0x412dc9
40c0c6:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
40c0ca:	75 05                	jne    0x40c0d1
40c0cc:	6a 02                	push   $0x2
40c0ce:	58                   	pop    %eax
40c0cf:	eb 16                	jmp    0x40c0e7
40c0d1:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c0d4:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c0d7:	50                   	push   %eax
40c0d8:	53                   	push   %ebx
40c0d9:	e8 eb 6c 00 00       	call   0x412dc9
40c0de:	33 c0                	xor    %eax,%eax
40c0e0:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
40c0e4:	0f 94 c0             	sete   %al
40c0e7:	50                   	push   %eax
40c0e8:	68 05 04 00 00       	push   $0x405
40c0ed:	8b ce                	mov    %esi,%ecx
40c0ef:	e8 bd 0b 00 00       	call   0x40ccb1
40c0f4:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c0f7:	89 7d f8             	mov    %edi,-0x8(%ebp)
40c0fa:	50                   	push   %eax
40c0fb:	68 5a 01 00 00       	push   $0x15a
40c100:	e8 c4 6c 00 00       	call   0x412dc9
40c105:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c108:	2d 04 04 00 00       	sub    $0x404,%eax
40c10d:	74 0f                	je     0x40c11e
40c10f:	83 e8 05             	sub    $0x5,%eax
40c112:	74 05                	je     0x40c119
40c114:	6a 02                	push   $0x2
40c116:	58                   	pop    %eax
40c117:	eb 07                	jmp    0x40c120
40c119:	33 c0                	xor    %eax,%eax
40c11b:	40                   	inc    %eax
40c11c:	eb 02                	jmp    0x40c120
40c11e:	8b c7                	mov    %edi,%eax
40c120:	50                   	push   %eax
40c121:	68 59 04 00 00       	push   $0x459
40c126:	8b ce                	mov    %esi,%ecx
40c128:	e8 84 0b 00 00       	call   0x40ccb1
40c12d:	e8 e7 6b 00 00       	call   0x412d19
40c132:	8a d8                	mov    %al,%bl
40c134:	84 db                	test   %bl,%bl
40c136:	74 15                	je     0x40c14d
40c138:	e8 ed bc ff ff       	call   0x407e2a
40c13d:	50                   	push   %eax
40c13e:	bf 6d 04 00 00       	mov    $0x46d,%edi
40c143:	8b ce                	mov    %esi,%ecx
40c145:	57                   	push   %edi
40c146:	e8 b1 0b 00 00       	call   0x40ccfc
40c14b:	eb 26                	jmp    0x40c173
40c14d:	57                   	push   %edi
40c14e:	bf 6d 04 00 00       	mov    $0x46d,%edi
40c153:	8b ce                	mov    %esi,%ecx
40c155:	57                   	push   %edi
40c156:	e8 a1 0b 00 00       	call   0x40ccfc
40c15b:	6a 00                	push   $0x0
40c15d:	57                   	push   %edi
40c15e:	8b ce                	mov    %esi,%ecx
40c160:	e8 07 0b 00 00       	call   0x40cc6c
40c165:	6a 00                	push   $0x0
40c167:	68 6f 04 00 00       	push   $0x46f
40c16c:	8b ce                	mov    %esi,%ecx
40c16e:	e8 f9 0a 00 00       	call   0x40cc6c
40c173:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40c177:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c17a:	50                   	push   %eax
40c17b:	68 34 01 00 00       	push   $0x134
40c180:	e8 44 6c 00 00       	call   0x412dc9
40c185:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c188:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40c18c:	a3 10 98 41 00       	mov    %eax,0x419810
40c191:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c194:	50                   	push   %eax
40c195:	68 4c 01 00 00       	push   $0x14c
40c19a:	e8 2a 6c 00 00       	call   0x412dc9
40c19f:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c1a2:	8b ce                	mov    %esi,%ecx
40c1a4:	a3 18 98 41 00       	mov    %eax,0x419818
40c1a9:	33 c0                	xor    %eax,%eax
40c1ab:	39 05 10 98 41 00    	cmp    %eax,0x419810
40c1b1:	0f 94 c0             	sete   %al
40c1b4:	50                   	push   %eax
40c1b5:	68 61 04 00 00       	push   $0x461
40c1ba:	e8 3d 0b 00 00       	call   0x40ccfc
40c1bf:	ff 35 10 98 41 00    	push   0x419810
40c1c5:	8b ce                	mov    %esi,%ecx
40c1c7:	68 63 04 00 00       	push   $0x463
40c1cc:	e8 2b 0b 00 00       	call   0x40ccfc
40c1d1:	33 c0                	xor    %eax,%eax
40c1d3:	8b ce                	mov    %esi,%ecx
40c1d5:	39 05 10 98 41 00    	cmp    %eax,0x419810
40c1db:	0f 94 c0             	sete   %al
40c1de:	50                   	push   %eax
40c1df:	68 6c 04 00 00       	push   $0x46c
40c1e4:	e8 83 0a 00 00       	call   0x40cc6c
40c1e9:	84 db                	test   %bl,%bl
40c1eb:	74 18                	je     0x40c205
40c1ed:	6a 01                	push   $0x1
40c1ef:	57                   	push   %edi
40c1f0:	8b ce                	mov    %esi,%ecx
40c1f2:	e8 75 0a 00 00       	call   0x40cc6c
40c1f7:	6a 01                	push   $0x1
40c1f9:	68 6f 04 00 00       	push   $0x46f
40c1fe:	8b ce                	mov    %esi,%ecx
40c200:	e8 67 0a 00 00       	call   0x40cc6c
40c205:	83 3d 80 93 41 00 02 	cmpl   $0x2,0x419380
40c20c:	75 78                	jne    0x40c286
40c20e:	6a 37                	push   $0x37
40c210:	59                   	pop    %ecx
40c211:	e8 73 c4 ff ff       	call   0x408689
40c216:	85 c0                	test   %eax,%eax
40c218:	74 3a                	je     0x40c254
40c21a:	6a 38                	push   $0x38
40c21c:	59                   	pop    %ecx
40c21d:	e8 67 c4 ff ff       	call   0x408689
40c222:	85 c0                	test   %eax,%eax
40c224:	74 2e                	je     0x40c254
40c226:	6a 39                	push   $0x39
40c228:	59                   	pop    %ecx
40c229:	e8 5b c4 ff ff       	call   0x408689
40c22e:	85 c0                	test   %eax,%eax
40c230:	74 22                	je     0x40c254
40c232:	6a 01                	push   $0x1
40c234:	68 61 04 00 00       	push   $0x461
40c239:	8b ce                	mov    %esi,%ecx
40c23b:	e8 2c 0a 00 00       	call   0x40cc6c
40c240:	6a 01                	push   $0x1
40c242:	bf 63 04 00 00       	mov    $0x463,%edi
40c247:	8b ce                	mov    %esi,%ecx
40c249:	57                   	push   %edi
40c24a:	e8 1d 0a 00 00       	call   0x40cc6c
40c24f:	e9 8d 00 00 00       	jmp    0x40c2e1
40c254:	6a 00                	push   $0x0
40c256:	bf 63 04 00 00       	mov    $0x463,%edi
40c25b:	8b ce                	mov    %esi,%ecx
40c25d:	57                   	push   %edi
40c25e:	e8 09 0a 00 00       	call   0x40cc6c
40c263:	83 3d 10 98 41 00 00 	cmpl   $0x0,0x419810
40c26a:	74 75                	je     0x40c2e1
40c26c:	6a 01                	push   $0x1
40c26e:	68 61 04 00 00       	push   $0x461
40c273:	8b ce                	mov    %esi,%ecx
40c275:	e8 82 0a 00 00       	call   0x40ccfc
40c27a:	6a 00                	push   $0x0
40c27c:	57                   	push   %edi
40c27d:	8b ce                	mov    %esi,%ecx
40c27f:	e8 78 0a 00 00       	call   0x40ccfc
40c284:	eb 5b                	jmp    0x40c2e1
40c286:	33 db                	xor    %ebx,%ebx
40c288:	53                   	push   %ebx
40c289:	68 65 04 00 00       	push   $0x465
40c28e:	ff 76 04             	push   0x4(%esi)
40c291:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40c297:	50                   	push   %eax
40c298:	ff 15 34 b2 41 00    	call   *0x41b234
40c29e:	53                   	push   %ebx
40c29f:	68 61 04 00 00       	push   $0x461
40c2a4:	8b ce                	mov    %esi,%ecx
40c2a6:	e8 c1 09 00 00       	call   0x40cc6c
40c2ab:	53                   	push   %ebx
40c2ac:	bf 63 04 00 00       	mov    $0x463,%edi
40c2b1:	8b ce                	mov    %esi,%ecx
40c2b3:	57                   	push   %edi
40c2b4:	e8 b3 09 00 00       	call   0x40cc6c
40c2b9:	53                   	push   %ebx
40c2ba:	68 61 04 00 00       	push   $0x461
40c2bf:	ff 76 04             	push   0x4(%esi)
40c2c2:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40c2c8:	50                   	push   %eax
40c2c9:	ff 15 34 b2 41 00    	call   *0x41b234
40c2cf:	53                   	push   %ebx
40c2d0:	57                   	push   %edi
40c2d1:	ff 76 04             	push   0x4(%esi)
40c2d4:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40c2da:	50                   	push   %eax
40c2db:	ff 15 34 b2 41 00    	call   *0x41b234
40c2e1:	5f                   	pop    %edi
40c2e2:	5e                   	pop    %esi
40c2e3:	5b                   	pop    %ebx
40c2e4:	c9                   	leave
40c2e5:	c2 04 00             	ret    $0x4
40c2e8:	cc                   	int3
40c2e9:	cc                   	int3
40c2ea:	cc                   	int3
40c2eb:	cc                   	int3
40c2ec:	cc                   	int3
40c2ed:	cc                   	int3
40c2ee:	cc                   	int3
40c2ef:	cc                   	int3
40c2f0:	8b ff                	mov    %edi,%edi
40c2f2:	55                   	push   %ebp
40c2f3:	8b ec                	mov    %esp,%ebp
40c2f5:	51                   	push   %ecx
40c2f6:	8b 45 08             	mov    0x8(%ebp),%eax
40c2f9:	8b d0                	mov    %eax,%edx
40c2fb:	53                   	push   %ebx
40c2fc:	56                   	push   %esi
40c2fd:	0f b7 c0             	movzwl %ax,%eax
40c300:	33 db                	xor    %ebx,%ebx
40c302:	c1 ea 10             	shr    $0x10,%edx
40c305:	8b f1                	mov    %ecx,%esi
40c307:	57                   	push   %edi
40c308:	2d 61 04 00 00       	sub    $0x461,%eax
40c30d:	74 72                	je     0x40c381
40c30f:	48                   	dec    %eax
40c310:	83 e8 01             	sub    $0x1,%eax
40c313:	74 59                	je     0x40c36e
40c315:	83 e8 09             	sub    $0x9,%eax
40c318:	74 03                	je     0x40c31d