40bf4b:	75 f3                	jne    0x40bf40
40bf4d:	c3                   	ret
40bf4e:	8b c0                	mov    %eax,%eax
40bf50:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
40bf56:	41                   	inc    %ecx
40bf57:	e2 2b                	loop   0x40bf84
40bf59:	50                   	push   %eax
40bf5a:	e8 c5 e4 ff ff       	call   0x40a424
40bf5f:	5a                   	pop    %edx
40bf60:	52                   	push   %edx
40bf61:	50                   	push   %eax
40bf62:	92                   	xchg   %eax,%edx
40bf63:	e8 c8 e2 ff ff       	call   0x40a230
40bf68:	58                   	pop    %eax
40bf69:	5a                   	pop    %edx
40bf6a:	89 82 a8 00 00 00    	mov    %eax,0xa8(%edx)
40bf70:	8b 8a a0 00 00 00    	mov    0xa0(%edx),%ecx
40bf76:	89 48 2d             	mov    %ecx,0x2d(%eax)
40bf79:	c7 40 25 bc bf 40 00 	movl   $0x40bfbc,0x25(%eax)
40bf80:	89 50 29             	mov    %edx,0x29(%eax)
40bf83:	c3                   	ret
40bf84:	91                   	xchg   %eax,%ecx
40bf85:	c3                   	ret
40bf86:	8b c0                	mov    %eax,%eax
40bf88:	8b 88 ac 00 00 00    	mov    0xac(%eax),%ecx
40bf8e:	41                   	inc    %ecx
40bf8f:	e2 28                	loop   0x40bfb9
40bf91:	50                   	push   %eax
40bf92:	e8 61 e4 ff ff       	call   0x40a3f8
40bf97:	5a                   	pop    %edx
40bf98:	89 82 ac 00 00 00    	mov    %eax,0xac(%edx)
40bf9e:	8b 8a a4 00 00 00    	mov    0xa4(%edx),%ecx
40bfa4:	89 48 2d             	mov    %ecx,0x2d(%eax)
40bfa7:	c7 40 25 d4 bf 40 00 	movl   $0x40bfd4,0x25(%eax)
40bfae:	89 50 29             	mov    %edx,0x29(%eax)
40bfb1:	50                   	push   %eax
40bfb2:	92                   	xchg   %eax,%edx
40bfb3:	e8 78 e2 ff ff       	call   0x40a230
40bfb8:	59                   	pop    %ecx
40bfb9:	91                   	xchg   %eax,%ecx
40bfba:	c3                   	ret
40bfbb:	90                   	nop
40bfbc:	8b 4a 2d             	mov    0x2d(%edx),%ecx
40bfbf:	89 88 a0 00 00 00    	mov    %ecx,0xa0(%eax)
40bfc5:	50                   	push   %eax
40bfc6:	ff 15 60 62 42 00    	call   *0x426260
40bfcc:	58                   	pop    %eax
40bfcd:	e8 9a fa ff ff       	call   0x40ba6c
40bfd2:	c3                   	ret
40bfd3:	90                   	nop
40bfd4:	8b 4a 2d             	mov    0x2d(%edx),%ecx
40bfd7:	89 88 a4 00 00 00    	mov    %ecx,0xa4(%eax)
40bfdd:	31 c9                	xor    %ecx,%ecx
40bfdf:	87 48 48             	xchg   %ecx,0x48(%eax)
40bfe2:	e3 08                	jecxz  0x40bfec
40bfe4:	50                   	push   %eax
40bfe5:	51                   	push   %ecx
40bfe6:	e8 15 89 ff ff       	call   0x404900
40bfeb:	58                   	pop    %eax
40bfec:	e8 7b fa ff ff       	call   0x40ba6c
40bff1:	c3                   	ret
40bff2:	8b c0                	mov    %eax,%eax
40bff4:	53                   	push   %ebx
40bff5:	93                   	xchg   %eax,%ebx
40bff6:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
40bffc:	e3 38                	jecxz  0x40c036
40bffe:	91                   	xchg   %eax,%ecx
40bfff:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40c002:	e3 1c                	jecxz  0x40c020
40c004:	8b 50 2d             	mov    0x2d(%eax),%edx
40c007:	89 93 a0 00 00 00    	mov    %edx,0xa0(%ebx)
40c00d:	68 ff ff 00 00       	push   $0xffff
40c012:	e8 b9 e5 ff ff       	call   0x40a5d0
40c017:	50                   	push   %eax
40c018:	6a 30                	push   $0x30
40c01a:	53                   	push   %ebx
40c01b:	e8 1c 05 00 00       	call   0x40c53c
40c020:	31 c9                	xor    %ecx,%ecx
40c022:	87 8b ca 00 00 00    	xchg   %ecx,0xca(%ebx)
40c028:	e3 06                	jecxz  0x40c030
40c02a:	91                   	xchg   %eax,%ecx
40c02b:	e8 e0 e1 ff ff       	call   0x40a210
40c030:	93                   	xchg   %eax,%ebx
40c031:	e8 32 f8 ff ff       	call   0x40b868
40c036:	5b                   	pop    %ebx
40c037:	c3                   	ret
40c038:	83 c4 f0             	add    $0xfffffff0,%esp
40c03b:	89 e2                	mov    %esp,%edx
40c03d:	e8 de f9 ff ff       	call   0x40ba20
40c042:	5a                   	pop    %edx
40c043:	59                   	pop    %ecx
40c044:	5a                   	pop    %edx
40c045:	58                   	pop    %eax
40c046:	29 c8                	sub    %ecx,%eax
40c048:	c3                   	ret
40c049:	8d 40 00             	lea    0x0(%eax),%eax
40c04c:	83 c4 f0             	add    $0xfffffff0,%esp
40c04f:	89 e2                	mov    %esp,%edx
40c051:	e8 ca f9 ff ff       	call   0x40ba20
40c056:	59                   	pop    %ecx
40c057:	5a                   	pop    %edx
40c058:	58                   	pop    %eax
40c059:	29 c8                	sub    %ecx,%eax
40c05b:	5a                   	pop    %edx
40c05c:	c3                   	ret
40c05d:	8d 40 00             	lea    0x0(%eax),%eax
40c060:	53                   	push   %ebx
40c061:	52                   	push   %edx
40c062:	89 c3                	mov    %eax,%ebx
40c064:	e8 cf ff ff ff       	call   0x40c038
40c069:	50                   	push   %eax
40c06a:	89 d8                	mov    %ebx,%eax
40c06c:	e8 f3 fb ff ff       	call   0x40bc64
40c071:	5a                   	pop    %edx
40c072:	29 d0                	sub    %edx,%eax
40c074:	5a                   	pop    %edx
40c075:	01 c2                	add    %eax,%edx
40c077:	93                   	xchg   %eax,%ebx
40c078:	e8 f3 fb ff ff       	call   0x40bc70
40c07d:	5b                   	pop    %ebx
40c07e:	c3                   	ret
40c07f:	90                   	nop
40c080:	53                   	push   %ebx
40c081:	52                   	push   %edx
40c082:	89 c3                	mov    %eax,%ebx
40c084:	e8 c3 ff ff ff       	call   0x40c04c
40c089:	50                   	push   %eax
40c08a:	89 d8                	mov    %ebx,%eax
40c08c:	e8 ab fb ff ff       	call   0x40bc3c
40c091:	5a                   	pop    %edx
40c092:	29 d0                	sub    %edx,%eax
40c094:	5a                   	pop    %edx
40c095:	01 c2                	add    %eax,%edx
40c097:	93                   	xchg   %eax,%ebx
40c098:	e8 ab fb ff ff       	call   0x40bc48
40c09d:	5b                   	pop    %ebx
40c09e:	c3                   	ret
40c09f:	90                   	nop
40c0a0:	60                   	pusha
40c0a1:	96                   	xchg   %eax,%esi
40c0a2:	8b 4e 30             	mov    0x30(%esi),%ecx
40c0a5:	e3 06                	jecxz  0x40c0ad
40c0a7:	f6 46 36 08          	testb  $0x8,0x36(%esi)
40c0ab:	75 16                	jne    0x40c0c3
40c0ad:	6a 01                	push   $0x1
40c0af:	e8 cc 89 ff ff       	call   0x404a80
40c0b4:	50                   	push   %eax
40c0b5:	6a 00                	push   $0x0
40c0b7:	e8 c4 89 ff ff       	call   0x404a80
40c0bc:	50                   	push   %eax
40c0bd:	6a 00                	push   $0x0
40c0bf:	6a 00                	push   $0x0
40c0c1:	eb 0b                	jmp    0x40c0ce
40c0c3:	83 c4 f0             	add    $0xfffffff0,%esp
40c0c6:	89 e2                	mov    %esp,%edx
40c0c8:	91                   	xchg   %eax,%ecx
40c0c9:	e8 52 f9 ff ff       	call   0x40ba20
40c0ce:	89 f0                	mov    %esi,%eax
40c0d0:	e8 6f 1b 00 00       	call   0x40dc44
40c0d5:	89 f0                	mov    %esi,%eax
40c0d7:	e8 60 fb ff ff       	call   0x40bc3c
40c0dc:	5a                   	pop    %edx
40c0dd:	01 d0                	add    %edx,%eax
40c0df:	5f                   	pop    %edi
40c0e0:	5a                   	pop    %edx
40c0e1:	29 c2                	sub    %eax,%edx
40c0e3:	d1 fa                	sar    $1,%edx
40c0e5:	89 f0                	mov    %esi,%eax
40c0e7:	e8 fc fa ff ff       	call   0x40bbe8
40c0ec:	89 f0                	mov    %esi,%eax
40c0ee:	e8 71 fb ff ff       	call   0x40bc64
40c0f3:	01 f8                	add    %edi,%eax
40c0f5:	5a                   	pop    %edx
40c0f6:	29 c2                	sub    %eax,%edx
40c0f8:	d1 fa                	sar    $1,%edx
40c0fa:	96                   	xchg   %eax,%esi
40c0fb:	e8 18 fb ff ff       	call   0x40bc18
40c100:	61                   	popa
40c101:	c3                   	ret
40c102:	8b c0                	mov    %eax,%eax
40c104:	e8 47 00 00 00       	call   0x40c150
40c109:	8b 50 24             	mov    0x24(%eax),%edx
40c10c:	81 e2 00 00 c4 00    	and    $0xc40000,%edx
40c112:	0f 95 c2             	setne  %dl
40c115:	8b 40 28             	mov    0x28(%eax),%eax
40c118:	25 00 02 00 00       	and    $0x200,%eax
40c11d:	0f 95 c0             	setne  %al
40c120:	08 d0                	or     %dl,%al
40c122:	c3                   	ret
40c123:	90                   	nop
40c124:	f6 40 34 02          	testb  $0x2,0x34(%eax)
40c128:	0f 94 c0             	sete   %al
40c12b:	c3                   	ret
40c12c:	53                   	push   %ebx
40c12d:	89 c3                	mov    %eax,%ebx
40c12f:	e8 f0 ff ff ff       	call   0x40c124
40c134:	38 d0                	cmp    %dl,%al
40c136:	74 14                	je     0x40c14c
40c138:	d0 e0                	shl    $1,%al
40c13a:	80 63 34 fd          	andb   $0xfd,0x34(%ebx)
40c13e:	08 43 34             	or     %al,0x34(%ebx)
40c141:	93                   	xchg   %eax,%ebx
40c142:	ba a0 84 40 00       	mov    $0x4084a0,%edx
40c147:	e8 ec d8 ff ff       	call   0x409a38
40c14c:	5b                   	pop    %ebx
40c14d:	c3                   	ret
40c14e:	8b c0                	mov    %eax,%eax
40c150:	8b 48 1c             	mov    0x1c(%eax),%ecx
40c153:	e3 25                	jecxz  0x40c17a
40c155:	53                   	push   %ebx
40c156:	93                   	xchg   %eax,%ebx
40c157:	6a e6                	push   $0xffffffe6
40c159:	51                   	push   %ecx
40c15a:	6a ec                	push   $0xffffffec
40c15c:	51                   	push   %ecx
40c15d:	6a f0                	push   $0xfffffff0
40c15f:	51                   	push   %ecx
40c160:	e8 47 8e ff ff       	call   0x404fac
40c165:	89 43 24             	mov    %eax,0x24(%ebx)
40c168:	e8 3f 8e ff ff       	call   0x404fac
40c16d:	89 43 28             	mov    %eax,0x28(%ebx)
40c170:	e8 27 8e ff ff       	call   0x404f9c
40c175:	89 43 20             	mov    %eax,0x20(%ebx)
40c178:	93                   	xchg   %eax,%ebx
40c179:	5b                   	pop    %ebx
40c17a:	c3                   	ret
40c17b:	90                   	nop
40c17c:	f6 80 13 01 00 00 08 	testb  $0x8,0x113(%eax)
40c183:	74 08                	je     0x40c18d
40c185:	f6 40 37 20          	testb  $0x20,0x37(%eax)
40c189:	0f 95 c0             	setne  %al
40c18c:	c3                   	ret
40c18d:	6a 00                	push   $0x0
40c18f:	6a 00                	push   $0x0
40c191:	68 f0 00 00 00       	push   $0xf0
40c196:	50                   	push   %eax
40c197:	e8 a0 03 00 00       	call   0x40c53c
40c19c:	c3                   	ret
40c19d:	8d 40 00             	lea    0x0(%eax),%eax
40c1a0:	f6 80 13 01 00 00 08 	testb  $0x8,0x113(%eax)
40c1a7:	74 0f                	je     0x40c1b8
40c1a9:	c0 e2 05             	shl    $0x5,%dl
40c1ac:	80 60 37 df          	andb   $0xdf,0x37(%eax)
40c1b0:	08 50 37             	or     %dl,0x37(%eax)
40c1b3:	e9 b4 f8 ff ff       	jmp    0x40ba6c
40c1b8:	6a 00                	push   $0x0
40c1ba:	0f b6 d2             	movzbl %dl,%edx
40c1bd:	52                   	push   %edx
40c1be:	68 f1 00 00 00       	push   $0xf1
40c1c3:	50                   	push   %eax
40c1c4:	e8 73 03 00 00       	call   0x40c53c
40c1c9:	c3                   	ret
40c1ca:	8b c0                	mov    %eax,%eax
40c1cc:	ff 70 24             	push   0x24(%eax)
40c1cf:	50                   	push   %eax
40c1d0:	80 60 26 fe          	andb   $0xfe,0x26(%eax)
40c1d4:	e8 53 fd ff ff       	call   0x40bf2c
40c1d9:	58                   	pop    %eax
40c1da:	8f 40 24             	pop    0x24(%eax)
40c1dd:	c3                   	ret
40c1de:	8b c0                	mov    %eax,%eax
40c1e0:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c1e3:	0f b7 49 48          	movzwl 0x48(%ecx),%ecx
40c1e7:	e3 11                	jecxz  0x40c1fa
40c1e9:	31 d2                	xor    %edx,%edx
40c1eb:	52                   	push   %edx
40c1ec:	52                   	push   %edx
40c1ed:	8d 54 24 04          	lea    0x4(%esp),%edx
40c1f1:	52                   	push   %edx
40c1f2:	51                   	push   %ecx
40c1f3:	50                   	push   %eax
40c1f4:	e8 43 03 00 00       	call   0x40c53c
40c1f9:	59                   	pop    %ecx
40c1fa:	91                   	xchg   %eax,%ecx
40c1fb:	c3                   	ret
40c1fc:	31 d2                	xor    %edx,%edx
40c1fe:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c201:	0f b7 49 44          	movzwl 0x44(%ecx),%ecx
40c205:	e3 1b                	jecxz  0x40c222
40c207:	66 81 f9 b0 00       	cmp    $0xb0,%cx
40c20c:	75 16                	jne    0x40c224
40c20e:	52                   	push   %edx
40c20f:	52                   	push   %edx
40c210:	89 e2                	mov    %esp,%edx
40c212:	52                   	push   %edx
40c213:	83 c2 04             	add    $0x4,%edx
40c216:	52                   	push   %edx
40c217:	51                   	push   %ecx
40c218:	50                   	push   %eax
40c219:	e8 1e 03 00 00       	call   0x40c53c
40c21e:	59                   	pop    %ecx
40c21f:	5a                   	pop    %edx
40c220:	29 d1                	sub    %edx,%ecx
40c222:	91                   	xchg   %eax,%ecx
40c223:	c3                   	ret
40c224:	52                   	push   %edx
40c225:	52                   	push   %edx
40c226:	51                   	push   %ecx
40c227:	50                   	push   %eax
40c228:	e8 0f 03 00 00       	call   0x40c53c
40c22d:	c3                   	ret
40c22e:	8b c0                	mov    %eax,%eax
40c230:	6a 00                	push   $0x0
40c232:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c235:	0f b7 49 2a          	movzwl 0x2a(%ecx),%ecx
40c239:	e3 0a                	jecxz  0x40c245
40c23b:	6a 00                	push   $0x0
40c23d:	51                   	push   %ecx
40c23e:	50                   	push   %eax
40c23f:	e8 f8 02 00 00       	call   0x40c53c
40c244:	50                   	push   %eax
40c245:	58                   	pop    %eax
40c246:	c3                   	ret
40c247:	90                   	nop
40c248:	52                   	push   %edx
40c249:	51                   	push   %ecx
40c24a:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c24d:	0f b7 49 4c          	movzwl 0x4c(%ecx),%ecx
40c251:	e3 08                	jecxz  0x40c25b
40c253:	51                   	push   %ecx
40c254:	50                   	push   %eax
40c255:	e8 e2 02 00 00       	call   0x40c53c
40c25a:	c3                   	ret
40c25b:	59                   	pop    %ecx
40c25c:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c25f:	0f b7 49 4e          	movzwl 0x4e(%ecx),%ecx
40c263:	e3 05                	jecxz  0x40c26a
40c265:	5a                   	pop    %edx
40c266:	6a 00                	push   $0x0
40c268:	eb 09                	jmp    0x40c273
40c26a:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c26d:	0f b7 49 50          	movzwl 0x50(%ecx),%ecx
40c271:	e3 10                	jecxz  0x40c283
40c273:	52                   	push   %edx
40c274:	eb dd                	jmp    0x40c253
40c276:	89 90 d2 00 00 00    	mov    %edx,0xd2(%eax)
40c27c:	e8 eb f7 ff ff       	call   0x40ba6c
40c281:	59                   	pop    %ecx
40c282:	c3                   	ret
40c283:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c286:	0f b7 49 52          	movzwl 0x52(%ecx),%ecx
40c28a:	e3 ea                	jecxz  0x40c276
40c28c:	52                   	push   %edx
40c28d:	54                   	push   %esp
40c28e:	6a 00                	push   $0x0
40c290:	51                   	push   %ecx
40c291:	50                   	push   %eax
40c292:	e8 a5 02 00 00       	call   0x40c53c
40c297:	59                   	pop    %ecx
40c298:	59                   	pop    %ecx