40ce05:	e8 09 2c 03 00       	call   0x43fa13
40ce0a:	c2 04 00             	ret    $0x4
40ce0d:	55                   	push   %ebp
40ce0e:	8b ec                	mov    %esp,%ebp
40ce10:	6a ff                	push   $0xffffffff
40ce12:	68 45 c2 48 00       	push   $0x48c245
40ce17:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ce1d:	50                   	push   %eax
40ce1e:	56                   	push   %esi
40ce1f:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40ce24:	33 c5                	xor    %ebp,%eax
40ce26:	50                   	push   %eax
40ce27:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ce2a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ce30:	8b f1                	mov    %ecx,%esi
40ce32:	8d 46 04             	lea    0x4(%esi),%eax
40ce35:	c7 06 30 45 49 00    	movl   $0x494530,(%esi)
40ce3b:	83 20 00             	andl   $0x0,(%eax)
40ce3e:	83 60 04 00          	andl   $0x0,0x4(%eax)
40ce42:	50                   	push   %eax
40ce43:	8b 45 08             	mov    0x8(%ebp),%eax
40ce46:	83 c0 04             	add    $0x4,%eax
40ce49:	50                   	push   %eax
40ce4a:	e8 f1 72 03 00       	call   0x444140
40ce4f:	59                   	pop    %ecx
40ce50:	59                   	pop    %ecx
40ce51:	8b c6                	mov    %esi,%eax
40ce53:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ce56:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ce5d:	59                   	pop    %ecx
40ce5e:	5e                   	pop    %esi
40ce5f:	c9                   	leave
40ce60:	c2 04 00             	ret    $0x4
40ce63:	55                   	push   %ebp
40ce64:	8b ec                	mov    %esp,%ebp
40ce66:	6a ff                	push   $0xffffffff
40ce68:	68 60 c2 48 00       	push   $0x48c260
40ce6d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ce73:	50                   	push   %eax
40ce74:	51                   	push   %ecx
40ce75:	51                   	push   %ecx
40ce76:	56                   	push   %esi
40ce77:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40ce7c:	33 c5                	xor    %ebp,%eax
40ce7e:	50                   	push   %eax
40ce7f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ce82:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ce88:	8b f1                	mov    %ecx,%esi
40ce8a:	8b 45 08             	mov    0x8(%ebp),%eax
40ce8d:	8d 56 04             	lea    0x4(%esi),%edx
40ce90:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ce93:	8d 45 ec             	lea    -0x14(%ebp),%eax
40ce96:	c7 06 30 45 49 00    	movl   $0x494530,(%esi)
40ce9c:	83 22 00             	andl   $0x0,(%edx)
40ce9f:	83 62 04 00          	andl   $0x0,0x4(%edx)
40cea3:	52                   	push   %edx
40cea4:	50                   	push   %eax
40cea5:	c6 45 f0 01          	movb   $0x1,-0x10(%ebp)
40cea9:	e8 92 72 03 00       	call   0x444140
40ceae:	59                   	pop    %ecx
40ceaf:	59                   	pop    %ecx
40ceb0:	8b c6                	mov    %esi,%eax
40ceb2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ceb5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cebc:	59                   	pop    %ecx
40cebd:	5e                   	pop    %esi
40cebe:	c9                   	leave
40cebf:	c2 04 00             	ret    $0x4
40cec2:	55                   	push   %ebp
40cec3:	8b ec                	mov    %esp,%ebp
40cec5:	6a ff                	push   $0xffffffff
40cec7:	68 83 c2 48 00       	push   $0x48c283
40cecc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ced2:	50                   	push   %eax
40ced3:	51                   	push   %ecx
40ced4:	56                   	push   %esi
40ced5:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40ceda:	33 c5                	xor    %ebp,%eax
40cedc:	50                   	push   %eax
40cedd:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cee0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40cee6:	8b f1                	mov    %ecx,%esi
40cee8:	89 75 f0             	mov    %esi,-0x10(%ebp)
40ceeb:	ff 75 08             	push   0x8(%ebp)
40ceee:	e8 51 02 00 00       	call   0x40d144
40cef3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cef7:	c7 06 d4 46 49 00    	movl   $0x4946d4,(%esi)
40cefd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf01:	8b c6                	mov    %esi,%eax
40cf03:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cf06:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cf0d:	59                   	pop    %ecx
40cf0e:	5e                   	pop    %esi
40cf0f:	c9                   	leave
40cf10:	c2 04 00             	ret    $0x4
40cf13:	6a 04                	push   $0x4
40cf15:	b8 a6 c2 48 00       	mov    $0x48c2a6,%eax
40cf1a:	e8 2b 2b 03 00       	call   0x43fa4a
40cf1f:	8b f1                	mov    %ecx,%esi
40cf21:	89 75 f0             	mov    %esi,-0x10(%ebp)
40cf24:	8b 45 0c             	mov    0xc(%ebp),%eax
40cf27:	ff 75 08             	push   0x8(%ebp)
40cf2a:	ff 70 04             	push   0x4(%eax)
40cf2d:	ff 30                	push   (%eax)
40cf2f:	e8 61 02 00 00       	call   0x40d195
40cf34:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cf38:	c7 06 d4 46 49 00    	movl   $0x4946d4,(%esi)
40cf3e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf42:	8b c6                	mov    %esi,%eax
40cf44:	e8 ca 2a 03 00       	call   0x43fa13
40cf49:	c2 08 00             	ret    $0x8
40cf4c:	6a 08                	push   $0x8
40cf4e:	b8 cc c2 48 00       	mov    $0x48c2cc,%eax
40cf53:	e8 f2 2a 03 00       	call   0x43fa4a
40cf58:	8b f1                	mov    %ecx,%esi
40cf5a:	89 75 ec             	mov    %esi,-0x14(%ebp)
40cf5d:	8d 45 f3             	lea    -0xd(%ebp),%eax
40cf60:	89 36                	mov    %esi,(%esi)
40cf62:	8d 4e 08             	lea    0x8(%esi),%ecx
40cf65:	89 76 04             	mov    %esi,0x4(%esi)
40cf68:	50                   	push   %eax
40cf69:	e8 61 d7 ff ff       	call   0x40a6cf
40cf6e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cf72:	8b 45 08             	mov    0x8(%ebp),%eax
40cf75:	89 46 38             	mov    %eax,0x38(%esi)
40cf78:	8b 45 10             	mov    0x10(%ebp),%eax
40cf7b:	89 46 3c             	mov    %eax,0x3c(%esi)
40cf7e:	8b 45 14             	mov    0x14(%ebp),%eax
40cf81:	89 46 40             	mov    %eax,0x40(%esi)
40cf84:	8b 45 18             	mov    0x18(%ebp),%eax
40cf87:	89 46 44             	mov    %eax,0x44(%esi)
40cf8a:	8b 45 0c             	mov    0xc(%ebp),%eax
40cf8d:	89 46 48             	mov    %eax,0x48(%esi)
40cf90:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf94:	8b c6                	mov    %esi,%eax
40cf96:	e8 78 2a 03 00       	call   0x43fa13
40cf9b:	c2 14 00             	ret    $0x14
40cf9e:	55                   	push   %ebp
40cf9f:	8b ec                	mov    %esp,%ebp
40cfa1:	6a ff                	push   $0xffffffff
40cfa3:	68 fd c2 48 00       	push   $0x48c2fd
40cfa8:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40cfae:	50                   	push   %eax
40cfaf:	51                   	push   %ecx
40cfb0:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40cfb5:	33 c5                	xor    %ebp,%eax
40cfb7:	50                   	push   %eax
40cfb8:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cfbb:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40cfc1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40cfc4:	c7 01 5c 4a 49 00    	movl   $0x494a5c,(%ecx)
40cfca:	33 c0                	xor    %eax,%eax
40cfcc:	89 41 18             	mov    %eax,0x18(%ecx)
40cfcf:	c7 41 1c 0f 00 00 00 	movl   $0xf,0x1c(%ecx)
40cfd6:	88 41 08             	mov    %al,0x8(%ecx)
40cfd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cfdc:	89 41 28             	mov    %eax,0x28(%ecx)
40cfdf:	89 41 2c             	mov    %eax,0x2c(%ecx)
40cfe2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cfe6:	8b c1                	mov    %ecx,%eax
40cfe8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40cfeb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cff2:	59                   	pop    %ecx
40cff3:	c9                   	leave
40cff4:	c3                   	ret
40cff5:	55                   	push   %ebp
40cff6:	8b ec                	mov    %esp,%ebp
40cff8:	6a ff                	push   $0xffffffff
40cffa:	68 20 c3 48 00       	push   $0x48c320
40cfff:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d005:	50                   	push   %eax
40d006:	51                   	push   %ecx
40d007:	56                   	push   %esi
40d008:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40d00d:	33 c5                	xor    %ebp,%eax
40d00f:	50                   	push   %eax
40d010:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d013:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d019:	8b f1                	mov    %ecx,%esi
40d01b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d01e:	ff 75 08             	push   0x8(%ebp)
40d021:	e8 e7 fd ff ff       	call   0x40ce0d
40d026:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d02a:	c7 06 50 45 49 00    	movl   $0x494550,(%esi)
40d030:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d034:	8b c6                	mov    %esi,%eax
40d036:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d039:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d040:	59                   	pop    %ecx
40d041:	5e                   	pop    %esi
40d042:	c9                   	leave
40d043:	c2 04 00             	ret    $0x4
40d046:	6a 04                	push   $0x4
40d048:	b8 43 c3 48 00       	mov    $0x48c343,%eax
40d04d:	e8 f8 29 03 00       	call   0x43fa4a
40d052:	8b f1                	mov    %ecx,%esi
40d054:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d057:	8b 45 08             	mov    0x8(%ebp),%eax
40d05a:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
40d05e:	72 02                	jb     0x40d062
40d060:	8b 00                	mov    (%eax),%eax
40d062:	50                   	push   %eax
40d063:	e8 fb fd ff ff       	call   0x40ce63
40d068:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d06c:	c7 06 50 45 49 00    	movl   $0x494550,(%esi)
40d072:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d076:	8b c6                	mov    %esi,%eax
40d078:	e8 96 29 03 00       	call   0x43fa13
40d07d:	c2 04 00             	ret    $0x4
40d080:	6a 04                	push   $0x4
40d082:	b8 66 c3 48 00       	mov    $0x48c366,%eax
40d087:	e8 be 29 03 00       	call   0x43fa4a
40d08c:	8b f1                	mov    %ecx,%esi
40d08e:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d091:	ff 75 08             	push   0x8(%ebp)
40d094:	e8 ca fd ff ff       	call   0x40ce63
40d099:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d09d:	c7 06 50 45 49 00    	movl   $0x494550,(%esi)
40d0a3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d0a7:	8b c6                	mov    %esi,%eax
40d0a9:	e8 65 29 03 00       	call   0x43fa13
40d0ae:	c2 04 00             	ret    $0x4
40d0b1:	6a 04                	push   $0x4
40d0b3:	b8 89 c3 48 00       	mov    $0x48c389,%eax
40d0b8:	e8 8d 29 03 00       	call   0x43fa4a
40d0bd:	8b f1                	mov    %ecx,%esi
40d0bf:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d0c2:	ff 75 08             	push   0x8(%ebp)
40d0c5:	e8 93 fa ff ff       	call   0x40cb5d
40d0ca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d0ce:	ff 75 0c             	push   0xc(%ebp)
40d0d1:	8b 0e                	mov    (%esi),%ecx
40d0d3:	e8 74 e1 00 00       	call   0x41b24c
40d0d8:	88 46 04             	mov    %al,0x4(%esi)
40d0db:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d0df:	8b c6                	mov    %esi,%eax
40d0e1:	e8 2d 29 03 00       	call   0x43fa13
40d0e6:	c2 08 00             	ret    $0x8
40d0e9:	6a 04                	push   $0x4
40d0eb:	b8 ac c3 48 00       	mov    $0x48c3ac,%eax
40d0f0:	e8 55 29 03 00       	call   0x43fa4a
40d0f5:	8b f9                	mov    %ecx,%edi
40d0f7:	89 7d f0             	mov    %edi,-0x10(%ebp)
40d0fa:	8b 75 08             	mov    0x8(%ebp),%esi
40d0fd:	56                   	push   %esi
40d0fe:	e8 7e fa ff ff       	call   0x40cb81
40d103:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d107:	8b 16                	mov    (%esi),%edx
40d109:	8b c2                	mov    %edx,%eax
40d10b:	8b 4a 04             	mov    0x4(%edx),%ecx
40d10e:	83 7c 31 0c 00       	cmpl   $0x0,0xc(%ecx,%esi,1)
40d113:	75 13                	jne    0x40d128
40d115:	8b 4c 31 3c          	mov    0x3c(%ecx,%esi,1),%ecx
40d119:	85 c9                	test   %ecx,%ecx
40d11b:	74 0b                	je     0x40d128
40d11d:	3b ce                	cmp    %esi,%ecx
40d11f:	74 07                	je     0x40d128
40d121:	e8 8f 3e 01 00       	call   0x420fb5
40d126:	8b 06                	mov    (%esi),%eax
40d128:	8b 40 04             	mov    0x4(%eax),%eax
40d12b:	83 7c 30 0c 00       	cmpl   $0x0,0xc(%eax,%esi,1)
40d130:	0f 94 c0             	sete   %al
40d133:	88 47 04             	mov    %al,0x4(%edi)
40d136:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d13a:	8b c7                	mov    %edi,%eax
40d13c:	e8 d2 28 03 00       	call   0x43fa13
40d141:	c2 04 00             	ret    $0x4
40d144:	55                   	push   %ebp
40d145:	8b ec                	mov    %esp,%ebp
40d147:	6a ff                	push   $0xffffffff
40d149:	68 cf c3 48 00       	push   $0x48c3cf
40d14e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d154:	50                   	push   %eax
40d155:	51                   	push   %ecx
40d156:	56                   	push   %esi
40d157:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40d15c:	33 c5                	xor    %ebp,%eax
40d15e:	50                   	push   %eax
40d15f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d162:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d168:	8b f1                	mov    %ecx,%esi
40d16a:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d16d:	ff 75 08             	push   0x8(%ebp)
40d170:	e8 b2 fa ff ff       	call   0x40cc27
40d175:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d179:	c7 06 64 46 49 00    	movl   $0x494664,(%esi)
40d17f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d183:	8b c6                	mov    %esi,%eax
40d185:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d188:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d18f:	59                   	pop    %ecx
40d190:	5e                   	pop    %esi
40d191:	c9                   	leave
40d192:	c2 04 00             	ret    $0x4
40d195:	6a 24                	push   $0x24
40d197:	b8 fa c3 48 00       	mov    $0x48c3fa,%eax
40d19c:	e8 dd 28 03 00       	call   0x43fa7e
40d1a1:	8b f1                	mov    %ecx,%esi
40d1a3:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40d1a6:	8b 55 10             	mov    0x10(%ebp),%edx
40d1a9:	33 db                	xor    %ebx,%ebx
40d1ab:	8b ca                	mov    %edx,%ecx
40d1ad:	89 75 d0             	mov    %esi,-0x30(%ebp)
40d1b0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d1b3:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d1b6:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40d1b9:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
40d1c0:	8d 79 01             	lea    0x1(%ecx),%edi
40d1c3:	88 5d d8             	mov    %bl,-0x28(%ebp)
40d1c6:	8a 01                	mov    (%ecx),%al
40d1c8:	41                   	inc    %ecx
40d1c9:	84 c0                	test   %al,%al
40d1cb:	75 f9                	jne    0x40d1c6
40d1cd:	2b cf                	sub    %edi,%ecx
40d1cf:	51                   	push   %ecx
40d1d0:	52                   	push   %edx
40d1d1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d1d4:	e8 d1 25 01 00       	call   0x41f7aa
40d1d9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d1dc:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d1df:	50                   	push   %eax
40d1e0:	ff 75 0c             	push   0xc(%ebp)
40d1e3:	8b ce                	mov    %esi,%ecx
40d1e5:	ff 75 08             	push   0x8(%ebp)
40d1e8:	e8 b8 f9 ff ff       	call   0x40cba5
40d1ed:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d1f1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d1f4:	e8 db 00 01 00       	call   0x41d2d4
40d1f9:	c7 06 64 46 49 00    	movl   $0x494664,(%esi)
40d1ff:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d203:	8b c6                	mov    %esi,%eax
40d205:	e8 1e 28 03 00       	call   0x43fa28
40d20a:	c2 0c 00             	ret    $0xc
40d20d:	55                   	push   %ebp
40d20e:	8b ec                	mov    %esp,%ebp
40d210:	6a ff                	push   $0xffffffff
40d212:	68 27 c4 48 00       	push   $0x48c427
40d217:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d21d:	50                   	push   %eax
40d21e:	51                   	push   %ecx
40d21f:	a1 94 80 4b 00       	mov    0x4b8094,%eax
40d224:	33 c5                	xor    %ebp,%eax
40d226:	50                   	push   %eax
40d227:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d22a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d230:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d233:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d237:	e8 82 fe 00 00       	call   0x41d0be
40d23c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d23f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0