41daa3:	8b c6                	mov    %esi,%eax
41daa5:	e8 32 d3 ff ff       	call   0x41addc
41daaa:	c2 08 00             	ret    $0x8
41daad:	8b ff                	mov    %edi,%edi
41daaf:	55                   	push   %ebp
41dab0:	8b ec                	mov    %esp,%ebp
41dab2:	83 e4 f8             	and    $0xfffffff8,%esp
41dab5:	83 ec 54             	sub    $0x54,%esp
41dab8:	a1 08 85 43 00       	mov    0x438508,%eax
41dabd:	33 c4                	xor    %esp,%eax
41dabf:	89 44 24 50          	mov    %eax,0x50(%esp)
41dac3:	53                   	push   %ebx
41dac4:	8b d9                	mov    %ecx,%ebx
41dac6:	33 d2                	xor    %edx,%edx
41dac8:	8b 4d 08             	mov    0x8(%ebp),%ecx
41dacb:	56                   	push   %esi
41dacc:	57                   	push   %edi
41dacd:	8b 03                	mov    (%ebx),%eax
41dacf:	89 4c 24 10          	mov    %ecx,0x10(%esp)
41dad3:	8d 70 07             	lea    0x7(%eax),%esi
41dad6:	83 e6 f8             	and    $0xfffffff8,%esi
41dad9:	2b f0                	sub    %eax,%esi
41dadb:	89 74 24 14          	mov    %esi,0x14(%esp)
41dadf:	74 32                	je     0x41db13
41dae1:	39 53 08             	cmp    %edx,0x8(%ebx)
41dae4:	74 2d                	je     0x41db13
41dae6:	8b 7b 10             	mov    0x10(%ebx),%edi
41dae9:	52                   	push   %edx
41daea:	56                   	push   %esi
41daeb:	68 18 86 43 00       	push   $0x438618
41daf0:	8b 07                	mov    (%edi),%eax
41daf2:	8b 70 04             	mov    0x4(%eax),%esi
41daf5:	8b ce                	mov    %esi,%ecx
41daf7:	ff 15 20 a5 43 00    	call   *0x43a520
41dafd:	8b cf                	mov    %edi,%ecx
41daff:	ff d6                	call   *%esi
41db01:	8b d0                	mov    %eax,%edx
41db03:	85 d2                	test   %edx,%edx
41db05:	0f 88 d4 00 00 00    	js     0x41dbdf
41db0b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41db0f:	8b 74 24 14          	mov    0x14(%esp),%esi
41db13:	01 33                	add    %esi,(%ebx)
41db15:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
41db19:	0f 84 aa 00 00 00    	je     0x41dbc9
41db1f:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
41db23:	0f 84 85 00 00 00    	je     0x41dbae
41db29:	6a 40                	push   $0x40
41db2b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41db2f:	6a 00                	push   $0x0
41db31:	50                   	push   %eax
41db32:	e8 2a 05 00 00       	call   0x41e061
41db37:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
41db3b:	83 c4 0c             	add    $0xc,%esp
41db3e:	85 c9                	test   %ecx,%ecx
41db40:	74 62                	je     0x41dba4
41db42:	8b 01                	mov    (%ecx),%eax
41db44:	8d 71 10             	lea    0x10(%ecx),%esi
41db47:	83 64 24 3c 00       	andl   $0x0,0x3c(%esp)
41db4c:	8d 7c 24 28          	lea    0x28(%esp),%edi
41db50:	83 64 24 44 00       	andl   $0x0,0x44(%esp)
41db55:	83 64 24 54 00       	andl   $0x0,0x54(%esp)
41db5a:	89 44 24 18          	mov    %eax,0x18(%esp)
41db5e:	8b 41 04             	mov    0x4(%ecx),%eax
41db61:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41db65:	8b 41 08             	mov    0x8(%ecx),%eax
41db68:	89 44 24 20          	mov    %eax,0x20(%esp)
41db6c:	8b 41 0c             	mov    0xc(%ecx),%eax
41db6f:	89 44 24 24          	mov    %eax,0x24(%esp)
41db73:	8b 41 20             	mov    0x20(%ecx),%eax
41db76:	83 f8 01             	cmp    $0x1,%eax
41db79:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41db7a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41db7b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41db7c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41db7d:	89 44 24 38          	mov    %eax,0x38(%esp)
41db81:	8b 41 24             	mov    0x24(%ecx),%eax
41db84:	74 05                	je     0x41db8b
41db86:	99                   	cltd
41db87:	89 54 24 44          	mov    %edx,0x44(%esp)
41db8b:	89 44 24 40          	mov    %eax,0x40(%esp)
41db8f:	8b 41 28             	mov    0x28(%ecx),%eax
41db92:	89 44 24 48          	mov    %eax,0x48(%esp)
41db96:	8b 41 2c             	mov    0x2c(%ecx),%eax
41db99:	89 44 24 4c          	mov    %eax,0x4c(%esp)
41db9d:	8b 41 30             	mov    0x30(%ecx),%eax
41dba0:	89 44 24 50          	mov    %eax,0x50(%esp)
41dba4:	6a 00                	push   $0x0
41dba6:	6a 40                	push   $0x40
41dba8:	8d 4c 24 20          	lea    0x20(%esp),%ecx
41dbac:	eb 04                	jmp    0x41dbb2
41dbae:	6a 00                	push   $0x0
41dbb0:	6a 34                	push   $0x34
41dbb2:	8b 7b 10             	mov    0x10(%ebx),%edi
41dbb5:	51                   	push   %ecx
41dbb6:	8b 07                	mov    (%edi),%eax
41dbb8:	8b 70 04             	mov    0x4(%eax),%esi
41dbbb:	8b ce                	mov    %esi,%ecx
41dbbd:	ff 15 20 a5 43 00    	call   *0x43a520
41dbc3:	8b cf                	mov    %edi,%ecx
41dbc5:	ff d6                	call   *%esi
41dbc7:	8b d0                	mov    %eax,%edx
41dbc9:	85 d2                	test   %edx,%edx
41dbcb:	78 12                	js     0x41dbdf
41dbcd:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
41dbd1:	8b 03                	mov    (%ebx),%eax
41dbd3:	74 05                	je     0x41dbda
41dbd5:	83 c0 40             	add    $0x40,%eax
41dbd8:	eb 03                	jmp    0x41dbdd
41dbda:	83 c0 34             	add    $0x34,%eax
41dbdd:	89 03                	mov    %eax,(%ebx)
41dbdf:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
41dbe3:	8b c2                	mov    %edx,%eax
41dbe5:	5f                   	pop    %edi
41dbe6:	5e                   	pop    %esi
41dbe7:	5b                   	pop    %ebx
41dbe8:	33 cc                	xor    %esp,%ecx
41dbea:	e8 d1 cb ff ff       	call   0x41a7c0
41dbef:	8b e5                	mov    %ebp,%esp
41dbf1:	5d                   	pop    %ebp
41dbf2:	c2 04 00             	ret    $0x4
41dbf5:	8b ff                	mov    %edi,%edi
41dbf7:	55                   	push   %ebp
41dbf8:	8b ec                	mov    %esp,%ebp
41dbfa:	83 e4 f8             	and    $0xfffffff8,%esp
41dbfd:	81 ec 54 01 00 00    	sub    $0x154,%esp
41dc03:	a1 08 85 43 00       	mov    0x438508,%eax
41dc08:	33 c4                	xor    %esp,%eax
41dc0a:	89 84 24 50 01 00 00 	mov    %eax,0x150(%esp)
41dc11:	53                   	push   %ebx
41dc12:	56                   	push   %esi
41dc13:	57                   	push   %edi
41dc14:	33 db                	xor    %ebx,%ebx
41dc16:	8b f9                	mov    %ecx,%edi
41dc18:	21 5c 24 1c          	and    %ebx,0x1c(%esp)
41dc1c:	68 1c 8f 43 00       	push   $0x438f1c
41dc21:	ff 15 88 a2 43 00    	call   *0x43a288
41dc27:	8b 35 84 8a 43 00    	mov    0x438a84,%esi
41dc2d:	85 f6                	test   %esi,%esi
41dc2f:	74 14                	je     0x41dc45
41dc31:	39 3e                	cmp    %edi,(%esi)
41dc33:	75 05                	jne    0x41dc3a
41dc35:	39 5e 04             	cmp    %ebx,0x4(%esi)
41dc38:	74 07                	je     0x41dc41
41dc3a:	8b 76 14             	mov    0x14(%esi),%esi
41dc3d:	85 f6                	test   %esi,%esi
41dc3f:	75 f0                	jne    0x41dc31
41dc41:	85 f6                	test   %esi,%esi
41dc43:	75 3b                	jne    0x41dc80
41dc45:	6a 18                	push   $0x18
41dc47:	6a 40                	push   $0x40
41dc49:	ff 15 2c a1 43 00    	call   *0x43a12c
41dc4f:	8b f0                	mov    %eax,%esi
41dc51:	85 f6                	test   %esi,%esi
41dc53:	0f 84 8a 02 00 00    	je     0x41dee3
41dc59:	21 5e 04             	and    %ebx,0x4(%esi)
41dc5c:	89 3e                	mov    %edi,(%esi)
41dc5e:	ff 15 04 a3 43 00    	call   *0x43a304
41dc64:	21 5e 0c             	and    %ebx,0xc(%esi)
41dc67:	2d 61 ea 00 00       	sub    $0xea61,%eax
41dc6c:	21 5e 10             	and    %ebx,0x10(%esi)
41dc6f:	89 46 08             	mov    %eax,0x8(%esi)
41dc72:	a1 84 8a 43 00       	mov    0x438a84,%eax
41dc77:	89 46 14             	mov    %eax,0x14(%esi)
41dc7a:	89 35 84 8a 43 00    	mov    %esi,0x438a84
41dc80:	ff 46 0c             	incl   0xc(%esi)
41dc83:	ff 46 10             	incl   0x10(%esi)
41dc86:	ff 15 04 a3 43 00    	call   *0x43a304
41dc8c:	2b 46 08             	sub    0x8(%esi),%eax
41dc8f:	3d 60 ea 00 00       	cmp    $0xea60,%eax
41dc94:	0f 86 49 02 00 00    	jbe    0x41dee3
41dc9a:	ff 15 04 a3 43 00    	call   *0x43a304
41dca0:	89 46 08             	mov    %eax,0x8(%esi)
41dca3:	8d 54 24 50          	lea    0x50(%esp),%edx
41dca7:	8d 44 24 18          	lea    0x18(%esp),%eax
41dcab:	50                   	push   %eax
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