41d052:	39 46 08             	cmp    %eax,0x8(%esi)
41d055:	75 32                	jne    0x41d089
41d057:	56                   	push   %esi
41d058:	6a 40                	push   $0x40
41d05a:	68 10 86 42 00       	push   $0x428610
41d05f:	e8 12 ff ff ff       	call   0x41cf76
41d064:	83 c4 0c             	add    $0xc,%esp
41d067:	85 c0                	test   %eax,%eax
41d069:	74 1e                	je     0x41d089
41d06b:	8b 07                	mov    (%edi),%eax
41d06d:	33 c9                	xor    %ecx,%ecx
41d06f:	56                   	push   %esi
41d070:	66 39 08             	cmp    %cx,(%eax)
41d073:	74 07                	je     0x41d07c
41d075:	e8 f4 f8 ff ff       	call   0x41c96e
41d07a:	eb 0c                	jmp    0x41d088
41d07c:	e8 86 f9 ff ff       	call   0x41ca07
41d081:	eb 05                	jmp    0x41d088
41d083:	e8 5f f8 ff ff       	call   0x41c8e7
41d088:	59                   	pop    %ecx
41d089:	33 ff                	xor    %edi,%edi
41d08b:	39 7e 08             	cmp    %edi,0x8(%esi)
41d08e:	0f 84 36 01 00 00    	je     0x41d1ca
41d094:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
41d09a:	66 39 3b             	cmp    %di,(%ebx)
41d09d:	75 0d                	jne    0x41d0ac
41d09f:	66 39 38             	cmp    %di,(%eax)
41d0a2:	75 08                	jne    0x41d0ac
41d0a4:	ff 15 24 41 42 00    	call   *0x424124
41d0aa:	eb 09                	jmp    0x41d0b5
41d0ac:	56                   	push   %esi
41d0ad:	50                   	push   %eax
41d0ae:	e8 80 fd ff ff       	call   0x41ce33
41d0b3:	59                   	pop    %ecx
41d0b4:	59                   	pop    %ecx
41d0b5:	8b f0                	mov    %eax,%esi
41d0b7:	85 f6                	test   %esi,%esi
41d0b9:	0f 84 0b 01 00 00    	je     0x41d1ca
41d0bf:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
41d0c5:	0f 84 ff 00 00 00    	je     0x41d1ca
41d0cb:	0f b7 c6             	movzwl %si,%eax
41d0ce:	50                   	push   %eax
41d0cf:	ff 15 20 41 42 00    	call   *0x424120
41d0d5:	85 c0                	test   %eax,%eax
41d0d7:	0f 84 ed 00 00 00    	je     0x41d1ca
41d0dd:	8b 45 0c             	mov    0xc(%ebp),%eax
41d0e0:	85 c0                	test   %eax,%eax
41d0e2:	74 02                	je     0x41d0e6
41d0e4:	89 30                	mov    %esi,(%eax)
41d0e6:	8b 7d 10             	mov    0x10(%ebp),%edi
41d0e9:	85 ff                	test   %edi,%edi
41d0eb:	0f 84 d4 00 00 00    	je     0x41d1c5
41d0f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d0f4:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
41d0fa:	33 c0                	xor    %eax,%eax
41d0fc:	66 89 03             	mov    %ax,(%ebx)
41d0ff:	8d 51 02             	lea    0x2(%ecx),%edx
41d102:	66 8b 01             	mov    (%ecx),%ax
41d105:	83 c1 02             	add    $0x2,%ecx
41d108:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
41d10c:	75 f4                	jne    0x41d102
41d10e:	2b ca                	sub    %edx,%ecx
41d110:	d1 f9                	sar    $1,%ecx
41d112:	8d 41 01             	lea    0x1(%ecx),%eax
41d115:	50                   	push   %eax
41d116:	ff 75 fc             	push   -0x4(%ebp)
41d119:	6a 55                	push   $0x55
41d11b:	53                   	push   %ebx
41d11c:	e8 ad d5 ff ff       	call   0x41a6ce
41d121:	83 c4 10             	add    $0x10,%esp
41d124:	85 c0                	test   %eax,%eax
41d126:	0f 85 a5 00 00 00    	jne    0x41d1d1
41d12c:	6a 40                	push   $0x40
41d12e:	57                   	push   %edi
41d12f:	68 01 10 00 00       	push   $0x1001
41d134:	53                   	push   %ebx
41d135:	e8 dd 64 ff ff       	call   0x413617
41d13a:	85 c0                	test   %eax,%eax
41d13c:	0f 84 88 00 00 00    	je     0x41d1ca
41d142:	6a 40                	push   $0x40
41d144:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
41d14a:	53                   	push   %ebx
41d14b:	68 02 10 00 00       	push   $0x1002
41d150:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
41d156:	50                   	push   %eax
41d157:	e8 bb 64 ff ff       	call   0x413617
41d15c:	85 c0                	test   %eax,%eax
41d15e:	74 6a                	je     0x41d1ca
41d160:	6a 5f                	push   $0x5f
41d162:	53                   	push   %ebx
41d163:	e8 0d b5 fe ff       	call   0x408675
41d168:	59                   	pop    %ecx
41d169:	59                   	pop    %ecx
41d16a:	85 c0                	test   %eax,%eax
41d16c:	75 0e                	jne    0x41d17c
41d16e:	6a 2e                	push   $0x2e
41d170:	53                   	push   %ebx
41d171:	e8 ff b4 fe ff       	call   0x408675
41d176:	59                   	pop    %ecx
41d177:	59                   	pop    %ecx
41d178:	85 c0                	test   %eax,%eax
41d17a:	74 15                	je     0x41d191
41d17c:	6a 40                	push   $0x40
41d17e:	53                   	push   %ebx
41d17f:	6a 07                	push   $0x7
41d181:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
41d187:	50                   	push   %eax
41d188:	e8 8a 64 ff ff       	call   0x413617
41d18d:	85 c0                	test   %eax,%eax
41d18f:	74 39                	je     0x41d1ca
41d191:	81 c7 00 01 00 00    	add    $0x100,%edi
41d197:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
41d19d:	75 18                	jne    0x41d1b7
41d19f:	6a 05                	push   $0x5
41d1a1:	68 a4 93 42 00       	push   $0x4293a4
41d1a6:	6a 10                	push   $0x10
41d1a8:	57                   	push   %edi
41d1a9:	e8 20 d5 ff ff       	call   0x41a6ce
41d1ae:	83 c4 10             	add    $0x10,%esp
41d1b1:	85 c0                	test   %eax,%eax
41d1b3:	75 1c                	jne    0x41d1d1
41d1b5:	eb 0e                	jmp    0x41d1c5
41d1b7:	6a 0a                	push   $0xa
41d1b9:	6a 10                	push   $0x10
41d1bb:	57                   	push   %edi
41d1bc:	56                   	push   %esi
41d1bd:	e8 22 46 00 00       	call   0x4217e4
41d1c2:	83 c4 10             	add    $0x10,%esp
41d1c5:	33 c0                	xor    %eax,%eax
41d1c7:	40                   	inc    %eax
41d1c8:	eb 02                	jmp    0x41d1cc
41d1ca:	33 c0                	xor    %eax,%eax
41d1cc:	5f                   	pop    %edi
41d1cd:	5e                   	pop    %esi
41d1ce:	5b                   	pop    %ebx
41d1cf:	c9                   	leave
41d1d0:	c3                   	ret
41d1d1:	33 c0                	xor    %eax,%eax
41d1d3:	50                   	push   %eax
41d1d4:	50                   	push   %eax
41d1d5:	50                   	push   %eax
41d1d6:	50                   	push   %eax
41d1d7:	50                   	push   %eax
41d1d8:	e8 d1 fe fe ff       	call   0x40d0ae
41d1dd:	cc                   	int3
41d1de:	8b ff                	mov    %edi,%edi
41d1e0:	55                   	push   %ebp
41d1e1:	8b ec                	mov    %esp,%ebp
41d1e3:	81 ec f4 00 00 00    	sub    $0xf4,%esp
41d1e9:	a1 14 30 43 00       	mov    0x433014,%eax
41d1ee:	33 c5                	xor    %ebp,%eax
41d1f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d1f3:	53                   	push   %ebx
41d1f4:	56                   	push   %esi
41d1f5:	8b 75 08             	mov    0x8(%ebp),%esi
41d1f8:	57                   	push   %edi
41d1f9:	e8 d5 6f ff ff       	call   0x4141d3
41d1fe:	8b d8                	mov    %eax,%ebx
41d200:	e8 ce 6f ff ff       	call   0x4141d3
41d205:	56                   	push   %esi
41d206:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
41d20c:	e8 0d 05 00 00       	call   0x41d71e
41d211:	59                   	pop    %ecx
41d212:	8b 4b 64             	mov    0x64(%ebx),%ecx
41d215:	8b f0                	mov    %eax,%esi
41d217:	f7 d9                	neg    %ecx
41d219:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d21f:	6a 78                	push   $0x78
41d221:	1b c9                	sbb    %ecx,%ecx
41d223:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
41d229:	50                   	push   %eax
41d22a:	81 c1 02 10 00 00    	add    $0x1002,%ecx
41d230:	51                   	push   %ecx
41d231:	56                   	push   %esi
41d232:	ff 15 dc 40 42 00    	call   *0x4240dc
41d238:	85 c0                	test   %eax,%eax
41d23a:	75 05                	jne    0x41d241
41d23c:	21 07                	and    %eax,(%edi)
41d23e:	40                   	inc    %eax
41d23f:	eb 33                	jmp    0x41d274
41d241:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d247:	50                   	push   %eax
41d248:	ff 73 54             	push   0x54(%ebx)
41d24b:	e8 8f d1 ff ff       	call   0x41a3df
41d250:	59                   	pop    %ecx
41d251:	59                   	pop    %ecx
41d252:	85 c0                	test   %eax,%eax
41d254:	75 14                	jne    0x41d26a
41d256:	56                   	push   %esi
41d257:	e8 f4 05 00 00       	call   0x41d850
41d25c:	59                   	pop    %ecx
41d25d:	85 c0                	test   %eax,%eax
41d25f:	74 09                	je     0x41d26a
41d261:	83 0f 04             	orl    $0x4,(%edi)
41d264:	89 77 08             	mov    %esi,0x8(%edi)
41d267:	89 77 04             	mov    %esi,0x4(%edi)
41d26a:	8b 07                	mov    (%edi),%eax
41d26c:	c1 e8 02             	shr    $0x2,%eax
41d26f:	f7 d0                	not    %eax
41d271:	83 e0 01             	and    $0x1,%eax
41d274:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d277:	5f                   	pop    %edi
41d278:	5e                   	pop    %esi
41d279:	33 cd                	xor    %ebp,%ecx
41d27b:	5b                   	pop    %ebx
41d27c:	e8 8b a1 fe ff       	call   0x40740c
41d281:	c9                   	leave
41d282:	c2 04 00             	ret    $0x4
41d285:	8b ff                	mov    %edi,%edi
41d287:	55                   	push   %ebp
41d288:	8b ec                	mov    %esp,%ebp
41d28a:	56                   	push   %esi
41d28b:	57                   	push   %edi
41d28c:	e8 42 6f ff ff       	call   0x4141d3
41d291:	8b d0                	mov    %eax,%edx
41d293:	33 ff                	xor    %edi,%edi
41d295:	8b 4a 54             	mov    0x54(%edx),%ecx
41d298:	8d 71 02             	lea    0x2(%ecx),%esi
41d29b:	66 8b 01             	mov    (%ecx),%ax
41d29e:	83 c1 02             	add    $0x2,%ecx
41d2a1:	66 3b c7             	cmp    %di,%ax
41d2a4:	75 f5                	jne    0x41d29b
41d2a6:	2b ce                	sub    %esi,%ecx
41d2a8:	33 c0                	xor    %eax,%eax
41d2aa:	d1 f9                	sar    $1,%ecx
41d2ac:	83 f9 03             	cmp    $0x3,%ecx
41d2af:	6a 01                	push   $0x1
41d2b1:	0f 94 c0             	sete   %al
41d2b4:	68 de d1 41 00       	push   $0x41d1de
41d2b9:	89 42 64             	mov    %eax,0x64(%edx)
41d2bc:	ff 15 e8 40 42 00    	call   *0x4240e8
41d2c2:	8b 45 08             	mov    0x8(%ebp),%eax
41d2c5:	f6 00 04             	testb  $0x4,(%eax)
41d2c8:	75 02                	jne    0x41d2cc
41d2ca:	89 38                	mov    %edi,(%eax)
41d2cc:	5f                   	pop    %edi
41d2cd:	5e                   	pop    %esi
41d2ce:	5d                   	pop    %ebp
41d2cf:	c3                   	ret
41d2d0:	8b ff                	mov    %edi,%edi
41d2d2:	55                   	push   %ebp
41d2d3:	8b ec                	mov    %esp,%ebp
41d2d5:	53                   	push   %ebx
41d2d6:	56                   	push   %esi
41d2d7:	57                   	push   %edi
41d2d8:	e8 f6 6e ff ff       	call   0x4141d3
41d2dd:	8b f0                	mov    %eax,%esi
41d2df:	33 db                	xor    %ebx,%ebx
41d2e1:	6a 02                	push   $0x2
41d2e3:	5a                   	pop    %edx
41d2e4:	8b 4e 50             	mov    0x50(%esi),%ecx
41d2e7:	8d 79 02             	lea    0x2(%ecx),%edi
41d2ea:	66 8b 01             	mov    (%ecx),%ax
41d2ed:	03 ca                	add    %edx,%ecx
41d2ef:	66 3b c3             	cmp    %bx,%ax
41d2f2:	75 f6                	jne    0x41d2ea
41d2f4:	2b cf                	sub    %edi,%ecx
41d2f6:	33 c0                	xor    %eax,%eax
41d2f8:	d1 f9                	sar    $1,%ecx
41d2fa:	83 f9 03             	cmp    $0x3,%ecx
41d2fd:	8b 4e 54             	mov    0x54(%esi),%ecx
41d300:	0f 94 c0             	sete   %al
41d303:	89 46 60             	mov    %eax,0x60(%esi)
41d306:	8d 79 02             	lea    0x2(%ecx),%edi
41d309:	66 8b 01             	mov    (%ecx),%ax
41d30c:	03 ca                	add    %edx,%ecx
41d30e:	66 3b c3             	cmp    %bx,%ax
41d311:	75 f6                	jne    0x41d309
41d313:	2b cf                	sub    %edi,%ecx
41d315:	33 c0                	xor    %eax,%eax
41d317:	8b 7d 08             	mov    0x8(%ebp),%edi
41d31a:	d1 f9                	sar    $1,%ecx
41d31c:	83 f9 03             	cmp    $0x3,%ecx
41d31f:	0f 94 c0             	sete   %al
41d322:	89 46 64             	mov    %eax,0x64(%esi)
41d325:	89 5f 04             	mov    %ebx,0x4(%edi)
41d328:	39 5e 60             	cmp    %ebx,0x60(%esi)
41d32b:	75 0b                	jne    0x41d338
41d32d:	ff 76 50             	push   0x50(%esi)
41d330:	e8 95 00 00 00       	call   0x41d3ca
41d335:	59                   	pop    %ecx
41d336:	8b d0                	mov    %eax,%edx
41d338:	6a 01                	push   $0x1
41d33a:	68 f6 d3 41 00       	push   $0x41d3f6
41d33f:	89 56 5c             	mov    %edx,0x5c(%esi)
41d342:	ff 15 e8 40 42 00    	call   *0x4240e8
41d348:	8b 0f                	mov    (%edi),%ecx
41d34a:	f6 c1 07             	test   $0x7,%cl
41d34d:	0f 95 c2             	setne  %dl
41d350:	0f ba e1 09          	bt     $0x9,%ecx
41d354:	0f 92 c0             	setb   %al
41d357:	22 d0                	and    %al,%dl
41d359:	0f ba e1 08          	bt     $0x8,%ecx
41d35d:	0f 92 c0             	setb   %al
41d360:	84 d0                	test   %dl,%al
41d362:	75 02                	jne    0x41d366
41d364:	89 1f                	mov    %ebx,(%edi)
41d366:	5f                   	pop    %edi
41d367:	5e                   	pop    %esi
41d368:	5b                   	pop    %ebx
41d369:	5d                   	pop    %ebp
41d36a:	c3                   	ret
41d36b:	8b ff                	mov    %edi,%edi
41d36d:	55                   	push   %ebp
41d36e:	8b ec                	mov    %esp,%ebp
41d370:	53                   	push   %ebx
41d371:	56                   	push   %esi
41d372:	57                   	push   %edi
41d373:	e8 5b 6e ff ff       	call   0x4141d3
41d378:	8b f0                	mov    %eax,%esi
41d37a:	33 db                	xor    %ebx,%ebx
41d37c:	6a 02                	push   $0x2
41d37e:	5a                   	pop    %edx
41d37f:	8b 4e 50             	mov    0x50(%esi),%ecx
41d382:	8d 79 02             	lea    0x2(%ecx),%edi
41d385:	66 8b 01             	mov    (%ecx),%ax
41d388:	03 ca                	add    %edx,%ecx
41d38a:	66 3b c3             	cmp    %bx,%ax
41d38d:	75 f6                	jne    0x41d385
41d38f:	2b cf                	sub    %edi,%ecx
41d391:	33 c0                	xor    %eax,%eax
41d393:	d1 f9                	sar    $1,%ecx
41d395:	83 f9 03             	cmp    $0x3,%ecx
41d398:	0f 94 c0             	sete   %al
41d39b:	89 46 60             	mov    %eax,0x60(%esi)
41d39e:	74 0b                	je     0x41d3ab
41d3a0:	ff 76 50             	push   0x50(%esi)
41d3a3:	e8 22 00 00 00       	call   0x41d3ca
41d3a8:	59                   	pop    %ecx
41d3a9:	8b d0                	mov    %eax,%edx
41d3ab:	6a 01                	push   $0x1
41d3ad:	68 49 d6 41 00       	push   $0x41d649
41d3b2:	89 56 5c             	mov    %edx,0x5c(%esi)
41d3b5:	ff 15 e8 40 42 00    	call   *0x4240e8
41d3bb:	8b 45 08             	mov    0x8(%ebp),%eax
41d3be:	f6 00 04             	testb  $0x4,(%eax)
41d3c1:	75 02                	jne    0x41d3c5
41d3c3:	89 18                	mov    %ebx,(%eax)
41d3c5:	5f                   	pop    %edi
41d3c6:	5e                   	pop    %esi
41d3c7:	5b                   	pop    %ebx
41d3c8:	5d                   	pop    %ebp
41d3c9:	c3                   	ret
41d3ca:	8b ff                	mov    %edi,%edi
41d3cc:	55                   	push   %ebp
41d3cd:	8b ec                	mov    %esp,%ebp
41d3cf:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d3d2:	33 d2                	xor    %edx,%edx
41d3d4:	0f b7 01             	movzwl (%ecx),%eax
41d3d7:	83 c1 02             	add    $0x2,%ecx