41dcac:	8d 44 24 28          	lea    0x28(%esp),%eax
41dcb0:	50                   	push   %eax
41dcb1:	51                   	push   %ecx
41dcb2:	e8 b9 77 01 00       	call   0x435470
41dcb7:	89 44 24 20          	mov    %eax,0x20(%esp)
41dcbb:	85 c0                	test   %eax,%eax
41dcbd:	74 1f                	je     0x41dcde
41dcbf:	ba 00 00 40 00       	mov    $0x400000,%edx
41dcc4:	3b fa                	cmp    %edx,%edi
41dcc6:	72 16                	jb     0x41dcde
41dcc8:	8b 44 24 18          	mov    0x18(%esp),%eax
41dccc:	8d 88 00 00 40 00    	lea    0x400000(%eax),%ecx
41dcd2:	3b ca                	cmp    %edx,%ecx
41dcd4:	76 08                	jbe    0x41dcde
41dcd6:	3b f9                	cmp    %ecx,%edi
41dcd8:	77 04                	ja     0x41dcde
41dcda:	2b fa                	sub    %edx,%edi
41dcdc:	eb 02                	jmp    0x41dce0
41dcde:	33 ff                	xor    %edi,%edi
41dce0:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
41dce4:	89 7c 24 10          	mov    %edi,0x10(%esp)
41dce8:	0f 85 e9 00 00 00    	jne    0x41ddd7
41dcee:	51                   	push   %ecx
41dcef:	b9 38 80 43 00       	mov    $0x438038,%ecx
41dcf4:	e8 cb 9a ff ff       	call   0x4177c4
41dcf9:	85 c0                	test   %eax,%eax
41dcfb:	0f 85 d6 00 00 00    	jne    0x41ddd7
41dd01:	39 1d 38 80 43 00    	cmp    %ebx,0x438038
41dd07:	0f 86 a3 00 00 00    	jbe    0x41ddb0
41dd0d:	8a 54 24 50          	mov    0x50(%esp),%dl
41dd11:	40                   	inc    %eax
41dd12:	33 db                	xor    %ebx,%ebx
41dd14:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41dd18:	89 44 24 14          	mov    %eax,0x14(%esp)
41dd1c:	c7 44 24 40 a6 27 17 	movl   $0x1d1727a6,0x40(%esp)
41dd23:	1d
41dd24:	c7 44 24 44 c8 92 27 	movl   $0x4e2792c8,0x44(%esp)
41dd2b:	4e
41dd2c:	c7 44 24 48 bc 69 0f 	movl   $0x8b0f69bc,0x48(%esp)
41dd33:	8b
41dd34:	c7 44 24 4c 45 8c 54 	movl   $0x9d548c45,0x4c(%esp)
41dd3b:	9d
41dd3c:	84 d2                	test   %dl,%dl
41dd3e:	74 26                	je     0x41dd66
41dd40:	8d 7c 24 50          	lea    0x50(%esp),%edi
41dd44:	0f be c2             	movsbl %dl,%eax
41dd47:	50                   	push   %eax
41dd48:	ff 15 a4 a4 43 00    	call   *0x43a4a4
41dd4e:	00 44 1c 44          	add    %al,0x44(%esp,%ebx,1)
41dd52:	47                   	inc    %edi
41dd53:	8d 43 01             	lea    0x1(%ebx),%eax
41dd56:	83 f8 10             	cmp    $0x10,%eax
41dd59:	59                   	pop    %ecx
41dd5a:	8a 0f                	mov    (%edi),%cl
41dd5c:	1b db                	sbb    %ebx,%ebx
41dd5e:	23 d8                	and    %eax,%ebx
41dd60:	8a d1                	mov    %cl,%dl
41dd62:	84 c9                	test   %cl,%cl
41dd64:	75 de                	jne    0x41dd44
41dd66:	8d 44 24 28          	lea    0x28(%esp),%eax
41dd6a:	33 db                	xor    %ebx,%ebx
41dd6c:	50                   	push   %eax
41dd6d:	53                   	push   %ebx
41dd6e:	53                   	push   %ebx
41dd6f:	8d 44 24 4c          	lea    0x4c(%esp),%eax
41dd73:	50                   	push   %eax
41dd74:	e8 42 d7 ff ff       	call   0x41b4bb
41dd79:	85 c0                	test   %eax,%eax
41dd7b:	75 2f                	jne    0x41ddac
41dd7d:	53                   	push   %ebx
41dd7e:	53                   	push   %ebx
41dd7f:	53                   	push   %ebx
41dd80:	ff 74 24 38          	push   0x38(%esp)
41dd84:	ff 74 24 38          	push   0x38(%esp)
41dd88:	ff 15 6c a3 43 00    	call   *0x43a36c
41dd8e:	ff 74 24 2c          	push   0x2c(%esp)
41dd92:	0f b6 c0             	movzbl %al,%eax
41dd95:	ff 74 24 2c          	push   0x2c(%esp)
41dd99:	f7 d8                	neg    %eax
41dd9b:	1b c0                	sbb    %eax,%eax
41dd9d:	f7 d0                	not    %eax
41dd9f:	23 44 24 1c          	and    0x1c(%esp),%eax
41dda3:	8b d8                	mov    %eax,%ebx
41dda5:	e8 e6 d6 ff ff       	call   0x41b490
41ddaa:	eb 04                	jmp    0x41ddb0
41ddac:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41ddb0:	a1 54 80 43 00       	mov    0x438054,%eax
41ddb5:	33 d2                	xor    %edx,%edx
41ddb7:	8b 0d 50 80 43 00    	mov    0x438050,%ecx
41ddbd:	50                   	push   %eax
41ddbe:	51                   	push   %ecx
41ddbf:	89 15 38 80 43 00    	mov    %edx,0x438038
41ddc5:	89 15 50 80 43 00    	mov    %edx,0x438050
41ddcb:	89 15 54 80 43 00    	mov    %edx,0x438054
41ddd1:	ff 15 64 a3 43 00    	call   *0x43a364
41ddd7:	51                   	push   %ecx
41ddd8:	b9 60 80 43 00       	mov    $0x438060,%ecx
41dddd:	e8 e2 99 ff ff       	call   0x4177c4
41dde2:	85 c0                	test   %eax,%eax
41dde4:	0f 85 df 00 00 00    	jne    0x41dec9
41ddea:	83 3d 60 80 43 00 05 	cmpl   $0x5,0x438060
41ddf1:	0f 86 aa 00 00 00    	jbe    0x41dea1
41ddf7:	68 00 40 00 00       	push   $0x4000
41ddfc:	50                   	push   %eax
41ddfd:	b9 60 80 43 00       	mov    $0x438060,%ecx
41de02:	e8 f5 9e ff ff       	call   0x417cfc
41de07:	84 c0                	test   %al,%al
41de09:	0f 84 92 00 00 00    	je     0x41dea1
41de0f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
41de13:	8d 54 24 50          	lea    0x50(%esp),%edx
41de17:	85 c9                	test   %ecx,%ecx
41de19:	75 05                	jne    0x41de20
41de1b:	ba a4 5e 40 00       	mov    $0x405ea4,%edx
41de20:	8b c1                	mov    %ecx,%eax
41de22:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
41de26:	f7 d8                	neg    %eax
41de28:	89 54 24 34          	mov    %edx,0x34(%esp)
41de2c:	ba 8b 6e 40 00       	mov    $0x406e8b,%edx
41de31:	89 5c 24 20          	mov    %ebx,0x20(%esp)
41de35:	1b c0                	sbb    %eax,%eax
41de37:	c7 44 24 28 0a 00 00 	movl   $0xa,0x28(%esp)
41de3e:	00
41de3f:	23 44 24 18          	and    0x18(%esp),%eax
41de43:	f7 d9                	neg    %ecx
41de45:	89 44 24 38          	mov    %eax,0x38(%esp)
41de49:	8d 44 24 24          	lea    0x24(%esp),%eax
41de4d:	50                   	push   %eax
41de4e:	8d 44 24 24          	lea    0x24(%esp),%eax
41de52:	1b c9                	sbb    %ecx,%ecx
41de54:	23 4c 24 28          	and    0x28(%esp),%ecx
41de58:	50                   	push   %eax
41de59:	8d 44 24 20          	lea    0x20(%esp),%eax
41de5d:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
41de61:	8b 7e 10             	mov    0x10(%esi),%edi
41de64:	50                   	push   %eax
41de65:	8d 44 24 20          	lea    0x20(%esp),%eax
41de69:	89 7c 24 24          	mov    %edi,0x24(%esp)
41de6d:	8b 7e 0c             	mov    0xc(%esi),%edi
41de70:	50                   	push   %eax
41de71:	8d 44 24 44          	lea    0x44(%esp),%eax
41de75:	89 7c 24 24          	mov    %edi,0x24(%esp)
41de79:	8b 7c 24 20          	mov    0x20(%esp),%edi
41de7d:	50                   	push   %eax
41de7e:	8d 44 24 4c          	lea    0x4c(%esp),%eax
41de82:	89 4c 24 50          	mov    %ecx,0x50(%esp)
41de86:	50                   	push   %eax
41de87:	8d 44 24 54          	lea    0x54(%esp),%eax
41de8b:	89 7c 24 28          	mov    %edi,0x28(%esp)
41de8f:	50                   	push   %eax
41de90:	8d 44 24 2c          	lea    0x2c(%esp),%eax
41de94:	50                   	push   %eax
41de95:	8d 44 24 48          	lea    0x48(%esp),%eax
41de99:	50                   	push   %eax
41de9a:	51                   	push   %ecx
41de9b:	51                   	push   %ecx
41de9c:	e8 d1 74 01 00       	call   0x435372
41dea1:	a1 7c 80 43 00       	mov    0x43807c,%eax
41dea6:	8b 0d 78 80 43 00    	mov    0x438078,%ecx
41deac:	83 25 60 80 43 00 00 	andl   $0x0,0x438060
41deb3:	83 25 78 80 43 00 00 	andl   $0x0,0x438078
41deba:	83 25 7c 80 43 00 00 	andl   $0x0,0x43807c
41dec1:	50                   	push   %eax
41dec2:	51                   	push   %ecx
41dec3:	ff 15 64 a3 43 00    	call   *0x43a364
41dec9:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
41dece:	74 0f                	je     0x41dedf
41ded0:	85 db                	test   %ebx,%ebx
41ded2:	74 0b                	je     0x41dedf
41ded4:	68 e8 03 00 00       	push   $0x3e8
41ded9:	ff 15 ec a2 43 00    	call   *0x43a2ec
41dedf:	83 66 0c 00          	andl   $0x0,0xc(%esi)
41dee3:	68 1c 8f 43 00       	push   $0x438f1c
41dee8:	ff 15 a0 a2 43 00    	call   *0x43a2a0
41deee:	8b 8c 24 5c 01 00 00 	mov    0x15c(%esp),%ecx
41def5:	5f                   	pop    %edi
41def6:	5e                   	pop    %esi
41def7:	5b                   	pop    %ebx
41def8:	33 cc                	xor    %esp,%ecx
41defa:	e8 c1 c8 ff ff       	call   0x41a7c0
41deff:	8b e5                	mov    %ebp,%esp
41df01:	5d                   	pop    %ebp
41df02:	c2 10 00             	ret    $0x10
41df05:	cc                   	int3
41df06:	cc                   	int3
41df07:	cc                   	int3
41df08:	cc                   	int3
41df09:	cc                   	int3
41df0a:	cc                   	int3
41df0b:	cc                   	int3
41df0c:	cc                   	int3
41df0d:	cc                   	int3
41df0e:	cc                   	int3
41df0f:	cc                   	int3
41df10:	57                   	push   %edi
41df11:	56                   	push   %esi
41df12:	53                   	push   %ebx
41df13:	33 ff                	xor    %edi,%edi
41df15:	8b 44 24 14          	mov    0x14(%esp),%eax
41df19:	0b c0                	or     %eax,%eax
41df1b:	7d 14                	jge    0x41df31
41df1d:	47                   	inc    %edi
41df1e:	8b 54 24 10          	mov    0x10(%esp),%edx
41df22:	f7 d8                	neg    %eax
41df24:	f7 da                	neg    %edx
41df26:	83 d8 00             	sbb    $0x0,%eax
41df29:	89 44 24 14          	mov    %eax,0x14(%esp)
41df2d:	89 54 24 10          	mov    %edx,0x10(%esp)
41df31:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41df35:	0b c0                	or     %eax,%eax
41df37:	7d 14                	jge    0x41df4d
41df39:	47                   	inc    %edi
41df3a:	8b 54 24 18          	mov    0x18(%esp),%edx
41df3e:	f7 d8                	neg    %eax
41df40:	f7 da                	neg    %edx
41df42:	83 d8 00             	sbb    $0x0,%eax
41df45:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41df49:	89 54 24 18          	mov    %edx,0x18(%esp)
41df4d:	0b c0                	or     %eax,%eax
41df4f:	75 18                	jne    0x41df69
41df51:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41df55:	8b 44 24 14          	mov    0x14(%esp),%eax
41df59:	33 d2                	xor    %edx,%edx
41df5b:	f7 f1                	div    %ecx
41df5d:	8b d8                	mov    %eax,%ebx
41df5f:	8b 44 24 10          	mov    0x10(%esp),%eax
41df63:	f7 f1                	div    %ecx
41df65:	8b d3                	mov    %ebx,%edx
41df67:	eb 41                	jmp    0x41dfaa
41df69:	8b d8                	mov    %eax,%ebx
41df6b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41df6f:	8b 54 24 14          	mov    0x14(%esp),%edx
41df73:	8b 44 24 10          	mov    0x10(%esp),%eax
41df77:	d1 eb                	shr    $1,%ebx
41df79:	d1 d9                	rcr    $1,%ecx
41df7b:	d1 ea                	shr    $1,%edx
41df7d:	d1 d8                	rcr    $1,%eax
41df7f:	0b db                	or     %ebx,%ebx
41df81:	75 f4                	jne    0x41df77
41df83:	f7 f1                	div    %ecx
41df85:	8b f0                	mov    %eax,%esi
41df87:	f7 64 24 1c          	mull   0x1c(%esp)
41df8b:	8b c8                	mov    %eax,%ecx
41df8d:	8b 44 24 18          	mov    0x18(%esp),%eax
41df91:	f7 e6                	mul    %esi
41df93:	03 d1                	add    %ecx,%edx
41df95:	72 0e                	jb     0x41dfa5
41df97:	3b 54 24 14          	cmp    0x14(%esp),%edx
41df9b:	77 08                	ja     0x41dfa5
41df9d:	72 07                	jb     0x41dfa6
41df9f:	3b 44 24 10          	cmp    0x10(%esp),%eax
41dfa3:	76 01                	jbe    0x41dfa6
41dfa5:	4e                   	dec    %esi
41dfa6:	33 d2                	xor    %edx,%edx
41dfa8:	8b c6                	mov    %esi,%eax
41dfaa:	4f                   	dec    %edi
41dfab:	75 07                	jne    0x41dfb4
41dfad:	f7 da                	neg    %edx
41dfaf:	f7 d8                	neg    %eax
41dfb1:	83 da 00             	sbb    $0x0,%edx
41dfb4:	5b                   	pop    %ebx
41dfb5:	5e                   	pop    %esi
41dfb6:	5f                   	pop    %edi
41dfb7:	c2 10 00             	ret    $0x10
41dfba:	cc                   	int3
41dfbb:	cc                   	int3
41dfbc:	cc                   	int3
41dfbd:	cc                   	int3
41dfbe:	cc                   	int3
41dfbf:	cc                   	int3
41dfc0:	8b 44 24 08          	mov    0x8(%esp),%eax
41dfc4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41dfc8:	0b c8                	or     %eax,%ecx
41dfca:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41dfce:	75 09                	jne    0x41dfd9
41dfd0:	8b 44 24 04          	mov    0x4(%esp),%eax
41dfd4:	f7 e1                	mul    %ecx
41dfd6:	c2 10 00             	ret    $0x10
41dfd9:	53                   	push   %ebx
41dfda:	f7 e1                	mul    %ecx
41dfdc:	8b d8                	mov    %eax,%ebx
41dfde:	8b 44 24 08          	mov    0x8(%esp),%eax
41dfe2:	f7 64 24 14          	mull   0x14(%esp)
41dfe6:	03 d8                	add    %eax,%ebx
41dfe8:	8b 44 24 08          	mov    0x8(%esp),%eax
41dfec:	f7 e1                	mul    %ecx
41dfee:	03 d3                	add    %ebx,%edx
41dff0:	5b                   	pop    %ebx
41dff1:	c2 10 00             	ret    $0x10
41dff4:	cc                   	int3
41dff5:	cc                   	int3
41dff6:	cc                   	int3
41dff7:	cc                   	int3
41dff8:	cc                   	int3
41dff9:	cc                   	int3
41dffa:	cc                   	int3
41dffb:	cc                   	int3
41dffc:	cc                   	int3
41dffd:	cc                   	int3
41dffe:	cc                   	int3
41dfff:	cc                   	int3
41e000:	51                   	push   %ecx
41e001:	8d 4c 24 08          	lea    0x8(%esp),%ecx
41e005:	2b c8                	sub    %eax,%ecx
41e007:	83 e1 0f             	and    $0xf,%ecx
41e00a:	03 c1                	add    %ecx,%eax
41e00c:	1b c9                	sbb    %ecx,%ecx
41e00e:	0b c1                	or     %ecx,%eax
41e010:	59                   	pop    %ecx
41e011:	e9 1a 00 00 00       	jmp    0x41e030
41e016:	51                   	push   %ecx
41e017:	8d 4c 24 08          	lea    0x8(%esp),%ecx
41e01b:	2b c8                	sub    %eax,%ecx
41e01d:	83 e1 07             	and    $0x7,%ecx
41e020:	03 c1                	add    %ecx,%eax
41e022:	1b c9                	sbb    %ecx,%ecx
41e024:	0b c1                	or     %ecx,%eax
41e026:	59                   	pop    %ecx
41e027:	e9 04 00 00 00       	jmp    0x41e030
41e02c:	cc                   	int3
41e02d:	cc                   	int3
41e02e:	cc                   	int3
41e02f:	cc                   	int3
41e030:	51                   	push   %ecx
41e031:	8d 4c 24 04          	lea    0x4(%esp),%ecx
41e035:	2b c8                	sub    %eax,%ecx
41e037:	1b c0                	sbb    %eax,%eax
41e039:	f7 d0                	not    %eax
41e03b:	23 c8                	and    %eax,%ecx
41e03d:	8b c4                	mov    %esp,%eax
41e03f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
41e044:	3b c8                	cmp    %eax,%ecx
41e046:	72 0a                	jb     0x41e052
41e048:	8b c1                	mov    %ecx,%eax
41e04a:	59                   	pop    %ecx
41e04b:	94                   	xchg   %eax,%esp
41e04c:	8b 00                	mov    (%eax),%eax
41e04e:	89 04 24             	mov    %eax,(%esp)
41e051:	c3                   	ret
41e052:	2d 00 10 00 00       	sub    $0x1000,%eax
41e057:	85 00                	test   %eax,(%eax)
41e059:	eb e9                	jmp    0x41e044
41e05b:	ff 25 34 a4 43 00    	jmp    *0x43a434
41e061:	ff 25 f8 a4 43 00    	jmp    *0x43a4f8
41e067:	cc                   	int3
41e068:	cc                   	int3
41e069:	cc                   	int3
41e06a:	cc                   	int3
41e06b:	cc                   	int3
41e06c:	cc                   	int3
41e06d:	cc                   	int3