41ebb1:	83 3e 3b             	cmpl   $0x3b,(%esi)
41ebb4:	0f 84 1c 20 ff ff    	je     0x410bd6
41ebba:	83 3d 1c 95 44 00 00 	cmpl   $0x0,0x44951c
41ebc1:	0f 85 0f 20 ff ff    	jne    0x410bd6
41ebc7:	e8 d2 8a 00 00       	call   0x42769e
41ebcc:	33 d2                	xor    %edx,%edx
41ebce:	8b ce                	mov    %esi,%ecx
41ebd0:	e8 79 4f 00 00       	call   0x423b4e
41ebd5:	68 8c 1f 40 00       	push   $0x401f8c
41ebda:	e8 71 ad fe ff       	call   0x409950
41ebdf:	59                   	pop    %ecx
41ebe0:	e9 f1 1f ff ff       	jmp    0x410bd6
41ebe5:	83 f8 27             	cmp    $0x27,%eax
41ebe8:	0f 84 6d 20 ff ff    	je     0x410c5b
41ebee:	33 f6                	xor    %esi,%esi
41ebf0:	e9 6e 20 ff ff       	jmp    0x410c63
41ebf5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ebf8:	bf 01 00 00 00       	mov    $0x1,%edi
41ebfd:	83 c1 0e             	add    $0xe,%ecx
41ec00:	89 7d f0             	mov    %edi,-0x10(%ebp)
41ec03:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ec06:	e9 16 25 ff ff       	jmp    0x411121
41ec0b:	ff 75 fc             	push   -0x4(%ebp)
41ec0e:	6a 01                	push   $0x1
41ec10:	68 4a 23 00 00       	push   $0x234a
41ec15:	e8 ca 8c fe ff       	call   0x4078e4
41ec1a:	83 c4 0c             	add    $0xc,%esp
41ec1d:	b8 01 00 00 00       	mov    $0x1,%eax
41ec22:	e9 b2 24 ff ff       	jmp    0x4110d9
41ec27:	6a 00                	push   $0x0
41ec29:	68 74 23 00 00       	push   $0x2374
41ec2e:	e8 b1 8c fe ff       	call   0x4078e4
41ec33:	83 c4 08             	add    $0x8,%esp
41ec36:	e8 e7 ac 00 00       	call   0x429922
41ec3b:	6a 01                	push   $0x1
41ec3d:	68 30 0a 44 00       	push   $0x440a30
41ec42:	ff 15 30 a4 44 00    	call   *0x44a430
41ec48:	a1 e4 90 44 00       	mov    0x4490e4,%eax
41ec4d:	a3 40 67 43 00       	mov    %eax,0x436740
41ec52:	a1 e0 90 44 00       	mov    0x4490e0,%eax
41ec57:	c7 05 38 67 43 00 00 	movl   $0x0,0x436738
41ec5e:	00 00 00
41ec61:	a3 3c 67 43 00       	mov    %eax,0x43673c
41ec66:	e9 ef 21 ff ff       	jmp    0x410e5a
41ec6b:	e8 45 ac 00 00       	call   0x4298b5
41ec70:	e9 f2 21 ff ff       	jmp    0x410e67
41ec75:	8b ce                	mov    %esi,%ecx
41ec77:	e8 e4 ef fe ff       	call   0x40dc60
41ec7c:	33 db                	xor    %ebx,%ebx
41ec7e:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41ec81:	e9 0f 27 ff ff       	jmp    0x411395
41ec86:	33 c0                	xor    %eax,%eax
41ec88:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ec8b:	e9 26 28 ff ff       	jmp    0x4114b6
41ec90:	33 d2                	xor    %edx,%edx
41ec92:	e9 49 27 ff ff       	jmp    0x4113e0
41ec97:	e8 19 ac 00 00       	call   0x4298b5
41ec9c:	e9 69 22 ff ff       	jmp    0x410f0a
41eca1:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
41eca4:	8b 7d a0             	mov    -0x60(%ebp),%edi
41eca7:	e9 94 21 ff ff       	jmp    0x410e40
41ecac:	8b ce                	mov    %esi,%ecx
41ecae:	e8 ad ef fe ff       	call   0x40dc60
41ecb3:	ff 75 e4             	push   -0x1c(%ebp)
41ecb6:	ff 15 fc a3 44 00    	call   *0x44a3fc
41ecbc:	83 c4 04             	add    $0x4,%esp
41ecbf:	b8 08 00 00 00       	mov    $0x8,%eax
41ecc4:	e9 10 24 ff ff       	jmp    0x4110d9
41ecc9:	ff 75 f8             	push   -0x8(%ebp)
41eccc:	6a 01                	push   $0x1
41ecce:	68 74 23 00 00       	push   $0x2374
41ecd3:	e8 0c 8c fe ff       	call   0x4078e4
41ecd8:	83 c4 0c             	add    $0xc,%esp
41ecdb:	b8 08 00 00 00       	mov    $0x8,%eax
41ece0:	e9 f4 23 ff ff       	jmp    0x4110d9
41ece5:	56                   	push   %esi
41ece6:	6a 01                	push   $0x1
41ece8:	68 31 23 00 00       	push   $0x2331
41eced:	e8 f2 8b fe ff       	call   0x4078e4
41ecf2:	83 c4 0c             	add    $0xc,%esp
41ecf5:	ff 15 80 a0 44 00    	call   *0x44a080
41ecfb:	e9 d9 23 ff ff       	jmp    0x4110d9
41ed00:	53                   	push   %ebx
41ed01:	ff 15 1c a1 44 00    	call   *0x44a11c
41ed07:	b8 08 00 00 00       	mov    $0x8,%eax
41ed0c:	e9 c8 23 ff ff       	jmp    0x4110d9
41ed11:	56                   	push   %esi
41ed12:	6a 01                	push   $0x1
41ed14:	68 63 23 00 00       	push   $0x2363
41ed19:	e8 c6 8b fe ff       	call   0x4078e4
41ed1e:	83 c4 0c             	add    $0xc,%esp
41ed21:	ff 15 80 a0 44 00    	call   *0x44a080
41ed27:	e9 ad 23 ff ff       	jmp    0x4110d9
41ed2c:	8b 46 1c             	mov    0x1c(%esi),%eax
41ed2f:	48                   	dec    %eax
41ed30:	89 46 24             	mov    %eax,0x24(%esi)
41ed33:	8b 07                	mov    (%edi),%eax
41ed35:	e9 59 2a ff ff       	jmp    0x411793
41ed3a:	83 c8 04             	or     $0x4,%eax
41ed3d:	89 07                	mov    %eax,(%edi)
41ed3f:	e9 5a 2a ff ff       	jmp    0x41179e
41ed44:	0d 00 01 00 00       	or     $0x100,%eax
41ed49:	33 c9                	xor    %ecx,%ecx
41ed4b:	89 07                	mov    %eax,(%edi)
41ed4d:	39 4f 5c             	cmp    %ecx,0x5c(%edi)
41ed50:	0f 84 2c 2b ff ff    	je     0x411882
41ed56:	51                   	push   %ecx
41ed57:	68 13 27 00 40       	push   $0x40002713
41ed5c:	e8 83 8b fe ff       	call   0x4078e4
41ed61:	59                   	pop    %ecx
41ed62:	59                   	pop    %ecx
41ed63:	e9 53 2a ff ff       	jmp    0x4117bb
41ed68:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ed6b:	85 c0                	test   %eax,%eax
41ed6d:	75 06                	jne    0x41ed75
41ed6f:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41ed75:	50                   	push   %eax
41ed76:	8d 8d 98 f7 ff ff    	lea    -0x868(%ebp),%ecx
41ed7c:	e8 c0 b8 fe ff       	call   0x40a641
41ed81:	8b 53 04             	mov    0x4(%ebx),%edx
41ed84:	8d 4a 02             	lea    0x2(%edx),%ecx
41ed87:	66 8b 02             	mov    (%edx),%ax
41ed8a:	83 c2 02             	add    $0x2,%edx
41ed8d:	66 3b 85 88 f7 ff ff 	cmp    -0x878(%ebp),%ax
41ed94:	75 f1                	jne    0x41ed87
41ed96:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ed99:	2b d1                	sub    %ecx,%edx
41ed9b:	d1 fa                	sar    $1,%edx
41ed9d:	85 c0                	test   %eax,%eax
41ed9f:	75 06                	jne    0x41eda7
41eda1:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41eda7:	ff 75 f0             	push   -0x10(%ebp)
41edaa:	8b 4b 04             	mov    0x4(%ebx),%ecx
41edad:	42                   	inc    %edx
41edae:	50                   	push   %eax
41edaf:	e8 b1 8f fe ff       	call   0x407d65
41edb4:	8b 8d a0 f9 ff ff    	mov    -0x660(%ebp),%ecx
41edba:	85 c9                	test   %ecx,%ecx
41edbc:	75 06                	jne    0x41edc4
41edbe:	8d 8d 98 f7 ff ff    	lea    -0x868(%ebp),%ecx
41edc4:	8b 45 e8             	mov    -0x18(%ebp),%eax
41edc7:	85 c0                	test   %eax,%eax
41edc9:	75 06                	jne    0x41edd1
41edcb:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41edd1:	51                   	push   %ecx
41edd2:	50                   	push   %eax
41edd3:	ff 15 40 a4 44 00    	call   *0x44a440
41edd9:	59                   	pop    %ecx
41edda:	59                   	pop    %ecx
41eddb:	85 c0                	test   %eax,%eax
41eddd:	0f 84 a7 2a ff ff    	je     0x41188a
41ede3:	83 bd 8c f7 ff ff 00 	cmpl   $0x0,-0x874(%ebp)
41edea:	74 0f                	je     0x41edfb
41edec:	8b ce                	mov    %esi,%ecx
41edee:	e8 05 5c fe ff       	call   0x4049f8
41edf3:	85 c0                	test   %eax,%eax
41edf5:	0f 85 c0 29 ff ff    	jne    0x4117bb
41edfb:	8b 53 04             	mov    0x4(%ebx),%edx
41edfe:	8b ce                	mov    %esi,%ecx
41ee00:	e8 b8 c0 00 00       	call   0x42aebd
41ee05:	85 c0                	test   %eax,%eax
41ee07:	0f 85 ae 29 ff ff    	jne    0x4117bb
41ee0d:	e9 78 2a ff ff       	jmp    0x41188a
41ee12:	83 c8 04             	or     $0x4,%eax
41ee15:	e9 97 2a ff ff       	jmp    0x4118b1
41ee1a:	68 b8 20 40 00       	push   $0x4020b8
41ee1f:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
41ee25:	e8 17 b8 fe ff       	call   0x40a641
41ee2a:	8b 03                	mov    (%ebx),%eax
41ee2c:	85 c0                	test   %eax,%eax
41ee2e:	74 44                	je     0x41ee74
41ee30:	8b 40 04             	mov    0x4(%eax),%eax
41ee33:	8b d0                	mov    %eax,%edx
41ee35:	89 85 94 f7 ff ff    	mov    %eax,-0x86c(%ebp)
41ee3b:	8d 4a 02             	lea    0x2(%edx),%ecx
41ee3e:	66 8b 02             	mov    (%edx),%ax
41ee41:	83 c2 02             	add    $0x2,%edx
41ee44:	66 3b 85 88 f7 ff ff 	cmp    -0x878(%ebp),%ax
41ee4b:	75 f1                	jne    0x41ee3e
41ee4d:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
41ee53:	2b d1                	sub    %ecx,%edx
41ee55:	d1 fa                	sar    $1,%edx
41ee57:	85 c0                	test   %eax,%eax
41ee59:	75 06                	jne    0x41ee61
41ee5b:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
41ee61:	ff b5 d8 fd ff ff    	push   -0x228(%ebp)
41ee67:	8b 8d 94 f7 ff ff    	mov    -0x86c(%ebp),%ecx
41ee6d:	42                   	inc    %edx
41ee6e:	50                   	push   %eax
41ee6f:	e8 f1 8e fe ff       	call   0x407d65
41ee74:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ee77:	85 c9                	test   %ecx,%ecx
41ee79:	75 06                	jne    0x41ee81
41ee7b:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41ee81:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
41ee87:	85 c0                	test   %eax,%eax
41ee89:	75 06                	jne    0x41ee91
41ee8b:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
41ee91:	51                   	push   %ecx
41ee92:	50                   	push   %eax
41ee93:	ff 15 40 a4 44 00    	call   *0x44a440
41ee99:	59                   	pop    %ecx
41ee9a:	59                   	pop    %ecx
41ee9b:	85 c0                	test   %eax,%eax
41ee9d:	0f 84 60 2a ff ff    	je     0x411903
41eea3:	f6 07 10             	testb  $0x10,(%edi)
41eea6:	74 27                	je     0x41eecf
41eea8:	8b ce                	mov    %esi,%ecx
41eeaa:	e8 49 5b fe ff       	call   0x4049f8
41eeaf:	85 c0                	test   %eax,%eax
41eeb1:	0f 85 07 29 ff ff    	jne    0x4117be
41eeb7:	ff 37                	push   (%edi)
41eeb9:	8b 57 60             	mov    0x60(%edi),%edx
41eebc:	8d 47 68             	lea    0x68(%edi),%eax
41eebf:	50                   	push   %eax
41eec0:	8b ce                	mov    %esi,%ecx
41eec2:	e8 b8 bf 00 00       	call   0x42ae7f
41eec7:	85 c0                	test   %eax,%eax
41eec9:	0f 85 ef 28 ff ff    	jne    0x4117be
41eecf:	8b 95 b8 fb ff ff    	mov    -0x448(%ebp),%edx
41eed5:	85 d2                	test   %edx,%edx
41eed7:	75 06                	jne    0x41eedf
41eed9:	8d 95 b0 f9 ff ff    	lea    -0x650(%ebp),%edx
41eedf:	ff 77 64             	push   0x64(%edi)
41eee2:	8b ce                	mov    %esi,%ecx
41eee4:	ff 37                	push   (%edi)
41eee6:	e8 6e b8 00 00       	call   0x42a759
41eeeb:	85 c0                	test   %eax,%eax
41eeed:	0f 85 cb 28 ff ff    	jne    0x4117be
41eef3:	e9 0b 2a ff ff       	jmp    0x411903
41eef8:	8b 85 90 f7 ff ff    	mov    -0x870(%ebp),%eax
41eefe:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
41ef05:	0f 85 f8 29 ff ff    	jne    0x411903
41ef0b:	83 f8 05             	cmp    $0x5,%eax
41ef0e:	75 0c                	jne    0x41ef1c
41ef10:	33 c0                	xor    %eax,%eax
41ef12:	50                   	push   %eax
41ef13:	6a 05                	push   $0x5
41ef15:	e8 ca 89 fe ff       	call   0x4078e4
41ef1a:	eb 29                	jmp    0x41ef45
41ef1c:	8b 47 60             	mov    0x60(%edi),%eax
41ef1f:	03 47 64             	add    0x64(%edi),%eax
41ef22:	0f 85 db 29 ff ff    	jne    0x411903
41ef28:	8b ce                	mov    %esi,%ecx
41ef2a:	e8 60 5a fe ff       	call   0x40498f
41ef2f:	33 c0                	xor    %eax,%eax
41ef31:	50                   	push   %eax
41ef32:	68 11 27 00 40       	push   $0x40002711
41ef37:	e8 a8 89 fe ff       	call   0x4078e4
41ef3c:	33 c0                	xor    %eax,%eax
41ef3e:	40                   	inc    %eax
41ef3f:	89 85 90 f7 ff ff    	mov    %eax,-0x870(%ebp)
41ef45:	59                   	pop    %ecx
41ef46:	59                   	pop    %ecx
41ef47:	e9 b7 29 ff ff       	jmp    0x411903
41ef4c:	68 00 80 00 00       	push   $0x8000
41ef51:	6a 00                	push   $0x0
41ef53:	50                   	push   %eax
41ef54:	ff 15 a4 a1 44 00    	call   *0x44a1a4
41ef5a:	83 24 b5 7c 67 43 00 	andl   $0x0,0x43677c(,%esi,4)
41ef61:	00
41ef62:	5e                   	pop    %esi
41ef63:	c3                   	ret
41ef64:	80 3d 7c e5 42 00 00 	cmpb   $0x0,0x42e57c
41ef6b:	0f 84 1c 2b ff ff    	je     0x411a8d
41ef71:	8d 95 c8 fd ff ff    	lea    -0x238(%ebp),%edx
41ef77:	e8 df 2f ff ff       	call   0x411f5b
41ef7c:	83 f8 01             	cmp    $0x1,%eax
41ef7f:	75 11                	jne    0x41ef92
41ef81:	88 1d 7c e5 42 00    	mov    %bl,0x42e57c
41ef87:	8b 35 48 67 43 00    	mov    0x436748,%esi
41ef8d:	e9 fb 2a ff ff       	jmp    0x411a8d
41ef92:	8b 85 cc fd ff ff    	mov    -0x234(%ebp),%eax
41ef98:	33 d2                	xor    %edx,%edx
41ef9a:	8b b5 d0 fd ff ff    	mov    -0x230(%ebp),%esi
41efa0:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
41efa6:	a3 e4 a7 43 00       	mov    %eax,0x43a7e4
41efab:	8b c6                	mov    %esi,%eax
41efad:	2b b5 c8 fd ff ff    	sub    -0x238(%ebp),%esi
41efb3:	2b c1                	sub    %ecx,%eax
41efb5:	6b c0 64             	imul   $0x64,%eax,%eax
41efb8:	89 0d ec a7 43 00    	mov    %ecx,0x43a7ec
41efbe:	f7 f6                	div    %esi
41efc0:	83 f8 5a             	cmp    $0x5a,%eax
41efc3:	72 c2                	jb     0x41ef87
41efc5:	50                   	push   %eax
41efc6:	ff 35 78 e5 42 00    	push   0x42e578
41efcc:	6a 02                	push   $0x2
41efce:	68 27 27 00 40       	push   $0x40002727
41efd3:	e8 0c 89 fe ff       	call   0x4078e4
41efd8:	83 c4 10             	add    $0x10,%esp
41efdb:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
41efe2:	74 05                	je     0x41efe9
41efe4:	e8 cc a8 00 00       	call   0x4298b5
41efe9:	e8 ae 4a 00 00       	call   0x423a9c
41efee:	8b 86 10 01 00 00    	mov    0x110(%esi),%eax
41eff4:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41effa:	a3 48 67 43 00       	mov    %eax,0x436748
41efff:	e8 e2 71 ff ff       	call   0x4161e6
41f004:	33 c0                	xor    %eax,%eax
41f006:	40                   	inc    %eax
41f007:	e9 a1 2b ff ff       	jmp    0x411bad
41f00c:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41f012:	e9 11 2b ff ff       	jmp    0x411b28
41f017:	83 f8 44             	cmp    $0x44,%eax
41f01a:	0f 84 e7 2b ff ff    	je     0x411c07
41f020:	e9 10 2c ff ff       	jmp    0x411c35
41f025:	83 f8 4d             	cmp    $0x4d,%eax
41f028:	0f 84 e7 2b ff ff    	je     0x411c15
41f02e:	e9 02 2c ff ff       	jmp    0x411c35
41f033:	83 f8 43             	cmp    $0x43,%eax
41f036:	0f 84 e7 2b ff ff    	je     0x411c23
41f03c:	e9 f4 2b ff ff       	jmp    0x411c35
41f041:	ff 15 04 a3 44 00    	call   *0x44a304
41f047:	ff 76 30             	push   0x30(%esi)
41f04a:	ff 15 1c a1 44 00    	call   *0x44a11c
41f050:	89 7e 30             	mov    %edi,0x30(%esi)
41f053:	e9 6b 2c ff ff       	jmp    0x411cc3
41f058:	8b 55 fc             	mov    -0x4(%ebp),%edx
41f05b:	8b cf                	mov    %edi,%ecx
41f05d:	53                   	push   %ebx
41f05e:	e8 3b 9e fe ff       	call   0x408e9e
41f063:	8d 4f 04             	lea    0x4(%edi),%ecx
41f066:	8d 51 02             	lea    0x2(%ecx),%edx
41f069:	66 8b 01             	mov    (%ecx),%ax
41f06c:	83 c1 02             	add    $0x2,%ecx
41f06f:	66 3b c3             	cmp    %bx,%ax
41f072:	75 f5                	jne    0x41f069
41f074:	2b ca                	sub    %edx,%ecx
41f076:	d1 f9                	sar    $1,%ecx
41f078:	8d 41 03             	lea    0x3(%ecx),%eax
41f07b:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
41f080:	72 0c                	jb     0x41f08e
41f082:	c7 05 a8 67 43 00 03 	movl   $0x3,0x4367a8
41f089:	00 00 00
41f08c:	eb 70                	jmp    0x41f0fe
41f08e:	83 f9 01             	cmp    $0x1,%ecx
41f091:	0f 84 e3 2c ff ff    	je     0x411d7a
41f097:	6a 5c                	push   $0x5c
41f099:	58                   	pop    %eax
41f09a:	66 89 44 4f 04       	mov    %ax,0x4(%edi,%ecx,2)
41f09f:	33 c0                	xor    %eax,%eax
41f0a1:	66 89 44 4f 06       	mov    %ax,0x6(%edi,%ecx,2)
41f0a6:	e9 cf 2c ff ff       	jmp    0x411d7a
41f0ab:	66 83 7e 02 3a       	cmpw   $0x3a,0x2(%esi)
41f0b0:	0f 85 83 2c ff ff    	jne    0x411d39
41f0b6:	0f b7 06             	movzwl (%esi),%eax
41f0b9:	8b cf                	mov    %edi,%ecx
41f0bb:	8b 55 fc             	mov    -0x4(%ebp),%edx
41f0be:	50                   	push   %eax