41af9f:	e8 03 eb ff ff       	call   0x419aa7
41afa4:	8b 7d 90             	mov    -0x70(%ebp),%edi
41afa7:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41afab:	b9 cc 45 49 00       	mov    $0x4945cc,%ecx
41afb0:	75 03                	jne    0x41afb5
41afb2:	8b 4f 08             	mov    0x8(%edi),%ecx
41afb5:	50                   	push   %eax
41afb6:	56                   	push   %esi
41afb7:	51                   	push   %ecx
41afb8:	e8 09 96 fe ff       	call   0x4045c6
41afbd:	89 43 08             	mov    %eax,0x8(%ebx)
41afc0:	8d 45 c0             	lea    -0x40(%ebp),%eax
41afc3:	50                   	push   %eax
41afc4:	56                   	push   %esi
41afc5:	68 80 45 49 00       	push   $0x494580
41afca:	e8 38 96 fe ff       	call   0x404607
41afcf:	89 43 10             	mov    %eax,0x10(%ebx)
41afd2:	8d 45 c0             	lea    -0x40(%ebp),%eax
41afd5:	50                   	push   %eax
41afd6:	56                   	push   %esi
41afd7:	68 88 45 49 00       	push   $0x494588
41afdc:	e8 26 96 fe ff       	call   0x404607
41afe1:	83 c4 24             	add    $0x24,%esp
41afe4:	89 43 14             	mov    %eax,0x14(%ebx)
41afe7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41afeb:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41afef:	74 2b                	je     0x41b01c
41aff1:	8d 45 c0             	lea    -0x40(%ebp),%eax
41aff4:	50                   	push   %eax
41aff5:	56                   	push   %esi
41aff6:	6a 2e                	push   $0x2e
41aff8:	e8 98 95 fe ff       	call   0x404595
41affd:	66 89 43 0c          	mov    %ax,0xc(%ebx)
41b001:	8d 45 c0             	lea    -0x40(%ebp),%eax
41b004:	50                   	push   %eax
41b005:	56                   	push   %esi
41b006:	6a 2c                	push   $0x2c
41b008:	e8 88 95 fe ff       	call   0x404595
41b00d:	83 c4 18             	add    $0x18,%esp
41b010:	66 89 43 0e          	mov    %ax,0xe(%ebx)
41b014:	e8 20 4a 02 00       	call   0x43fa39
41b019:	c2 08 00             	ret    $0x8
41b01c:	8b 47 30             	mov    0x30(%edi),%eax
41b01f:	66 8b 00             	mov    (%eax),%ax
41b022:	66 89 43 0c          	mov    %ax,0xc(%ebx)
41b026:	8b 47 34             	mov    0x34(%edi),%eax
41b029:	66 8b 00             	mov    (%eax),%ax
41b02c:	eb e2                	jmp    0x41b010
41b02e:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
41b031:	e8 f9 1f 00 00       	call   0x41d02f
41b036:	33 f6                	xor    %esi,%esi
41b038:	56                   	push   %esi
41b039:	56                   	push   %esi
41b03a:	e8 83 91 02 00       	call   0x4441c2
41b03f:	cc                   	int3
41b040:	55                   	push   %ebp
41b041:	8b ec                	mov    %esp,%ebp
41b043:	56                   	push   %esi
41b044:	8b f1                	mov    %ecx,%esi
41b046:	57                   	push   %edi
41b047:	33 ff                	xor    %edi,%edi
41b049:	39 7e 08             	cmp    %edi,0x8(%esi)
41b04c:	74 09                	je     0x41b057
41b04e:	e8 89 cc ff ff       	call   0x417cdc
41b053:	8b f8                	mov    %eax,%edi
41b055:	eb 1b                	jmp    0x41b072
41b057:	e8 cf fc ff ff       	call   0x41ad2b
41b05c:	84 c0                	test   %al,%al
41b05e:	74 12                	je     0x41b072
41b060:	8b 45 08             	mov    0x8(%ebp),%eax
41b063:	8d 7e 4c             	lea    0x4c(%esi),%edi
41b066:	89 07                	mov    %eax,(%edi)
41b068:	8b 45 0c             	mov    0xc(%ebp),%eax
41b06b:	c6 46 54 01          	movb   $0x1,0x54(%esi)
41b06f:	89 46 50             	mov    %eax,0x50(%esi)
41b072:	89 7e 48             	mov    %edi,0x48(%esi)
41b075:	5f                   	pop    %edi
41b076:	5e                   	pop    %esi
41b077:	5d                   	pop    %ebp
41b078:	c2 08 00             	ret    $0x8
41b07b:	53                   	push   %ebx
41b07c:	33 db                	xor    %ebx,%ebx
41b07e:	56                   	push   %esi
41b07f:	8b f1                	mov    %ecx,%esi
41b081:	57                   	push   %edi
41b082:	53                   	push   %ebx
41b083:	53                   	push   %ebx
41b084:	89 5e 30             	mov    %ebx,0x30(%esi)
41b087:	89 5e 08             	mov    %ebx,0x8(%esi)
41b08a:	89 5e 10             	mov    %ebx,0x10(%esi)
41b08d:	c7 46 14 01 02 00 00 	movl   $0x201,0x14(%esi)
41b094:	c7 46 18 06 00 00 00 	movl   $0x6,0x18(%esi)
41b09b:	89 5e 1c             	mov    %ebx,0x1c(%esi)
41b09e:	89 5e 20             	mov    %ebx,0x20(%esi)
41b0a1:	89 5e 24             	mov    %ebx,0x24(%esi)
41b0a4:	89 5e 28             	mov    %ebx,0x28(%esi)
41b0a7:	89 5e 2c             	mov    %ebx,0x2c(%esi)
41b0aa:	e8 9a 48 00 00       	call   0x41f949
41b0af:	6a 08                	push   $0x8
41b0b1:	e8 ed 41 02 00       	call   0x43f2a3
41b0b6:	8b f8                	mov    %eax,%edi
41b0b8:	59                   	pop    %ecx
41b0b9:	85 ff                	test   %edi,%edi
41b0bb:	74 0d                	je     0x41b0ca
41b0bd:	6a 01                	push   $0x1
41b0bf:	e8 74 b8 00 00       	call   0x426938
41b0c4:	59                   	pop    %ecx
41b0c5:	89 47 04             	mov    %eax,0x4(%edi)
41b0c8:	eb 02                	jmp    0x41b0cc
41b0ca:	8b fb                	mov    %ebx,%edi
41b0cc:	89 7e 30             	mov    %edi,0x30(%esi)
41b0cf:	5f                   	pop    %edi
41b0d0:	5e                   	pop    %esi
41b0d1:	5b                   	pop    %ebx
41b0d2:	c3                   	ret
41b0d3:	55                   	push   %ebp
41b0d4:	8b ec                	mov    %esp,%ebp
41b0d6:	56                   	push   %esi
41b0d7:	8b f1                	mov    %ecx,%esi
41b0d9:	8b 56 04             	mov    0x4(%esi),%edx
41b0dc:	39 16                	cmp    %edx,(%esi)
41b0de:	77 0c                	ja     0x41b0ec
41b0e0:	8d 42 10             	lea    0x10(%edx),%eax
41b0e3:	50                   	push   %eax
41b0e4:	e8 6b e5 ff ff       	call   0x419654
41b0e9:	8b 56 04             	mov    0x4(%esi),%edx
41b0ec:	8b 4e 08             	mov    0x8(%esi),%ecx
41b0ef:	8a 45 08             	mov    0x8(%ebp),%al
41b0f2:	88 04 0a             	mov    %al,(%edx,%ecx,1)
41b0f5:	ff 46 04             	incl   0x4(%esi)
41b0f8:	5e                   	pop    %esi
41b0f9:	5d                   	pop    %ebp
41b0fa:	c2 04 00             	ret    $0x4
41b0fd:	55                   	push   %ebp
41b0fe:	8b ec                	mov    %esp,%ebp
41b100:	56                   	push   %esi
41b101:	8b f1                	mov    %ecx,%esi
41b103:	8b 56 04             	mov    0x4(%esi),%edx
41b106:	39 16                	cmp    %edx,(%esi)
41b108:	77 0c                	ja     0x41b116
41b10a:	8d 42 10             	lea    0x10(%edx),%eax
41b10d:	50                   	push   %eax
41b10e:	e8 6b e5 ff ff       	call   0x41967e
41b113:	8b 56 04             	mov    0x4(%esi),%edx
41b116:	8b 4e 08             	mov    0x8(%esi),%ecx
41b119:	66 8b 45 08          	mov    0x8(%ebp),%ax
41b11d:	66 89 04 51          	mov    %ax,(%ecx,%edx,2)
41b121:	ff 46 04             	incl   0x4(%esi)
41b124:	5e                   	pop    %esi
41b125:	5d                   	pop    %ebp
41b126:	c2 04 00             	ret    $0x4
41b129:	55                   	push   %ebp
41b12a:	8b ec                	mov    %esp,%ebp
41b12c:	51                   	push   %ecx
41b12d:	51                   	push   %ecx
41b12e:	56                   	push   %esi
41b12f:	ff 75 14             	push   0x14(%ebp)
41b132:	8b f1                	mov    %ecx,%esi
41b134:	ff 75 10             	push   0x10(%ebp)
41b137:	ff 75 0c             	push   0xc(%ebp)
41b13a:	e8 40 00 00 00       	call   0x41b17f
41b13f:	8b 0e                	mov    (%esi),%ecx
41b141:	8b 75 08             	mov    0x8(%ebp),%esi
41b144:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b148:	50                   	push   %eax
41b149:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b14c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41b14f:	56                   	push   %esi
41b150:	e8 9b 4e ff ff       	call   0x40fff0
41b155:	ff 75 14             	push   0x14(%ebp)
41b158:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b15b:	8b ce                	mov    %esi,%ecx
41b15d:	50                   	push   %eax
41b15e:	e8 8d 4e ff ff       	call   0x40fff0
41b163:	ff 75 18             	push   0x18(%ebp)
41b166:	ff 70 04             	push   0x4(%eax)
41b169:	ff 30                	push   (%eax)
41b16b:	ff 76 04             	push   0x4(%esi)
41b16e:	ff 36                	push   (%esi)
41b170:	e8 08 c2 fe ff       	call   0x40737d
41b175:	83 c4 14             	add    $0x14,%esp
41b178:	8b c6                	mov    %esi,%eax
41b17a:	5e                   	pop    %esi
41b17b:	c9                   	leave
41b17c:	c2 14 00             	ret    $0x14
41b17f:	55                   	push   %ebp
41b180:	8b ec                	mov    %esp,%ebp
41b182:	83 ec 24             	sub    $0x24,%esp
41b185:	56                   	push   %esi
41b186:	8b 75 08             	mov    0x8(%ebp),%esi
41b189:	57                   	push   %edi
41b18a:	8b f9                	mov    %ecx,%edi
41b18c:	8b 4d 10             	mov    0x10(%ebp),%ecx
41b18f:	89 7d f0             	mov    %edi,-0x10(%ebp)
41b192:	2b 37                	sub    (%edi),%esi
41b194:	c1 fe 02             	sar    $0x2,%esi
41b197:	c1 e6 05             	shl    $0x5,%esi
41b19a:	03 75 0c             	add    0xc(%ebp),%esi
41b19d:	89 75 fc             	mov    %esi,-0x4(%ebp)
41b1a0:	85 c9                	test   %ecx,%ecx
41b1a2:	0f 84 94 00 00 00    	je     0x41b23c
41b1a8:	8b 57 0c             	mov    0xc(%edi),%edx
41b1ab:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41b1b0:	2b c2                	sub    %edx,%eax
41b1b2:	3b c1                	cmp    %ecx,%eax
41b1b4:	0f 82 8a 00 00 00    	jb     0x41b244
41b1ba:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41b1be:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b1c1:	50                   	push   %eax
41b1c2:	8d 41 1f             	lea    0x1f(%ecx),%eax
41b1c5:	8b cf                	mov    %edi,%ecx
41b1c7:	03 c2                	add    %edx,%eax
41b1c9:	57                   	push   %edi
41b1ca:	c1 e8 05             	shr    $0x5,%eax
41b1cd:	50                   	push   %eax
41b1ce:	e8 0a ac fe ff       	call   0x405ddd
41b1d3:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41b1d7:	75 08                	jne    0x41b1e1
41b1d9:	8b 4d 10             	mov    0x10(%ebp),%ecx
41b1dc:	89 4f 0c             	mov    %ecx,0xc(%edi)
41b1df:	eb 5b                	jmp    0x41b23c
41b1e1:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b1e4:	8b cf                	mov    %edi,%ecx
41b1e6:	50                   	push   %eax
41b1e7:	e8 e5 59 00 00       	call   0x420bd1
41b1ec:	8b 47 0c             	mov    0xc(%edi),%eax
41b1ef:	8b cf                	mov    %edi,%ecx
41b1f1:	03 45 10             	add    0x10(%ebp),%eax
41b1f4:	89 47 0c             	mov    %eax,0xc(%edi)
41b1f7:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b1fa:	50                   	push   %eax
41b1fb:	e8 d1 59 00 00       	call   0x420bd1
41b200:	ff 75 fc             	push   -0x4(%ebp)
41b203:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41b206:	8b 38                	mov    (%eax),%edi
41b208:	8b 70 04             	mov    0x4(%eax),%esi
41b20b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41b20e:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41b212:	8b 00                	mov    (%eax),%eax
41b214:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b217:	8d 45 dc             	lea    -0x24(%ebp),%eax
41b21a:	50                   	push   %eax
41b21b:	e8 d0 4d ff ff       	call   0x40fff0
41b220:	56                   	push   %esi
41b221:	57                   	push   %edi
41b222:	ff 75 f8             	push   -0x8(%ebp)
41b225:	ff 75 f4             	push   -0xc(%ebp)
41b228:	ff 70 04             	push   0x4(%eax)
41b22b:	ff 30                	push   (%eax)
41b22d:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b230:	50                   	push   %eax
41b231:	e8 7a ba fe ff       	call   0x406cb0
41b236:	8b 75 fc             	mov    -0x4(%ebp),%esi
41b239:	83 c4 1c             	add    $0x1c,%esp
41b23c:	5f                   	pop    %edi
41b23d:	8b c6                	mov    %esi,%eax
41b23f:	5e                   	pop    %esi
41b240:	c9                   	leave
41b241:	c2 0c 00             	ret    $0xc
41b244:	8b cf                	mov    %edi,%ecx
41b246:	e8 cc 24 00 00       	call   0x41d717
41b24b:	cc                   	int3
41b24c:	6a 10                	push   $0x10
41b24e:	b8 fc f7 48 00       	mov    $0x48f7fc,%eax
41b253:	e8 5d 48 02 00       	call   0x43fab5
41b258:	8b f1                	mov    %ecx,%esi
41b25a:	89 75 ec             	mov    %esi,-0x14(%ebp)
41b25d:	8b 06                	mov    (%esi),%eax
41b25f:	8b 48 04             	mov    0x4(%eax),%ecx
41b262:	83 7c 31 0c 00       	cmpl   $0x0,0xc(%ecx,%esi,1)
41b267:	0f 85 f8 00 00 00    	jne    0x41b365
41b26d:	8b 4c 31 3c          	mov    0x3c(%ecx,%esi,1),%ecx
41b271:	85 c9                	test   %ecx,%ecx
41b273:	74 07                	je     0x41b27c
41b275:	e8 3b 5d 00 00       	call   0x420fb5
41b27a:	8b 06                	mov    (%esi),%eax
41b27c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41b280:	0f 85 cf 00 00 00    	jne    0x41b355
41b286:	8b 48 04             	mov    0x4(%eax),%ecx
41b289:	03 ce                	add    %esi,%ecx
41b28b:	f6 41 14 01          	testb  $0x1,0x14(%ecx)
41b28f:	0f 84 c0 00 00 00    	je     0x41b355
41b295:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b298:	50                   	push   %eax
41b299:	e8 78 6a 00 00       	call   0x421d16
41b29e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b2a2:	50                   	push   %eax
41b2a3:	e8 ba da fe ff       	call   0x408d62
41b2a8:	59                   	pop    %ecx
41b2a9:	8b f8                	mov    %eax,%edi
41b2ab:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b2af:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41b2b2:	e8 30 41 ff ff       	call   0x40f3e7
41b2b7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41b2be:	8b 06                	mov    (%esi),%eax
41b2c0:	8b 40 04             	mov    0x4(%eax),%eax
41b2c3:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
41b2c7:	e8 6c 79 00 00       	call   0x422c38
41b2cc:	0f b7 c8             	movzwl %ax,%ecx
41b2cf:	b8 ff ff 00 00       	mov    $0xffff,%eax
41b2d4:	66 3b c1             	cmp    %cx,%ax
41b2d7:	75 23                	jne    0x41b2fc
41b2d9:	8b 06                	mov    (%esi),%eax
41b2db:	8b 48 04             	mov    0x4(%eax),%ecx
41b2de:	03 ce                	add    %esi,%ecx
41b2e0:	8b 51 0c             	mov    0xc(%ecx),%edx
41b2e3:	83 ca 01             	or     $0x1,%edx
41b2e6:	6a 00                	push   $0x0
41b2e8:	8b c2                	mov    %edx,%eax
41b2ea:	83 c8 04             	or     $0x4,%eax
41b2ed:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
41b2f1:	0f 44 d0             	cmove  %eax,%edx
41b2f4:	52                   	push   %edx
41b2f5:	e8 4f 46 00 00       	call   0x41f949
41b2fa:	eb 10                	jmp    0x41b30c
41b2fc:	8b 07                	mov    (%edi),%eax
41b2fe:	8b 40 10             	mov    0x10(%eax),%eax
41b301:	51                   	push   %ecx
41b302:	6a 48                	push   $0x48
41b304:	8b cf                	mov    %edi,%ecx
41b306:	ff d0                	call   *%eax
41b308:	84 c0                	test   %al,%al
41b30a:	75 06                	jne    0x41b312
41b30c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b310:	eb 43                	jmp    0x41b355
41b312:	8b 06                	mov    (%esi),%eax
41b314:	8b 40 04             	mov    0x4(%eax),%eax
41b317:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
41b31b:	e8 6f 79 00 00       	call   0x422c8f
41b320:	eb aa                	jmp    0x41b2cc
41b322:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41b325:	8b 01                	mov    (%ecx),%eax
41b327:	8b 70 04             	mov    0x4(%eax),%esi
41b32a:	03 f1                	add    %ecx,%esi
41b32c:	8b 56 0c             	mov    0xc(%esi),%edx
41b32f:	83 ca 04             	or     $0x4,%edx
41b332:	6a 01                	push   $0x1
41b334:	8b c2                	mov    %edx,%eax
41b336:	83 c8 04             	or     $0x4,%eax
41b339:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
41b33d:	0f 44 d0             	cmove  %eax,%edx
41b340:	52                   	push   %edx
41b341:	8b ce                	mov    %esi,%ecx
41b343:	e8 01 46 00 00       	call   0x41f949
41b348:	b8 4e b3 41 00       	mov    $0x41b34e,%eax
41b34d:	c3                   	ret
41b34e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b352:	8b 75 ec             	mov    -0x14(%ebp),%esi
41b355:	8b 06                	mov    (%esi),%eax
41b357:	8b 48 04             	mov    0x4(%eax),%ecx