41bf78:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
41bf7f:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
41bf86:	89 4f 1c             	mov    %ecx,0x1c(%edi)
41bf89:	89 5f 20             	mov    %ebx,0x20(%edi)
41bf8c:	c7 47 24 01 00 00 00 	movl   $0x1,0x24(%edi)
41bf93:	85 c9                	test   %ecx,%ecx
41bf95:	74 10                	je     0x41bfa7
41bf97:	8b 01                	mov    (%ecx),%eax
41bf99:	51                   	push   %ecx
41bf9a:	8b 70 04             	mov    0x4(%eax),%esi
41bf9d:	8b ce                	mov    %esi,%ecx
41bf9f:	ff 15 c4 12 45 00    	call   *0x4512c4
41bfa5:	ff d6                	call   *%esi
41bfa7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41bfae:	8d 47 3c             	lea    0x3c(%edi),%eax
41bfb1:	6a 00                	push   $0x0
41bfb3:	50                   	push   %eax
41bfb4:	c7 07 a4 19 40 00    	movl   $0x4019a4,(%edi)
41bfba:	c7 47 04 90 19 40 00 	movl   $0x401990,0x4(%edi)
41bfc1:	c7 47 08 60 19 40 00 	movl   $0x401960,0x8(%edi)
41bfc8:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
41bfcf:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
41bfd6:	c7 47 30 01 00 00 00 	movl   $0x1,0x30(%edi)
41bfdd:	89 5f 34             	mov    %ebx,0x34(%edi)
41bfe0:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
41bfe7:	ff 15 50 11 45 00    	call   *0x451150
41bfed:	85 c0                	test   %eax,%eax
41bfef:	74 60                	je     0x41c051
41bff1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41bff5:	8b 45 10             	mov    0x10(%ebp),%eax
41bff8:	89 47 54             	mov    %eax,0x54(%edi)
41bffb:	c7 47 58 00 00 00 00 	movl   $0x0,0x58(%edi)
41c002:	85 c0                	test   %eax,%eax
41c004:	74 17                	je     0x41c01d
41c006:	8b 08                	mov    (%eax),%ecx
41c008:	50                   	push   %eax
41c009:	8b 71 04             	mov    0x4(%ecx),%esi
41c00c:	81 fe 50 51 41 00    	cmp    $0x415150,%esi
41c012:	0f 85 6d 00 01 00    	jne    0x42c085
41c018:	e8 33 91 ff ff       	call   0x415150
41c01d:	8b 4f 34             	mov    0x34(%edi),%ecx
41c020:	85 c9                	test   %ecx,%ecx
41c022:	74 10                	je     0x41c034
41c024:	8b 01                	mov    (%ecx),%eax
41c026:	51                   	push   %ecx
41c027:	8b 70 04             	mov    0x4(%eax),%esi
41c02a:	8b ce                	mov    %esi,%ecx
41c02c:	ff 15 c4 12 45 00    	call   *0x4512c4
41c032:	ff d6                	call   *%esi
41c034:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c03b:	8b c7                	mov    %edi,%eax
41c03d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c040:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c047:	59                   	pop    %ecx
41c048:	5f                   	pop    %edi
41c049:	5e                   	pop    %esi
41c04a:	5b                   	pop    %ebx
41c04b:	8b e5                	mov    %ebp,%esp
41c04d:	5d                   	pop    %ebp
41c04e:	c2 14 00             	ret    $0x14
41c051:	ff 15 a8 12 45 00    	call   *0x4512a8
41c057:	eb 98                	jmp    0x41bff1
41c059:	8b ff                	mov    %edi,%edi
41c05b:	55                   	push   %ebp
41c05c:	8b ec                	mov    %esp,%ebp
41c05e:	6a ff                	push   $0xffffffff
41c060:	68 57 37 42 00       	push   $0x423757
41c065:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c06b:	50                   	push   %eax
41c06c:	51                   	push   %ecx
41c06d:	56                   	push   %esi
41c06e:	a1 54 02 45 00       	mov    0x450254,%eax
41c073:	33 c5                	xor    %ebp,%eax
41c075:	50                   	push   %eax
41c076:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c079:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c07f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41c082:	8d 71 08             	lea    0x8(%ecx),%esi
41c085:	c7 01 a4 19 40 00    	movl   $0x4019a4,(%ecx)
41c08b:	c7 41 04 90 19 40 00 	movl   $0x401990,0x4(%ecx)
41c092:	c7 06 60 19 40 00    	movl   $0x401960,(%esi)
41c098:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c09c:	83 c1 3c             	add    $0x3c,%ecx
41c09f:	e8 e9 8f ff ff       	call   0x41508d
41c0a4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0a8:	8b ce                	mov    %esi,%ecx
41c0aa:	e8 81 8f ff ff       	call   0x415030
41c0af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c0b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c0b9:	59                   	pop    %ecx
41c0ba:	5e                   	pop    %esi
41c0bb:	c9                   	leave
41c0bc:	c3                   	ret
41c0bd:	cc                   	int3
41c0be:	cc                   	int3
41c0bf:	cc                   	int3
41c0c0:	8b ff                	mov    %edi,%edi
41c0c2:	55                   	push   %ebp
41c0c3:	8b ec                	mov    %esp,%ebp
41c0c5:	6a ff                	push   $0xffffffff
41c0c7:	68 48 39 42 00       	push   $0x423948
41c0cc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41c0d2:	50                   	push   %eax
41c0d3:	83 ec 60             	sub    $0x60,%esp
41c0d6:	a1 54 02 45 00       	mov    0x450254,%eax
41c0db:	33 c5                	xor    %ebp,%eax
41c0dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c0e0:	53                   	push   %ebx
41c0e1:	56                   	push   %esi
41c0e2:	57                   	push   %edi
41c0e3:	50                   	push   %eax
41c0e4:	8d 45 f4             	lea    -0xc(%ebp),%eax
41c0e7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41c0ed:	89 4d a8             	mov    %ecx,-0x58(%ebp)
41c0f0:	8b 7d 10             	mov    0x10(%ebp),%edi
41c0f3:	33 f6                	xor    %esi,%esi
41c0f5:	8b 45 08             	mov    0x8(%ebp),%eax
41c0f8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c0fb:	57                   	push   %edi
41c0fc:	89 45 9c             	mov    %eax,-0x64(%ebp)
41c0ff:	89 5d bc             	mov    %ebx,-0x44(%ebp)
41c102:	89 7d 98             	mov    %edi,-0x68(%ebp)
41c105:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c108:	ff 15 04 30 45 00    	call   *0x453004
41c10e:	83 f8 01             	cmp    $0x1,%eax
41c111:	0f 85 3a 0e 01 00    	jne    0x42cf51
41c117:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41c11a:	50                   	push   %eax
41c11b:	6a 01                	push   $0x1
41c11d:	57                   	push   %edi
41c11e:	ff 15 08 30 45 00    	call   *0x453008
41c124:	8d 45 ac             	lea    -0x54(%ebp),%eax
41c127:	50                   	push   %eax
41c128:	6a 01                	push   $0x1
41c12a:	57                   	push   %edi
41c12b:	ff 15 14 30 45 00    	call   *0x453014
41c131:	ff 75 ac             	push   -0x54(%ebp)
41c134:	8b 55 c4             	mov    -0x3c(%ebp),%edx
41c137:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41c13a:	e8 32 03 00 00       	call   0x41c471
41c13f:	8b 38                	mov    (%eax),%edi
41c141:	8b c7                	mov    %edi,%eax
41c143:	83 f0 01             	xor    $0x1,%eax
41c146:	7c 10                	jl     0x41c158
41c148:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41c14d:	2b c7                	sub    %edi,%eax
41c14f:	83 f8 01             	cmp    $0x1,%eax
41c152:	0f 8c fb 0c 01 00    	jl     0x42ce53
41c158:	8b 45 9c             	mov    -0x64(%ebp),%eax
41c15b:	83 c7 01             	add    $0x1,%edi
41c15e:	89 33                	mov    %esi,(%ebx)
41c160:	89 38                	mov    %edi,(%eax)
41c162:	0f 84 3c 02 00 00    	je     0x41c3a4
41c168:	33 c9                	xor    %ecx,%ecx
41c16a:	8b c7                	mov    %edi,%eax
41c16c:	ba 04 00 00 00       	mov    $0x4,%edx
41c171:	f7 e2                	mul    %edx
41c173:	0f 90 c1             	seto   %cl
41c176:	f7 d9                	neg    %ecx
41c178:	0b c8                	or     %eax,%ecx
41c17a:	a1 80 0b 45 00       	mov    0x450b80,%eax
41c17f:	8b 50 08             	mov    0x8(%eax),%edx
41c182:	8b 40 04             	mov    0x4(%eax),%eax
41c185:	83 e2 05             	and    $0x5,%edx
41c188:	83 ca 08             	or     $0x8,%edx
41c18b:	85 c0                	test   %eax,%eax
41c18d:	0f 84 db 0c 01 00    	je     0x42ce6e
41c193:	51                   	push   %ecx
41c194:	52                   	push   %edx
41c195:	50                   	push   %eax
41c196:	ff 15 78 10 45 00    	call   *0x451078
41c19c:	8b c8                	mov    %eax,%ecx
41c19e:	85 c9                	test   %ecx,%ecx
41c1a0:	0f 84 c2 0c 01 00    	je     0x42ce68
41c1a6:	89 0b                	mov    %ecx,(%ebx)
41c1a8:	85 c9                	test   %ecx,%ecx
41c1aa:	0f 84 97 0d 01 00    	je     0x42cf47
41c1b0:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
41c1b7:	50                   	push   %eax
41c1b8:	6a 00                	push   $0x0
41c1ba:	51                   	push   %ecx
41c1bb:	e8 b0 60 00 00       	call   0x422270
41c1c0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41c1c3:	83 c4 0c             	add    $0xc,%esp
41c1c6:	89 45 b0             	mov    %eax,-0x50(%ebp)
41c1c9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41c1d0:	8b 55 ac             	mov    -0x54(%ebp),%edx
41c1d3:	3b c2                	cmp    %edx,%eax
41c1d5:	0f 8f c1 01 00 00    	jg     0x41c39c
41c1db:	8d 45 a0             	lea    -0x60(%ebp),%eax
41c1de:	50                   	push   %eax
41c1df:	8d 45 b0             	lea    -0x50(%ebp),%eax
41c1e2:	50                   	push   %eax
41c1e3:	ff 75 98             	push   -0x68(%ebp)
41c1e6:	ff 15 18 30 45 00    	call   *0x453018
41c1ec:	8b f0                	mov    %eax,%esi
41c1ee:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c1f1:	85 f6                	test   %esi,%esi
41c1f3:	0f 88 8f 01 00 00    	js     0x41c388
41c1f9:	c7 45 b4 78 1a 40 00 	movl   $0x401a78,-0x4c(%ebp)
41c200:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41c207:	8d 45 b8             	lea    -0x48(%ebp),%eax
41c20a:	50                   	push   %eax
41c20b:	68 68 6d 40 00       	push   $0x406d68
41c210:	6a 01                	push   $0x1
41c212:	6a 00                	push   $0x0
41c214:	68 78 6d 40 00       	push   $0x406d78
41c219:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
41c220:	ff 15 48 30 45 00    	call   *0x453048
41c226:	8b f0                	mov    %eax,%esi
41c228:	89 75 cc             	mov    %esi,-0x34(%ebp)
41c22b:	85 f6                	test   %esi,%esi
41c22d:	0f 88 3e 01 00 00    	js     0x41c371
41c233:	8b 5d b8             	mov    -0x48(%ebp),%ebx
41c236:	8b 45 a0             	mov    -0x60(%ebp),%eax
41c239:	89 45 c0             	mov    %eax,-0x40(%ebp)
41c23c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41c23f:	50                   	push   %eax
41c240:	8b 3b                	mov    (%ebx),%edi
41c242:	6a 07                	push   $0x7
41c244:	6a 00                	push   $0x0
41c246:	53                   	push   %ebx
41c247:	8b 7f 10             	mov    0x10(%edi),%edi
41c24a:	8b cf                	mov    %edi,%ecx
41c24c:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
41c253:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
41c25a:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
41c261:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
41c268:	c7 45 e4 08 00 00 00 	movl   $0x8,-0x1c(%ebp)
41c26f:	c7 45 e8 09 00 00 00 	movl   $0x9,-0x18(%ebp)
41c276:	c7 45 ec 1a 00 00 00 	movl   $0x1a,-0x14(%ebp)
41c27d:	ff 15 c4 12 45 00    	call   *0x4512c4
41c283:	ff d7                	call   *%edi
41c285:	85 c0                	test   %eax,%eax
41c287:	0f 88 45 0c 01 00    	js     0x42ced2
41c28d:	8b 3b                	mov    (%ebx),%edi
41c28f:	6a 00                	push   $0x0
41c291:	ff 75 c0             	push   -0x40(%ebp)
41c294:	8b 7f 18             	mov    0x18(%edi),%edi
41c297:	8b cf                	mov    %edi,%ecx
41c299:	68 88 6d 40 00       	push   $0x406d88
41c29e:	53                   	push   %ebx
41c29f:	ff 15 c4 12 45 00    	call   *0x4512c4
41c2a5:	ff d7                	call   *%edi
41c2a7:	85 c0                	test   %eax,%eax
41c2a9:	0f 88 23 0c 01 00    	js     0x42ced2
41c2af:	8b 4d a8             	mov    -0x58(%ebp),%ecx
41c2b2:	bb 04 00 00 00       	mov    $0x4,%ebx
41c2b7:	8b 45 b8             	mov    -0x48(%ebp),%eax
41c2ba:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
41c2c1:	89 45 c8             	mov    %eax,-0x38(%ebp)
41c2c4:	8b 49 48             	mov    0x48(%ecx),%ecx
41c2c7:	8b 38                	mov    (%eax),%edi
41c2c9:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
41c2cc:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41c2cf:	51                   	push   %ecx
41c2d0:	6a 00                	push   $0x0
41c2d2:	8b 7f 1c             	mov    0x1c(%edi),%edi
41c2d5:	8b cf                	mov    %edi,%ecx
41c2d7:	6a 01                	push   $0x1
41c2d9:	50                   	push   %eax
41c2da:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
41c2e1:	ff 15 c4 12 45 00    	call   *0x4512c4
41c2e7:	ff d7                	call   *%edi
41c2e9:	85 c0                	test   %eax,%eax
41c2eb:	0f 88 c8 0b 01 00    	js     0x42ceb9
41c2f1:	8b 45 c0             	mov    -0x40(%ebp),%eax
41c2f4:	8b 48 30             	mov    0x30(%eax),%ecx
41c2f7:	8b 50 34             	mov    0x34(%eax),%edx
41c2fa:	85 c9                	test   %ecx,%ecx
41c2fc:	0f 85 c2 00 00 00    	jne    0x41c3c4
41c302:	8b 7d d0             	mov    -0x30(%ebp),%edi
41c305:	85 ff                	test   %edi,%edi
41c307:	0f 85 e0 00 00 00    	jne    0x41c3ed
41c30d:	8d 45 d0             	lea    -0x30(%ebp),%eax
41c310:	50                   	push   %eax
41c311:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c314:	e8 10 01 00 00       	call   0x41c429
41c319:	8b d8                	mov    %eax,%ebx
41c31b:	83 fb 02             	cmp    $0x2,%ebx
41c31e:	0f 84 62 0b 01 00    	je     0x42ce86
41c324:	8b 7d d0             	mov    -0x30(%ebp),%edi
41c327:	85 ff                	test   %edi,%edi
41c329:	0f 85 db 00 00 00    	jne    0x41c40a
41c32f:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41c332:	ff 75 c0             	push   -0x40(%ebp)
41c335:	51                   	push   %ecx
41c336:	8b 01                	mov    (%ecx),%eax
41c338:	8b 78 20             	mov    0x20(%eax),%edi
41c33b:	8b cf                	mov    %edi,%ecx
41c33d:	ff 15 c4 12 45 00    	call   *0x4512c4
41c343:	ff d7                	call   *%edi
41c345:	85 db                	test   %ebx,%ebx
41c347:	0f 85 5e 0b 01 00    	jne    0x42ceab
41c34d:	8b 5d bc             	mov    -0x44(%ebp),%ebx
41c350:	8b 55 b0             	mov    -0x50(%ebp),%edx
41c353:	2b 55 c4             	sub    -0x3c(%ebp),%edx
41c356:	8b 45 d0             	mov    -0x30(%ebp),%eax
41c359:	8b 0b                	mov    (%ebx),%ecx
41c35b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41c35e:	8b 45 b8             	mov    -0x48(%ebp),%eax
41c361:	50                   	push   %eax
41c362:	8b 08                	mov    (%eax),%ecx
41c364:	8b 79 08             	mov    0x8(%ecx),%edi
41c367:	8b cf                	mov    %edi,%ecx
41c369:	ff 15 c4 12 45 00    	call   *0x4512c4
41c36f:	ff d7                	call   *%edi
41c371:	ff 75 a0             	push   -0x60(%ebp)
41c374:	ff 15 0c 30 45 00    	call   *0x45300c
41c37a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41c381:	c7 45 b4 78 1a 40 00 	movl   $0x401a78,-0x4c(%ebp)
41c388:	8b 45 b0             	mov    -0x50(%ebp),%eax
41c38b:	40                   	inc    %eax
41c38c:	89 45 b0             	mov    %eax,-0x50(%ebp)
41c38f:	85 f6                	test   %esi,%esi
41c391:	0f 89 39 fe ff ff    	jns    0x41c1d0
41c397:	e9 46 0b 01 00       	jmp    0x42cee2
41c39c:	85 f6                	test   %esi,%esi
41c39e:	0f 88 41 0b 01 00    	js     0x42cee5
41c3a4:	8b c6                	mov    %esi,%eax
41c3a6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c3a9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41c3b0:	59                   	pop    %ecx
41c3b1:	5f                   	pop    %edi
41c3b2:	5e                   	pop    %esi
41c3b3:	5b                   	pop    %ebx
41c3b4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c3b7:	33 cd                	xor    %ebp,%ecx
41c3b9:	e8 52 2f 00 00       	call   0x41f310
41c3be:	8b e5                	mov    %ebp,%esp
41c3c0:	5d                   	pop    %ebp
41c3c1:	c2 0c 00             	ret    $0xc
41c3c4:	8d 41 ff             	lea    -0x1(%ecx),%eax
41c3c7:	89 45 94             	mov    %eax,-0x6c(%ebp)
41c3ca:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c3cd:	8d 45 94             	lea    -0x6c(%ebp),%eax
41c3d0:	50                   	push   %eax
41c3d1:	8d 45 d0             	lea    -0x30(%ebp),%eax
41c3d4:	50                   	push   %eax
41c3d5:	6a 00                	push   $0x0
41c3d7:	52                   	push   %edx
41c3d8:	ff 75 a4             	push   -0x5c(%ebp)
41c3db:	e8 37 1c 00 00       	call   0x41e017
41c3e0:	85 c0                	test   %eax,%eax
41c3e2:	0f 85 1a ff ff ff    	jne    0x41c302
41c3e8:	e9 42 ff ff ff       	jmp    0x41c32f
41c3ed:	8b 07                	mov    (%edi),%eax
41c3ef:	8b 58 0c             	mov    0xc(%eax),%ebx
41c3f2:	81 fb c0 ed 41 00    	cmp    $0x41edc0,%ebx
41c3f8:	0f 85 77 0a 01 00    	jne    0x42ce75