41ae09:	e8 a2 0d ff ff       	call   0x40bbb0
41ae0e:	e8 79 8c fe ff       	call   0x403a8c
41ae13:	5f                   	pop    %edi
41ae14:	5e                   	pop    %esi
41ae15:	5b                   	pop    %ebx
41ae16:	c3                   	ret
41ae17:	90                   	nop
41ae18:	53                   	push   %ebx
41ae19:	56                   	push   %esi
41ae1a:	57                   	push   %edi
41ae1b:	8b d9                	mov    %ecx,%ebx
41ae1d:	8b fa                	mov    %edx,%edi
41ae1f:	8b f0                	mov    %eax,%esi
41ae21:	85 db                	test   %ebx,%ebx
41ae23:	74 26                	je     0x41ae4b
41ae25:	8b d7                	mov    %edi,%edx
41ae27:	8b cb                	mov    %ebx,%ecx
41ae29:	8b c6                	mov    %esi,%eax
41ae2b:	8b 30                	mov    (%eax),%esi
41ae2d:	ff 56 10             	call   *0x10(%esi)
41ae30:	3b d8                	cmp    %eax,%ebx
41ae32:	74 17                	je     0x41ae4b
41ae34:	8b 0d e8 46 47 00    	mov    0x4746e8,%ecx
41ae3a:	b2 01                	mov    $0x1,%dl
41ae3c:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
41ae41:	e8 6a 0d ff ff       	call   0x40bbb0
41ae46:	e8 41 8c fe ff       	call   0x403a8c
41ae4b:	5f                   	pop    %edi
41ae4c:	5e                   	pop    %esi
41ae4d:	5b                   	pop    %ebx
41ae4e:	c3                   	ret
41ae4f:	90                   	nop
41ae50:	55                   	push   %ebp
41ae51:	8b ec                	mov    %esp,%ebp
41ae53:	83 c4 e8             	add    $0xffffffe8,%esp
41ae56:	53                   	push   %ebx
41ae57:	56                   	push   %esi
41ae58:	57                   	push   %edi
41ae59:	8b fa                	mov    %edx,%edi
41ae5b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ae5e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ae62:	75 1d                	jne    0x41ae81
41ae64:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41ae68:	75 17                	jne    0x41ae81
41ae6a:	6a 00                	push   $0x0
41ae6c:	6a 00                	push   $0x0
41ae6e:	8b c7                	mov    %edi,%eax
41ae70:	e8 5f fd ff ff       	call   0x41abd4
41ae75:	8b c7                	mov    %edi,%eax
41ae77:	8b 10                	mov    (%eax),%edx
41ae79:	ff 12                	call   *(%edx)
41ae7b:	89 45 08             	mov    %eax,0x8(%ebp)
41ae7e:	89 55 0c             	mov    %edx,0xc(%ebp)
41ae81:	8b 45 08             	mov    0x8(%ebp),%eax
41ae84:	89 45 f0             	mov    %eax,-0x10(%ebp)
41ae87:	8b 45 0c             	mov    0xc(%ebp),%eax
41ae8a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ae8d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ae91:	75 0b                	jne    0x41ae9e
41ae93:	81 7d 08 00 f0 00 00 	cmpl   $0xf000,0x8(%ebp)
41ae9a:	76 0d                	jbe    0x41aea9
41ae9c:	eb 02                	jmp    0x41aea0
41ae9e:	7e 09                	jle    0x41aea9
41aea0:	c7 45 ec 00 f0 00 00 	movl   $0xf000,-0x14(%ebp)
41aea7:	eb 06                	jmp    0x41aeaf
41aea9:	8b 45 08             	mov    0x8(%ebp),%eax
41aeac:	89 45 ec             	mov    %eax,-0x14(%ebp)
41aeaf:	8b 45 ec             	mov    -0x14(%ebp),%eax
41aeb2:	e8 3d 78 fe ff       	call   0x4026f4
41aeb7:	89 45 e8             	mov    %eax,-0x18(%ebp)
41aeba:	33 c0                	xor    %eax,%eax
41aebc:	55                   	push   %ebp
41aebd:	68 2c af 41 00       	push   $0x41af2c
41aec2:	64 ff 30             	push   %fs:(%eax)
41aec5:	64 89 20             	mov    %esp,%fs:(%eax)
41aec8:	eb 3d                	jmp    0x41af07
41aeca:	8b 45 ec             	mov    -0x14(%ebp),%eax
41aecd:	99                   	cltd
41aece:	3b 55 0c             	cmp    0xc(%ebp),%edx
41aed1:	75 07                	jne    0x41aeda
41aed3:	3b 45 08             	cmp    0x8(%ebp),%eax
41aed6:	73 09                	jae    0x41aee1
41aed8:	eb 02                	jmp    0x41aedc
41aeda:	7d 05                	jge    0x41aee1
41aedc:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41aedf:	eb 03                	jmp    0x41aee4
41aee1:	8b 5d 08             	mov    0x8(%ebp),%ebx
41aee4:	8b 75 e8             	mov    -0x18(%ebp),%esi
41aee7:	8b d6                	mov    %esi,%edx
41aee9:	8b cb                	mov    %ebx,%ecx
41aeeb:	8b c7                	mov    %edi,%eax
41aeed:	e8 ee fe ff ff       	call   0x41ade0
41aef2:	8b d6                	mov    %esi,%edx
41aef4:	8b cb                	mov    %ebx,%ecx
41aef6:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aef9:	e8 1a ff ff ff       	call   0x41ae18
41aefe:	8b c3                	mov    %ebx,%eax
41af00:	99                   	cltd
41af01:	29 45 08             	sub    %eax,0x8(%ebp)
41af04:	19 55 0c             	sbb    %edx,0xc(%ebp)
41af07:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41af0b:	75 bd                	jne    0x41aeca
41af0d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41af11:	75 b7                	jne    0x41aeca
41af13:	33 c0                	xor    %eax,%eax
41af15:	5a                   	pop    %edx
41af16:	59                   	pop    %ecx
41af17:	59                   	pop    %ecx
41af18:	64 89 10             	mov    %edx,%fs:(%eax)
41af1b:	68 33 af 41 00       	push   $0x41af33
41af20:	8b 55 ec             	mov    -0x14(%ebp),%edx
41af23:	8b 45 e8             	mov    -0x18(%ebp),%eax
41af26:	e8 e9 77 fe ff       	call   0x402714
41af2b:	c3                   	ret
41af2c:	e9 23 8b fe ff       	jmp    0x403a54
41af31:	eb ed                	jmp    0x41af20
41af33:	8b 45 f0             	mov    -0x10(%ebp),%eax
41af36:	8b 55 f4             	mov    -0xc(%ebp),%edx
41af39:	5f                   	pop    %edi
41af3a:	5e                   	pop    %esi
41af3b:	5b                   	pop    %ebx
41af3c:	8b e5                	mov    %ebp,%esp
41af3e:	5d                   	pop    %ebp
41af3f:	c2 08 00             	ret    $0x8
41af42:	8b c0                	mov    %eax,%eax
41af44:	55                   	push   %ebp
41af45:	8b ec                	mov    %esp,%ebp
41af47:	83 c4 f8             	add    $0xfffffff8,%esp
41af4a:	53                   	push   %ebx
41af4b:	8b da                	mov    %edx,%ebx
41af4d:	68 00 10 00 00       	push   $0x1000
41af52:	8b c8                	mov    %eax,%ecx
41af54:	b2 01                	mov    $0x1,%dl
41af56:	a1 c0 6b 41 00       	mov    0x416bc0,%eax
41af5b:	e8 68 06 00 00       	call   0x41b5c8
41af60:	89 45 f8             	mov    %eax,-0x8(%ebp)
41af63:	33 c0                	xor    %eax,%eax
41af65:	55                   	push   %ebp
41af66:	68 94 af 41 00       	push   $0x41af94
41af6b:	64 ff 30             	push   %fs:(%eax)
41af6e:	64 89 20             	mov    %esp,%fs:(%eax)
41af71:	8b d3                	mov    %ebx,%edx
41af73:	8b 45 f8             	mov    -0x8(%ebp),%eax
41af76:	e8 81 26 00 00       	call   0x41d5fc
41af7b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41af7e:	33 c0                	xor    %eax,%eax
41af80:	5a                   	pop    %edx
41af81:	59                   	pop    %ecx
41af82:	59                   	pop    %ecx
41af83:	64 89 10             	mov    %edx,%fs:(%eax)
41af86:	68 9b af 41 00       	push   $0x41af9b
41af8b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41af8e:	e8 2d 83 fe ff       	call   0x4032c0
41af93:	c3                   	ret
41af94:	e9 bb 8a fe ff       	jmp    0x403a54
41af99:	eb f0                	jmp    0x41af8b
41af9b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41af9e:	5b                   	pop    %ebx
41af9f:	59                   	pop    %ecx
41afa0:	59                   	pop    %ecx
41afa1:	5d                   	pop    %ebp
41afa2:	c3                   	ret
41afa3:	90                   	nop
41afa4:	53                   	push   %ebx
41afa5:	56                   	push   %esi
41afa6:	57                   	push   %edi
41afa7:	84 d2                	test   %dl,%dl
41afa9:	74 08                	je     0x41afb3
41afab:	83 c4 f0             	add    $0xfffffff0,%esp
41afae:	e8 71 86 fe ff       	call   0x403624
41afb3:	8b f1                	mov    %ecx,%esi
41afb5:	8b da                	mov    %edx,%ebx
41afb7:	8b f8                	mov    %eax,%edi
41afb9:	33 d2                	xor    %edx,%edx
41afbb:	8b c7                	mov    %edi,%eax
41afbd:	e8 ce 82 fe ff       	call   0x403290
41afc2:	89 77 04             	mov    %esi,0x4(%edi)
41afc5:	8b c7                	mov    %edi,%eax
41afc7:	84 db                	test   %bl,%bl
41afc9:	74 0f                	je     0x41afda
41afcb:	e8 ac 86 fe ff       	call   0x40367c
41afd0:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41afd7:	83 c4 0c             	add    $0xc,%esp
41afda:	8b c7                	mov    %edi,%eax
41afdc:	5f                   	pop    %edi
41afdd:	5e                   	pop    %esi
41afde:	5b                   	pop    %ebx
41afdf:	c3                   	ret
41afe0:	8b 40 04             	mov    0x4(%eax),%eax
41afe3:	e8 78 d6 fe ff       	call   0x408660
41afe8:	83 f8 ff             	cmp    $0xffffffff,%eax
41afeb:	75 02                	jne    0x41afef
41afed:	33 c0                	xor    %eax,%eax
41afef:	c3                   	ret
41aff0:	8b 40 04             	mov    0x4(%eax),%eax
41aff3:	e8 94 d6 fe ff       	call   0x40868c
41aff8:	83 f8 ff             	cmp    $0xffffffff,%eax
41affb:	75 02                	jne    0x41afff
41affd:	33 c0                	xor    %eax,%eax
41afff:	c3                   	ret
41b000:	55                   	push   %ebp
41b001:	8b ec                	mov    %esp,%ebp
41b003:	83 c4 f8             	add    $0xfffffff8,%esp
41b006:	ff 75 0c             	push   0xc(%ebp)
41b009:	ff 75 08             	push   0x8(%ebp)
41b00c:	83 e2 7f             	and    $0x7f,%edx
41b00f:	8b 40 04             	mov    0x4(%eax),%eax
41b012:	e8 a1 d6 fe ff       	call   0x4086b8
41b017:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b01a:	89 55 fc             	mov    %edx,-0x4(%ebp)
41b01d:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b020:	8b 55 fc             	mov    -0x4(%ebp),%edx
41b023:	59                   	pop    %ecx
41b024:	59                   	pop    %ecx
41b025:	5d                   	pop    %ebp
41b026:	c2 08 00             	ret    $0x8
41b029:	8d 40 00             	lea    0x0(%eax),%eax
41b02c:	53                   	push   %ebx
41b02d:	8b da                	mov    %edx,%ebx
41b02f:	8b c8                	mov    %eax,%ecx
41b031:	8b c3                	mov    %ebx,%eax
41b033:	99                   	cltd
41b034:	52                   	push   %edx
41b035:	50                   	push   %eax
41b036:	8b c1                	mov    %ecx,%eax
41b038:	8b 10                	mov    (%eax),%edx
41b03a:	ff 52 08             	call   *0x8(%edx)
41b03d:	5b                   	pop    %ebx
41b03e:	c3                   	ret
41b03f:	90                   	nop
41b040:	55                   	push   %ebp
41b041:	8b ec                	mov    %esp,%ebp
41b043:	53                   	push   %ebx
41b044:	8b d8                	mov    %eax,%ebx
41b046:	ff 75 0c             	push   0xc(%ebp)
41b049:	ff 75 08             	push   0x8(%ebp)
41b04c:	33 d2                	xor    %edx,%edx
41b04e:	8b c3                	mov    %ebx,%eax
41b050:	8b 08                	mov    (%eax),%ecx
41b052:	ff 51 18             	call   *0x18(%ecx)
41b055:	8b 43 04             	mov    0x4(%ebx),%eax
41b058:	50                   	push   %eax
41b059:	e8 e6 b3 fe ff       	call   0x406444
41b05e:	e8 b5 1f ff ff       	call   0x40d018
41b063:	5b                   	pop    %ebx
41b064:	5d                   	pop    %ebp
41b065:	c2 08 00             	ret    $0x8
41b068:	55                   	push   %ebp
41b069:	8b ec                	mov    %esp,%ebp
41b06b:	53                   	push   %ebx
41b06c:	56                   	push   %esi
41b06d:	84 d2                	test   %dl,%dl
41b06f:	74 08                	je     0x41b079
41b071:	83 c4 f0             	add    $0xfffffff0,%esp
41b074:	e8 ab 85 fe ff       	call   0x403624
41b079:	8b da                	mov    %edx,%ebx
41b07b:	8b f0                	mov    %eax,%esi
41b07d:	66 8b 45 08          	mov    0x8(%ebp),%ax
41b081:	50                   	push   %eax
41b082:	6a 00                	push   $0x0
41b084:	33 d2                	xor    %edx,%edx
41b086:	8b c6                	mov    %esi,%eax
41b088:	e8 1f 00 00 00       	call   0x41b0ac
41b08d:	8b c6                	mov    %esi,%eax
41b08f:	84 db                	test   %bl,%bl
41b091:	74 0f                	je     0x41b0a2
41b093:	e8 e4 85 fe ff       	call   0x40367c
41b098:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41b09f:	83 c4 0c             	add    $0xc,%esp
41b0a2:	8b c6                	mov    %esi,%eax
41b0a4:	5e                   	pop    %esi
41b0a5:	5b                   	pop    %ebx
41b0a6:	5d                   	pop    %ebp
41b0a7:	c2 04 00             	ret    $0x4
41b0aa:	8b c0                	mov    %eax,%eax
41b0ac:	55                   	push   %ebp
41b0ad:	8b ec                	mov    %esp,%ebp
41b0af:	83 c4 dc             	add    $0xffffffdc,%esp
41b0b2:	53                   	push   %ebx
41b0b3:	56                   	push   %esi
41b0b4:	57                   	push   %edi
41b0b5:	33 db                	xor    %ebx,%ebx
41b0b7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41b0ba:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41b0bd:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41b0c0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41b0c3:	84 d2                	test   %dl,%dl
41b0c5:	74 08                	je     0x41b0cf
41b0c7:	83 c4 f0             	add    $0xfffffff0,%esp
41b0ca:	e8 55 85 fe ff       	call   0x403624
41b0cf:	8b f1                	mov    %ecx,%esi
41b0d1:	88 55 ff             	mov    %dl,-0x1(%ebp)
41b0d4:	8b d8                	mov    %eax,%ebx
41b0d6:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b0d9:	33 c0                	xor    %eax,%eax
41b0db:	55                   	push   %ebp
41b0dc:	68 d5 b1 41 00       	push   $0x41b1d5
41b0e1:	64 ff 30             	push   %fs:(%eax)
41b0e4:	64 89 20             	mov    %esp,%fs:(%eax)
41b0e7:	66 81 ff ff ff       	cmp    $0xffff,%di
41b0ec:	75 69                	jne    0x41b157
41b0ee:	8b 55 08             	mov    0x8(%ebp),%edx
41b0f1:	8b c6                	mov    %esi,%eax
41b0f3:	e8 60 d5 fe ff       	call   0x408658
41b0f8:	8b c8                	mov    %eax,%ecx
41b0fa:	33 d2                	xor    %edx,%edx
41b0fc:	8b c3                	mov    %ebx,%eax
41b0fe:	e8 a1 fe ff ff       	call   0x41afa4
41b103:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41b107:	0f 8d ad 00 00 00    	jge    0x41b1ba
41b10d:	8d 55 e8             	lea    -0x18(%ebp),%edx
41b110:	8b c6                	mov    %esi,%eax
41b112:	e8 59 d7 fe ff       	call   0x408870
41b117:	8b 45 e8             	mov    -0x18(%ebp),%eax
41b11a:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b11d:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41b121:	e8 1e b2 fe ff       	call   0x406344
41b126:	8d 55 e4             	lea    -0x1c(%ebp),%edx
41b129:	e8 be 01 ff ff       	call   0x40b2ec
41b12e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b131:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b134:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41b138:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b13b:	50                   	push   %eax
41b13c:	6a 01                	push   $0x1
41b13e:	8b 0d 04 49 47 00    	mov    0x474904,%ecx
41b144:	b2 01                	mov    $0x1,%dl
41b146:	a1 3c 5b 41 00       	mov    0x415b3c,%eax
41b14b:	e8 9c 0a ff ff       	call   0x40bbec
41b150:	e8 37 89 fe ff       	call   0x403a8c
41b155:	eb 63                	jmp    0x41b1ba
41b157:	0f b7 d7             	movzwl %di,%edx
41b15a:	8b c6                	mov    %esi,%eax
41b15c:	e8 7b d4 fe ff       	call   0x4085dc
41b161:	8b c8                	mov    %eax,%ecx
41b163:	33 d2                	xor    %edx,%edx
41b165:	8b c3                	mov    %ebx,%eax
41b167:	e8 38 fe ff ff       	call   0x41afa4
41b16c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41b170:	7d 48                	jge    0x41b1ba
41b172:	8d 55 e0             	lea    -0x20(%ebp),%edx
41b175:	8b c6                	mov    %esi,%eax
41b177:	e8 f4 d6 fe ff       	call   0x408870
41b17c:	8b 45 e0             	mov    -0x20(%ebp),%eax
41b17f:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b182:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41b186:	e8 b9 b1 fe ff       	call   0x406344
41b18b:	8d 55 dc             	lea    -0x24(%ebp),%edx
41b18e:	e8 59 01 ff ff       	call   0x40b2ec
41b193:	8b 45 dc             	mov    -0x24(%ebp),%eax