41affe:	55                   	push   %ebp
41afff:	8b ec                	mov    %esp,%ebp
41b001:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41b005:	74 32                	je     0x41b039
41b007:	56                   	push   %esi
41b008:	57                   	push   %edi
41b009:	8b 7d 08             	mov    0x8(%ebp),%edi
41b00c:	8b 37                	mov    (%edi),%esi
41b00e:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
41b014:	75 21                	jne    0x41b037
41b016:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
41b01a:	75 1b                	jne    0x41b037
41b01c:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
41b023:	74 18                	je     0x41b03d
41b025:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
41b02c:	74 0f                	je     0x41b03d
41b02e:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
41b035:	74 06                	je     0x41b03d
41b037:	5f                   	pop    %edi
41b038:	5e                   	pop    %esi
41b039:	33 c0                	xor    %eax,%eax
41b03b:	5d                   	pop    %ebp
41b03c:	c3                   	ret
41b03d:	e8 0a 24 00 00       	call   0x41d44c
41b042:	89 70 10             	mov    %esi,0x10(%eax)
41b045:	8b 77 04             	mov    0x4(%edi),%esi
41b048:	e8 ff 23 00 00       	call   0x41d44c
41b04d:	89 70 14             	mov    %esi,0x14(%eax)
41b050:	e8 5a f0 00 00       	call   0x42a0af
41b055:	cc                   	int3
41b056:	55                   	push   %ebp
41b057:	8b ec                	mov    %esp,%ebp
41b059:	e8 ee 23 00 00       	call   0x41d44c
41b05e:	8b 40 24             	mov    0x24(%eax),%eax
41b061:	85 c0                	test   %eax,%eax
41b063:	74 0e                	je     0x41b073
41b065:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b068:	39 08                	cmp    %ecx,(%eax)
41b06a:	74 0c                	je     0x41b078
41b06c:	8b 40 04             	mov    0x4(%eax),%eax
41b06f:	85 c0                	test   %eax,%eax
41b071:	75 f5                	jne    0x41b068
41b073:	33 c0                	xor    %eax,%eax
41b075:	40                   	inc    %eax
41b076:	5d                   	pop    %ebp
41b077:	c3                   	ret
41b078:	33 c0                	xor    %eax,%eax
41b07a:	5d                   	pop    %ebp
41b07b:	c3                   	ret
41b07c:	55                   	push   %ebp
41b07d:	8b ec                	mov    %esp,%ebp
41b07f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b082:	8b 55 08             	mov    0x8(%ebp),%edx
41b085:	56                   	push   %esi
41b086:	8b 01                	mov    (%ecx),%eax
41b088:	8b 71 04             	mov    0x4(%ecx),%esi
41b08b:	03 c2                	add    %edx,%eax
41b08d:	85 f6                	test   %esi,%esi
41b08f:	78 0d                	js     0x41b09e
41b091:	8b 49 08             	mov    0x8(%ecx),%ecx
41b094:	8b 14 16             	mov    (%esi,%edx,1),%edx
41b097:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
41b09a:	03 ce                	add    %esi,%ecx
41b09c:	03 c1                	add    %ecx,%eax
41b09e:	5e                   	pop    %esi
41b09f:	5d                   	pop    %ebp
41b0a0:	c3                   	ret
41b0a1:	55                   	push   %ebp
41b0a2:	8b ec                	mov    %esp,%ebp
41b0a4:	56                   	push   %esi
41b0a5:	8b 75 08             	mov    0x8(%ebp),%esi
41b0a8:	57                   	push   %edi
41b0a9:	8b 3e                	mov    (%esi),%edi
41b0ab:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
41b0b1:	74 12                	je     0x41b0c5
41b0b3:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
41b0b9:	74 0a                	je     0x41b0c5
41b0bb:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
41b0c1:	74 1b                	je     0x41b0de
41b0c3:	eb 13                	jmp    0x41b0d8
41b0c5:	e8 82 23 00 00       	call   0x41d44c
41b0ca:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
41b0ce:	7e 08                	jle    0x41b0d8
41b0d0:	e8 77 23 00 00       	call   0x41d44c
41b0d5:	ff 48 18             	decl   0x18(%eax)
41b0d8:	5f                   	pop    %edi
41b0d9:	33 c0                	xor    %eax,%eax
41b0db:	5e                   	pop    %esi
41b0dc:	5d                   	pop    %ebp
41b0dd:	c3                   	ret
41b0de:	e8 69 23 00 00       	call   0x41d44c
41b0e3:	89 78 10             	mov    %edi,0x10(%eax)
41b0e6:	8b 76 04             	mov    0x4(%esi),%esi
41b0e9:	e8 5e 23 00 00       	call   0x41d44c
41b0ee:	89 70 14             	mov    %esi,0x14(%eax)
41b0f1:	e8 b9 ef 00 00       	call   0x42a0af
41b0f6:	cc                   	int3
41b0f7:	e8 50 23 00 00       	call   0x41d44c
41b0fc:	83 c0 10             	add    $0x10,%eax
41b0ff:	c3                   	ret
41b100:	e8 47 23 00 00       	call   0x41d44c
41b105:	83 c0 14             	add    $0x14,%eax
41b108:	c3                   	ret
41b109:	cc                   	int3
41b10a:	cc                   	int3
41b10b:	cc                   	int3
41b10c:	cc                   	int3
41b10d:	cc                   	int3
41b10e:	cc                   	int3
41b10f:	cc                   	int3
41b110:	e9 9a ef 00 00       	jmp    0x42a0af
41b115:	cc                   	int3
41b116:	cc                   	int3
41b117:	cc                   	int3
41b118:	cc                   	int3
41b119:	cc                   	int3
41b11a:	cc                   	int3
41b11b:	cc                   	int3
41b11c:	cc                   	int3
41b11d:	cc                   	int3
41b11e:	cc                   	int3
41b11f:	cc                   	int3
41b120:	55                   	push   %ebp
41b121:	8b ec                	mov    %esp,%ebp
41b123:	56                   	push   %esi
41b124:	8b 75 08             	mov    0x8(%ebp),%esi
41b127:	57                   	push   %edi
41b128:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b12b:	8b 06                	mov    (%esi),%eax
41b12d:	83 f8 fe             	cmp    $0xfffffffe,%eax
41b130:	74 0d                	je     0x41b13f
41b132:	8b 4e 04             	mov    0x4(%esi),%ecx
41b135:	03 cf                	add    %edi,%ecx
41b137:	33 0c 38             	xor    (%eax,%edi,1),%ecx
41b13a:	e8 6b ea ff ff       	call   0x419baa
41b13f:	8b 46 08             	mov    0x8(%esi),%eax
41b142:	8b 4e 0c             	mov    0xc(%esi),%ecx
41b145:	03 cf                	add    %edi,%ecx
41b147:	33 0c 38             	xor    (%eax,%edi,1),%ecx
41b14a:	5f                   	pop    %edi
41b14b:	5e                   	pop    %esi
41b14c:	5d                   	pop    %ebp
41b14d:	e9 58 ea ff ff       	jmp    0x419baa
41b152:	cc                   	int3
41b153:	cc                   	int3
41b154:	cc                   	int3
41b155:	cc                   	int3
41b156:	cc                   	int3
41b157:	cc                   	int3
41b158:	cc                   	int3
41b159:	cc                   	int3
41b15a:	cc                   	int3
41b15b:	cc                   	int3
41b15c:	cc                   	int3
41b15d:	cc                   	int3
41b15e:	cc                   	int3
41b15f:	cc                   	int3
41b160:	55                   	push   %ebp
41b161:	8b ec                	mov    %esp,%ebp
41b163:	83 ec 1c             	sub    $0x1c,%esp
41b166:	53                   	push   %ebx
41b167:	8b 5d 08             	mov    0x8(%ebp),%ebx
41b16a:	56                   	push   %esi
41b16b:	57                   	push   %edi
41b16c:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
41b170:	ff 33                	push   (%ebx)
41b172:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
41b179:	e8 57 f5 01 00       	call   0x43a6d5
41b17e:	89 03                	mov    %eax,(%ebx)
41b180:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41b183:	8b 43 08             	mov    0x8(%ebx),%eax
41b186:	8d 73 10             	lea    0x10(%ebx),%esi
41b189:	33 05 14 50 45 00    	xor    0x455014,%eax
41b18f:	56                   	push   %esi
41b190:	50                   	push   %eax
41b191:	89 75 f0             	mov    %esi,-0x10(%ebp)
41b194:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b197:	e8 84 ff ff ff       	call   0x41b120
41b19c:	ff 75 10             	push   0x10(%ebp)
41b19f:	e8 58 31 00 00       	call   0x41e2fc
41b1a4:	8b 45 08             	mov    0x8(%ebp),%eax
41b1a7:	83 c4 10             	add    $0x10,%esp
41b1aa:	8b 7b 0c             	mov    0xc(%ebx),%edi
41b1ad:	f6 40 04 66          	testb  $0x66,0x4(%eax)
41b1b1:	75 5a                	jne    0x41b20d
41b1b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b1b6:	8b 45 10             	mov    0x10(%ebp),%eax
41b1b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
41b1bc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b1bf:	89 43 fc             	mov    %eax,-0x4(%ebx)
41b1c2:	83 ff fe             	cmp    $0xfffffffe,%edi
41b1c5:	74 69                	je     0x41b230
41b1c7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b1ca:	8d 47 02             	lea    0x2(%edi),%eax
41b1cd:	8d 04 47             	lea    (%edi,%eax,2),%eax
41b1d0:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
41b1d3:	8d 04 81             	lea    (%ecx,%eax,4),%eax
41b1d6:	8b 48 04             	mov    0x4(%eax),%ecx
41b1d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b1dc:	85 c9                	test   %ecx,%ecx
41b1de:	74 14                	je     0x41b1f4
41b1e0:	8b d6                	mov    %esi,%edx
41b1e2:	e8 39 32 00 00       	call   0x41e420
41b1e7:	b1 01                	mov    $0x1,%cl
41b1e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
41b1ec:	85 c0                	test   %eax,%eax
41b1ee:	78 14                	js     0x41b204
41b1f0:	7f 48                	jg     0x41b23a
41b1f2:	eb 03                	jmp    0x41b1f7
41b1f4:	8a 4d ff             	mov    -0x1(%ebp),%cl
41b1f7:	8b fb                	mov    %ebx,%edi
41b1f9:	83 fb fe             	cmp    $0xfffffffe,%ebx
41b1fc:	75 c9                	jne    0x41b1c7
41b1fe:	84 c9                	test   %cl,%cl
41b200:	74 2e                	je     0x41b230
41b202:	eb 20                	jmp    0x41b224
41b204:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
41b20b:	eb 17                	jmp    0x41b224
41b20d:	83 ff fe             	cmp    $0xfffffffe,%edi
41b210:	74 1e                	je     0x41b230
41b212:	68 14 50 45 00       	push   $0x455014
41b217:	56                   	push   %esi
41b218:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
41b21d:	8b cb                	mov    %ebx,%ecx
41b21f:	e8 5c 32 00 00       	call   0x41e480
41b224:	56                   	push   %esi
41b225:	ff 75 f8             	push   -0x8(%ebp)
41b228:	e8 f3 fe ff ff       	call   0x41b120
41b22d:	83 c4 08             	add    $0x8,%esp
41b230:	8b 45 f4             	mov    -0xc(%ebp),%eax
41b233:	5f                   	pop    %edi
41b234:	5e                   	pop    %esi
41b235:	5b                   	pop    %ebx
41b236:	8b e5                	mov    %ebp,%esp
41b238:	5d                   	pop    %ebp
41b239:	c3                   	ret
41b23a:	8b 45 08             	mov    0x8(%ebp),%eax
41b23d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
41b243:	75 38                	jne    0x41b27d
41b245:	83 3d 40 f8 43 00 00 	cmpl   $0x0,0x43f840
41b24c:	74 2f                	je     0x41b27d
41b24e:	68 40 f8 43 00       	push   $0x43f840
41b253:	e8 68 ee 01 00       	call   0x43a0c0
41b258:	83 c4 04             	add    $0x4,%esp
41b25b:	85 c0                	test   %eax,%eax
41b25d:	74 1b                	je     0x41b27a
41b25f:	8b 35 40 f8 43 00    	mov    0x43f840,%esi
41b265:	8b ce                	mov    %esi,%ecx
41b267:	6a 01                	push   $0x1
41b269:	ff 75 08             	push   0x8(%ebp)
41b26c:	ff 15 5c e2 43 00    	call   *0x43e25c
41b272:	ff d6                	call   *%esi
41b274:	8b 75 f0             	mov    -0x10(%ebp),%esi
41b277:	83 c4 08             	add    $0x8,%esp
41b27a:	8b 45 08             	mov    0x8(%ebp),%eax
41b27d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b280:	8b d0                	mov    %eax,%edx
41b282:	e8 d9 31 00 00       	call   0x41e460
41b287:	8b 45 0c             	mov    0xc(%ebp),%eax
41b28a:	39 78 0c             	cmp    %edi,0xc(%eax)
41b28d:	74 12                	je     0x41b2a1
41b28f:	68 14 50 45 00       	push   $0x455014
41b294:	56                   	push   %esi
41b295:	8b d7                	mov    %edi,%edx
41b297:	8b c8                	mov    %eax,%ecx
41b299:	e8 e2 31 00 00       	call   0x41e480
41b29e:	8b 45 0c             	mov    0xc(%ebp),%eax
41b2a1:	56                   	push   %esi
41b2a2:	ff 75 f8             	push   -0x8(%ebp)
41b2a5:	89 58 0c             	mov    %ebx,0xc(%eax)
41b2a8:	e8 73 fe ff ff       	call   0x41b120
41b2ad:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41b2b0:	83 c4 08             	add    $0x8,%esp
41b2b3:	8b d6                	mov    %esi,%edx
41b2b5:	8b 49 08             	mov    0x8(%ecx),%ecx
41b2b8:	e8 83 31 00 00       	call   0x41e440
41b2bd:	cc                   	int3
41b2be:	55                   	push   %ebp
41b2bf:	8b ec                	mov    %esp,%ebp
41b2c1:	57                   	push   %edi
41b2c2:	8b 7d 08             	mov    0x8(%ebp),%edi
41b2c5:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41b2c9:	74 48                	je     0x41b313
41b2cb:	8b 0f                	mov    (%edi),%ecx
41b2cd:	85 c9                	test   %ecx,%ecx
41b2cf:	74 42                	je     0x41b313
41b2d1:	8d 51 01             	lea    0x1(%ecx),%edx
41b2d4:	8a 01                	mov    (%ecx),%al
41b2d6:	41                   	inc    %ecx
41b2d7:	84 c0                	test   %al,%al
41b2d9:	75 f9                	jne    0x41b2d4
41b2db:	2b ca                	sub    %edx,%ecx
41b2dd:	53                   	push   %ebx
41b2de:	56                   	push   %esi
41b2df:	8d 59 01             	lea    0x1(%ecx),%ebx
41b2e2:	53                   	push   %ebx
41b2e3:	e8 76 87 00 00       	call   0x423a5e
41b2e8:	8b f0                	mov    %eax,%esi
41b2ea:	59                   	pop    %ecx
41b2eb:	85 f6                	test   %esi,%esi
41b2ed:	74 19                	je     0x41b308
41b2ef:	ff 37                	push   (%edi)
41b2f1:	53                   	push   %ebx
41b2f2:	56                   	push   %esi
41b2f3:	e8 41 86 00 00       	call   0x423939
41b2f8:	8b 45 0c             	mov    0xc(%ebp),%eax
41b2fb:	8b ce                	mov    %esi,%ecx
41b2fd:	83 c4 0c             	add    $0xc,%esp
41b300:	33 f6                	xor    %esi,%esi
41b302:	89 08                	mov    %ecx,(%eax)
41b304:	c6 40 04 01          	movb   $0x1,0x4(%eax)
41b308:	56                   	push   %esi
41b309:	e8 35 87 00 00       	call   0x423a43
41b30e:	59                   	pop    %ecx
41b30f:	5e                   	pop    %esi
41b310:	5b                   	pop    %ebx
41b311:	eb 0b                	jmp    0x41b31e
41b313:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b316:	8b 07                	mov    (%edi),%eax
41b318:	89 01                	mov    %eax,(%ecx)
41b31a:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
41b31e:	5f                   	pop    %edi
41b31f:	5d                   	pop    %ebp
41b320:	c3                   	ret
41b321:	55                   	push   %ebp
41b322:	8b ec                	mov    %esp,%ebp
41b324:	56                   	push   %esi
41b325:	8b 75 08             	mov    0x8(%ebp),%esi
41b328:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b32c:	74 08                	je     0x41b336
41b32e:	ff 36                	push   (%esi)
41b330:	e8 0e 87 00 00       	call   0x423a43
41b335:	59                   	pop    %ecx
41b336:	83 26 00             	andl   $0x0,(%esi)
41b339:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b33d:	5e                   	pop    %esi
41b33e:	5d                   	pop    %ebp
41b33f:	c3                   	ret
41b340:	55                   	push   %ebp
41b341:	8b ec                	mov    %esp,%ebp
41b343:	8b 45 08             	mov    0x8(%ebp),%eax
41b346:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b349:	3b c1                	cmp    %ecx,%eax
41b34b:	75 04                	jne    0x41b351
41b34d:	33 c0                	xor    %eax,%eax
41b34f:	5d                   	pop    %ebp
41b350:	c3                   	ret
41b351:	83 c1 05             	add    $0x5,%ecx
41b354:	83 c0 05             	add    $0x5,%eax
41b357:	8a 10                	mov    (%eax),%dl